GoodShift

.gs-page *, .gs-page *::before, .gs-page *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { –teal: #37857D; –teal-dark: #2A8A47; –teal-light: #D0EBE6; –bg: #E8F2EE; –card-bg: #F8FBFA; –text: #111111; –muted: #555555; –border: #C8DDD9; –white: #FEFEFE; } .gs-page { scroll-behavior: smooth; font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Helvetica, Arial, sans-serif; color: var(–text); background: var(–white); line-height: 1.6; } .gs-page .gs-nav { position: sticky; top: 0; z-index: 100; background: rgba(254,254,254,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(–border); padding: 0 24px; } .gs-page .nav-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 64px; } .gs-page .nav-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(–text); } .gs-page .nav-brand span { font-weight: 700; font-size: 1.1rem; letter-spacing: -0.3px; } .gs-page .nav-links { display: flex; align-items: center; gap: 28px; list-style: none; } .gs-page .nav-links a { text-decoration: none; color: var(–muted); font-size: 0.9rem; transition: color 0.2s; } .gs-page .nav-links a:hover { color: var(–teal); } .gs-page .nav-links .btn-nav { background: var(–teal); color: #fff; padding: 8px 18px; border-radius: 8px; font-weight: 600; font-size: 0.9rem; } .gs-page .nav-links .btn-nav:hover { background: #2d706a; color: #fff; } .gs-page .hero { background: linear-gradient(135deg, var(–teal) 0%, #2d706a 100%); color: #fff; padding: 96px 24px 80px; text-align: center; } .gs-page .hero-badge { display: inline-block; background: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.3); border-radius: 100px; padding: 5px 16px; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.5px; margin-bottom: 24px; text-transform: uppercase; } .gs-page .hero h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 800; letter-spacing: -1px; line-height: 1.15; max-width: 720px; margin: 0 auto 20px; color: #fff; } .gs-page .hero p { font-size: 1.15rem; opacity: 0.9; max-width: 560px; margin: 0 auto 36px; } .gs-page .hero-cta { display: inline-flex; align-items: center; gap: 12px; } .gs-page .btn-primary { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(–teal); padding: 14px 28px; border-radius: 12px; font-weight: 700; font-size: 1rem; text-decoration: none; transition: transform 0.15s, box-shadow 0.15s; box-shadow: 0 4px 20px rgba(0,0,0,0.15); } .gs-page .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.2); } .gs-page .btn-outline { display: inline-flex; align-items: center; border: 2px solid rgba(255,255,255,0.6); color: #fff; padding: 13px 24px; border-radius: 12px; font-weight: 600; font-size: 0.95rem; text-decoration: none; transition: background 0.15s; } .gs-page .btn-outline:hover { background: rgba(255,255,255,0.12); } .gs-page .hero-platforms { margin-top: 40px; font-size: 0.8rem; opacity: 0.7; } .gs-page .section { padding: 88px 24px; } .gs-page .section-inner { max-width: 1100px; margin: 0 auto; } .gs-page .section-label { display: inline-block; background: var(–teal-light); color: var(–teal); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 4px 12px; border-radius: 100px; margin-bottom: 12px; } .gs-page .section h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -0.5px; max-width: 640px; margin-bottom: 16px; color: var(–text); } .gs-page .section-desc { color: var(–muted); font-size: 1.05rem; max-width: 600px; margin-bottom: 56px; } .gs-page .how-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; } @media (max-width: 700px) { .gs-page .how-grid { grid-template-columns: 1fr; } } .gs-page .how-card { background: var(–card-bg); border: 1px solid var(–border); border-radius: 20px; padding: 36px; } .gs-page .how-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 24px; display: flex; align-items: center; gap: 10px; color: var(–text); } .gs-page .role-tag { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 3px 10px; border-radius: 100px; } .gs-page .tag-poster { background: #DBEAFE; color: #1D4ED8; } .gs-page .tag-worker { background: var(–teal-light); color: var(–teal); } .gs-page .how-steps { list-style: none; display: flex; flex-direction: column; gap: 18px; } .gs-page .how-steps li { display: flex; gap: 14px; align-items: flex-start; } .gs-page .step-num { min-width: 28px; height: 28px; background: var(–teal); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; flex-shrink: 0; } .gs-page .step-text strong { display: block; font-size: 0.95rem; color: var(–text); } .gs-page .step-text span { font-size: 0.85rem; color: var(–muted); } .gs-page .features-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; } .gs-page .feature-card { background: var(–card-bg); border: 1px solid var(–border); border-radius: 18px; padding: 28px; transition: box-shadow 0.2s, transform 0.2s; } .gs-page .feature-card:hover { box-shadow: 0 8px 32px rgba(55,133,125,0.12); transform: translateY(-3px); } .gs-page .feature-icon { width: 48px; height: 48px; background: var(–teal-light); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; } .gs-page .feature-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; color: var(–text); } .gs-page .feature-card p { font-size: 0.875rem; color: var(–muted); line-height: 1.6; } .gs-page .categories-bg { background: var(–bg); } .gs-page .categories-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; } .gs-page .cat-pill { background: var(–white); border: 1px solid var(–border); border-radius: 12px; padding: 14px 18px; display: flex; align-items: center; gap: 10px; font-size: 0.9rem; font-weight: 600; color: var(–text); } .gs-page .data-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; } .gs-page .data-table th { text-align: left; padding: 12px 16px; background: var(–teal-light); color: var(–teal); font-weight: 700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.5px; } .gs-page .data-table td { padding: 14px 16px; border-bottom: 1px solid var(–border); color: var(–muted); } .gs-page .data-table td:first-child { font-weight: 600; color: var(–text); white-space: nowrap; } .gs-page .privacy-box { background: linear-gradient(135deg, var(–teal-light), #E0F2ED); border: 1px solid var(–border); border-radius: 20px; padding: 40px; display: flex; gap: 24px; align-items: flex-start; margin-top: 48px; } .gs-page .privacy-icon { font-size: 2rem; flex-shrink: 0; } .gs-page .privacy-box h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; color: var(–text); } .gs-page .privacy-box p { color: var(–muted); font-size: 0.9rem; } .gs-page .privacy-box a { display: inline-block; margin-top: 14px; background: var(–teal); color: #fff; padding: 10px 20px; border-radius: 8px; font-weight: 600; font-size: 0.9rem; text-decoration: none; } .gs-page .download-section { background: linear-gradient(135deg, var(–teal) 0%, #2d706a 100%); color: #fff; text-align: center; padding: 88px 24px; } .gs-page .download-section h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 800; margin-bottom: 16px; color: #fff; } .gs-page .download-section p { opacity: 0.9; font-size: 1.05rem; margin-bottom: 36px; } .gs-page .store-badges { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; } .gs-page .store-badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,0.15); border: 1.5px solid rgba(255,255,255,0.35); border-radius: 12px; padding: 14px 24px; font-size: 0.95rem; font-weight: 600; text-decoration: none; color: #fff; } .gs-page .store-badge svg { width: 22px; height: 22px; fill: currentColor; } .gs-page .gs-footer { background: #0F1A19; color: rgba(255,255,255,0.65); padding: 56px 24px 32px; } .gs-page .footer-inner { max-width: 1100px; margin: 0 auto; } .gs-page .footer-top { display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; margin-bottom: 40px; } .gs-page .footer-brand { max-width: 280px; } .gs-page .footer-brand-name { color: #fff; font-weight: 700; font-size: 1.1rem; margin-bottom: 12px; } .gs-page .footer-brand p { font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.65); } .gs-page .footer-col h4 { color: #fff; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 16px; } .gs-page .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; } .gs-page .footer-col a { text-decoration: none; color: rgba(255,255,255,0.6); font-size: 0.875rem; } .gs-page .footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 28px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 0.8rem; color: rgba(255,255,255,0.65); } .gs-page .footer-bottom a { color: rgba(255,255,255,0.5); text-decoration: none; } @media (max-width: 600px) { .gs-page .hero-cta { flex-direction: column; align-items: center; } .gs-page .privacy-box { flex-direction: column; } .gs-page .footer-top { flex-direction: column; } } @media (max-width: 800px) { .gs-page .nav-links { display: none; } }
iOS App — Available Now

Work Made Simple.
Connections Made Easy.

GoodShift is the on-demand gig marketplace for Egypt. Post a shift and get it filled — or find flexible work in your city — all in one app.

📱 iOS 17+ · iPhone & iPad

One app. Two roles. Zero middlemen.

Whether you’re a business that needs reliable shift workers or a skilled individual looking for flexible income — GoodShift connects you directly.

Job Poster I need workers

  • 1
    Post a shiftFill in the job title, category, pay rate, location, schedule, and any requirements using our guided 6-step wizard.
  • 2
    Review applicantsReceive real-time applications. See each applicant’s profile, ratings, reviews, and completion rate before deciding.
  • 3
    Accept & chatAccept the best fit and coordinate directly via in-app messaging. No phone numbers shared unless you choose to.
  • 4
    Confirm & reviewMark the shift complete, confirm payment via the digital wallet, and leave a two-way review.

Service Provider I want to earn

  • 1
    Browse available shiftsDiscover jobs across 25+ categories filtered by location, pay, category, and date — no recruitment agency needed.
  • 2
    Apply in secondsSend an optional cover message or counter-offer price. Your profile and reputation speak for you.
  • 3
    Chat & confirmOnce accepted, chat with the job poster to confirm shift details. Get reminders before your shift starts.
  • 4
    Get paid & build reputationRequest completion once the work is done. Earnings go to your in-app wallet. Build your rating with every completed shift.

Everything you need to hire or earn

GoodShift is a complete two-sided platform — not just a job board.

🔄

Dual-Role Account

One account, two modes. Switch seamlessly between posting jobs and offering services without creating separate accounts.

💬

Real-Time Messaging

Firestore-powered in-app chat between job posters and workers. Conversations update instantly — no refresh needed.

🔔

Push Notifications

14+ notification types covering new applications, messages, shift reminders, completion requests, and payment updates.

💳

Digital Wallet

In-app wallet tracks earnings, top-ups, withdrawals, and platform fees in real time. Supports card, Instapay, Fawry, and mobile wallets.

Ratings & Reviews

Two-way 5-star reviews after every completed shift. Providers build verified reputations that are visible to all posters.

🛡️

Identity Verification

Optional KYC verification for workers adds a trust badge to your profile. Verification data is never shared publicly.

📋

Smart Application System

Workers can include cover messages and propose a counter-offer price. Posters see full applicant profiles before choosing.

🌐

Arabic & English

Full localization in English and Arabic with native right-to-left layout support for Arabic users.

Completion & Dispute Flow

Workers submit a completion request with notes and photos. Posters confirm or dispute — keeping both sides protected.

Shifts across every industry

GoodShift covers the gig roles that keep Egypt’s businesses running — from cafes to warehouses to events.

Food & Beverage
🛍️ Retail & Malls
📦 Logistics & Warehousing
🧹 Cleaning & Maintenance
Petrol & Automotive
🔒 Security & Crowds
🎉 Hospitality & Events
📦 Moving & Labour
🌿 Community & Outdoor

Transparent about what we collect and why

GoodShift, operated by Nethrope, only collects data that is necessary to run the marketplace safely and fairly.

Data TypeWhat We CollectWhy We Need It
IdentityFull name, national ID (NID), face selfieIdentity verification (KYC) to prevent fraud and protect all users.
ContactEmail address, mobile phone numberAccount authentication, shift notifications, and customer support.
Profile photoA photo you choose to uploadDisplayed on your public profile so posters and workers can identify each other.
LocationApproximate location while the app is in useTo show you nearby jobs or workers. Only accessed while the app is open.
Wallet & paymentsTransaction records within the GoodShift walletTracking earnings, withdrawals, top-ups, and platform fees.
Usage dataApp interactions, screens visited, feature usageProduct analytics (via Amplitude) to understand how the app is used.
DeviceDevice model, OS version, push token (FCM)Delivering push notifications reliably across your devices.
🔏

We do not sell your data.

Your personal data is never sold to third parties. It is shared only with Google Firebase (our infrastructure provider, under a formal data processing agreement) and with legal authorities if required by Egyptian law. Your national ID and face selfie are collected solely for identity verification — they are never shown publicly and are permanently deleted within 30 days if you close your account.

Read Full Privacy Policy →

Ready to get started?

Download GoodShift for free on the App Store. Available for iPhone and iPad running iOS 17 or later.

iOS 17+ required · Free to download