South Africa's food delivery market crossed an estimated R35 billion in gross merchandise value in 2024 and is projected to grow at 18–22% per year through 2028, driven by rising urban smartphone penetration (now exceeding 85% in metro areas), a permanent shift in consumer ordering behaviour following COVID-19, and rapid expansion by delivery platforms into township markets that were previously considered unserved. Uber Eats, Mr D Food (owned by Discovery), Checkers Sixty60 (grocery-first), Woolworths Dash, and OrderIn collectively process millions of orders per month across Johannesburg, Cape Town, Durban, and Pretoria — but the market is far from saturated, and the platforms that dominate today have structural limitations that create exploitable gaps for a well-built new entrant or a restaurant group that wants to reclaim its customer relationship and margin.
The core problem with listing on Uber Eats or Mr D is the economics: both platforms charge restaurant commission of 25–35% per order. For a restaurant operating on a food cost of 30% and a net margin of 10–15% before delivery, paying a 30% commission on a R150 order means the restaurant makes nothing — or loses money — on every delivered order while the platform captures the customer data and builds the brand relationship. A restaurant chain that processes 1,000 Uber Eats orders per week at R150 average order value is generating R150,000 in weekly delivery revenue of which R37,500–R52,500 goes to the platform — R1.95M to R2.73M per year in commission that funds the platform's growth rather than the restaurant's. A custom-built direct ordering platform recovers this commission, builds first-party customer data, and enables the restaurant to drive loyalty, re-marketing, and lifetime value in ways that Uber Eats structurally prevents.
There are three additional South Africa–specific challenges that no generic white-label food delivery software adequately addresses. First, load shedding: Eskom's scheduled power interruptions — which have run at Stage 2–6 for extended periods since 2022 — interrupt restaurant kitchen operations, disrupt driver navigation, and kill the mobile data connectivity that platform-dependent delivery operations require. A South Africa food delivery platform must be designed with load shedding resilience: offline order queuing so that orders placed during an outage are processed when power returns, restaurant-side operational status that updates automatically during scheduled loadshedding windows (from the EskomSePush API), and driver route caching so navigation does not fail when mobile data towers lose generator power. Second, township expansion: Uber Eats and Mr D concentrate on the formal economy suburbs of Johannesburg and Cape Town, leaving Soweto, Khayelitsha, Umlazi, and hundreds of other high-density township areas almost entirely unserved by digital food delivery. A platform with township-optimised UX — lean app data usage, support for feature phone USSD ordering, WhatsApp-first ordering flow, and integration with spaza shop operators as micro-fulfilment nodes — addresses a market of 15–20 million South Africans with significant unmet food delivery demand. Third, dietary and cultural requirements: South Africa's Muslim community (approximately 1.5 million), Jewish community, and rapidly growing vegan/vegetarian segment have specific menu filtering requirements — Halaal-certified, Kosher, plant-based, gluten-free — that require a configurable tag and certification verification system at the restaurant onboarding stage. Algosoft builds all three of these as first-class platform features, not afterthoughts.
The customer app is the revenue engine. Every UX decision — from how fast restaurants load to how clearly the estimated delivery time is displayed — directly impacts order conversion rate, average order value, and monthly return frequency.
The customer opens the app and immediately sees restaurants delivering to their current location — using GPS for automatic detection or manual address entry. The discovery feed is ranked by a configurable algorithm: proximity, restaurant rating, estimated delivery time, promotional placement (paid by restaurants for featured position), and personalised recommendations based on order history. Dietary and cultural filters — Halaal, Kosher, Vegetarian, Vegan, Gluten-Free — allow South African customers to immediately narrow the catalogue to restaurants that meet their requirements. Halaal restaurant listings display their certification body (MJC, NIHT, SANHA) and certificate number, giving Muslim customers the verification confidence they need before ordering. Real-time restaurant availability integrates with the EskomSePush API to automatically display a "Restaurant affected by load shedding" banner on restaurant listings during active outages in that suburb, preventing customers from ordering from a kitchen that cannot fulfil — one of the most common one-star review triggers in South African food delivery that Algosoft eliminates by design.
Each restaurant's menu is displayed with high-quality food photography (uploaded via the restaurant panel), item descriptions, pricing in ZAR, dietary tags, and portion size indicators. Item customisation handles the complexity that South African restaurant menus require: burger toppings (add guacamole, remove onions), pizza options (half-and-half toppings, crust style), combo selection (choose your side: chips, salad, or coleslaw), and special instructions text field. Cart management persists across sessions — a customer who adds items, closes the app, and reopens 4 hours later finds their cart intact. The checkout flow surfaces the current estimated delivery time (calculated from restaurant prep time + current driver availability + routing distance), the delivery fee (calculated based on distance from restaurant to delivery address with configurable distance tiers), any applicable surge pricing disclosure (higher delivery fee during peak hours or low driver supply), and any automatically-applied promotions or coupons. Scheduled orders allow customers to place an order now for delivery at a specific time — useful for office lunch deliveries, pre-planned family dinners, and catering orders from restaurants that need advance preparation notice.
After payment confirmation, the customer's order status progresses through visible stages on a real-time map screen: Order Received → Restaurant Confirmed → Preparing → Driver Assigned → Picked Up → On the Way → Delivered. A live map shows the driver's current location updating every 15 seconds, the route to the delivery address, and an ETA countdown that recalculates dynamically based on the driver's actual progress — not a static estimate made at order time. Push notifications and WhatsApp messages fire at each stage transition — South African users have high WhatsApp open rates (98%+) compared to email (22%) or push (63%), making WhatsApp the primary communication channel for order status updates in this market. The in-app chat allows the customer to message the driver directly — for gate access instructions, building entry codes, or alternative delivery instructions — without the customer needing to call an unfamiliar number. Contact-free delivery mode (enabled by default, toggle off for assisted delivery) records a photo of the food left at the door as delivery proof.
The loyalty engine rewards every completed order with points — configurable by platform operator: 1 point per R10 spent, redeemable for R10 delivery credit at 100 points. Points balances are displayed prominently on the app home screen and in the checkout flow, creating a habitual "check my points" behaviour that increases return visit frequency. After every delivered order, the customer receives a post-delivery prompt to rate the restaurant (1–5 stars, food quality, packaging, accuracy) and the driver (1–5 stars, speed, professionalism, communication) — both visible to the respective parties and aggregated into public-facing ratings on restaurant listings and driver scoring in the admin dashboard. Re-order with one tap — the order history screen surfaces the customer's most recent order from each restaurant with a single-tap re-order button that pre-populates the exact same items into the cart for confirmation — reducing the time-to-order for repeat customers to under 10 seconds. South African consumers who re-order the same meal from the same restaurant have significantly higher lifetime value than first-time experimenters; the re-order feature is the primary tool for converting trial customers to loyal weekly users.
The restaurant panel determines whether your restaurant partners stay on the platform or abandon it. Every minute a restaurant spends on manual order management is a minute they are evaluating whether Uber Eats is less work.
Incoming orders appear on the restaurant's tablet or monitor in real time — a loud audio alert and full-screen pop-up ensure no order is missed even in a noisy kitchen environment. The restaurant confirms each order (with one tap for standard orders or with a prep-time adjustment for complex orders that need more than the default preparation time). The Kitchen Display System (KDS) shows orders in preparation priority sequence: confirmed, being prepared, ready for pickup — with a countdown timer for each order based on the confirmed preparation time and the driver's current ETA. Orders approaching the driver's estimated arrival time but still "being prepared" are highlighted in amber; overdue orders flash red — giving the kitchen manager instant visual queue management without manual tracking. Order rejection with reason code (item out of stock, kitchen at capacity, restaurant temporarily closed) sends immediate notification to the customer with automatic refund initiation — managed entirely through the panel without the restaurant needing to phone anyone. Load shedding schedule integration allows restaurants to pre-configure their load shedding availability: "During Stage 4, close orders from 18:00 on Mon/Wed/Fri" — the platform automatically updates the restaurant's availability status before the outage begins, not during it.
The restaurant panel's menu builder allows any restaurant manager — no technical knowledge required — to create, edit, and organise their full digital menu with categories, subcategories, items, variants, and customisation options. Item availability toggling is the most frequently used feature: a restaurant that runs out of a specific item (today's fish special, the last croissant) taps one button to mark it unavailable — the item is immediately greyed out on the customer app with "Currently Unavailable" rather than allowing customers to order it and triggering a frustrating rejection. Photo upload for each item (with automatic compression and CDN delivery through Cloudflare) gives restaurants a self-service way to improve their visual catalogue without requiring a professional photographer. Time-based menu switching automatically activates the correct menu for the current time: breakfast menu until 11:00, lunch menu 11:00–15:00, dinner menu 15:00 onwards — preventing customers from ordering a dinner item at 9am. Pricing and promotion management: restaurants can create their own item-level discounts, meal deal bundles (two meals + drink for R180), and limited-time offers that appear with a countdown timer on the customer app.
Restaurant partners see their financial performance in real time: today's orders, today's revenue, average order value, most-popular items by quantity and revenue contribution, peak ordering hours by day of week, customer return rate, and average delivery rating. Revenue settlement reports show the gross order value, platform commission deducted, net payment due, and payment status — settlement can be configured daily, weekly, or twice-monthly into the restaurant's business bank account via direct EFT or PayFast settlement. Comparative analytics show this week vs last week, this month vs last month — giving restaurant managers quantifiable data to evaluate whether a new menu item, a price change, or a promotional campaign improved or worsened their delivery performance. For restaurant groups with multiple branches (Steers, Debonairs, Mugg & Bean, Panarottis franchisees), the multi-branch dashboard aggregates performance across all locations with the ability to drill down to any individual branch — the same view available to franchisors monitoring franchisee delivery performance.
A restaurant may have multiple staff members who interact with the platform: the owner reviews financials, the manager confirms orders, the kitchen staff views the KDS, and the cashier processes in-store collections. The panel's role-based access control creates separate login credentials for each staff role with the exact permissions that role requires — the cashier cannot view revenue reports; the kitchen display login shows only the KDS and nothing else. This prevents the most common security issue in restaurant operations platforms — a staff member accessing financial data or modifying menu prices outside their role. For in-store self-collection orders (customers who order on the app but collect themselves), the panel generates a 4-digit collection code that the customer shows at the counter — the cashier enters the code to confirm collection, closing the order and releasing the driver assignment, without any phone communication needed between the customer and the restaurant.
South Africa's delivery driver ecosystem is primarily motorcycle and car-based, covers long urban distances, and operates in areas ranging from high-security suburban estates to dense township streets without formal addressing. The driver app must handle all of it.
Online/Offline Toggle & Zone Management: Drivers go online when available to receive deliveries and offline when they need a break, ending their shift, or during load shedding when navigation data connectivity is unreliable. The platform's zone management system defines delivery zones per city — a driver registered in Rondebosch only receives orders within the Cape Peninsula zone, preventing misrouted assignments to Bellville or Somerset West that would extend delivery times beyond the customer's expectation. Drivers can expand their active zone during off-peak hours if they choose to cover wider areas for more order volume.
Order Acceptance & Navigation: When the algorithm assigns an order, the driver receives a notification showing the restaurant pickup location, the customer delivery address, the estimated total distance, and the estimated earnings for that delivery — all before accepting. The driver has a configurable acceptance window (typically 15–30 seconds) to accept or decline; declined orders are reassigned to the next available driver. On acceptance, the app launches Google Maps (or Waze — configurable in driver settings) with the restaurant as the first waypoint and the customer as the second, providing turn-by-turn navigation through South Africa's road network. Complex delivery address handling — estate gate codes, apartment block names, business park gate instructions — is managed through a structured notes field on the customer's delivery address that is surfaced to the driver immediately on assignment.
Multi-Order Batching: The dispatch algorithm supports batching — assigning two orders from the same restaurant (or nearby restaurants) to a single driver for simultaneous delivery — when the orders are going to customers in the same direction. Batching increases driver earnings per hour and reduces platform delivery cost per order, but requires careful sequencing (restaurant A pickup → restaurant B pickup → customer A delivery → customer B delivery, or restaurant A pickup → customer A delivery → restaurant B pickup → customer B delivery, depending on distances). The driver app manages the batched sequence with clear waypoint ordering and separate payment recording for each order.
Earnings Dashboard & Payout: The driver app's earnings tab shows today's completed deliveries, total earnings, bonuses earned (peak-hour bonus, high-rating bonus, distance bonus), and pending payout. Daily payouts via instant EFT to the driver's bank account or mobile money transfer (for drivers without a formal bank account — important for township-based driver partners). Leaderboard and gamification: top-performing drivers by weekly delivery count, rating, and acceptance rate are recognised in the app, with tier-based benefits (Gold Driver status = priority order assignment during peak hours, Diamond Driver = higher per-delivery rate) that incentivise consistent high performance without additional management overhead.
The admin dashboard is the platform operator's command centre: real-time map of all active orders with driver locations, restaurant statuses, and delivery ETAs; live revenue metrics (today's GMV, completed orders, average order value, commission earned); driver availability heatmap by zone (showing driver supply vs order demand density by suburb, enabling proactive driver recruitment into under-supplied zones); and exception queue (orders delayed beyond 60 minutes, restaurants with more than 3 complaints in 24 hours, drivers below 3.5 rating). Restaurant management — onboard new restaurants, approve or reject applications, manage commission rates per restaurant, temporarily suspend restaurants for compliance violations, and view all historical orders per restaurant. Driver management — approve driver applications (identity document verification, vehicle registration check, background check status), view driver performance history, issue warnings, and adjust driver zone assignments. Customer support tools — view any customer's complete order history, initiate refunds, issue credit vouchers, and flag accounts for review. Financial reporting — daily, weekly, and monthly P&L showing platform GMV, commission revenue, delivery fee revenue, promotional discount cost, driver payout cost, and net platform margin. Exportable to Excel for accounting team and SARS VAT reporting.
The AI chatbot handles the top 15 customer support queries that collectively account for 80% of all inbound support contacts on a food delivery platform, without human agent involvement: order status check (bot queries live order data and responds with current status and ETA); refund request (bot captures reason, checks order age, and either auto-approves within refund policy or escalates to human review with pre-populated case details); driver contact (bot surfaces the in-app chat link rather than revealing the driver's personal phone number); wrong item received (bot captures photo evidence, creates a complaint record, auto-applies store credit within policy, and routes the complaint to the restaurant); restaurant not picking up (bot checks the restaurant's status, dispatches an automated alert to the restaurant panel, and notifies the customer of expected response time). WhatsApp chatbot integration — the majority of South African users prefer WhatsApp over in-app chat for support; the AI chatbot operates identically on WhatsApp Business API, so customers can message your platform's WhatsApp number and receive the same automated responses. Escalation to human triggers when the chatbot cannot resolve within 2 exchanges, with the full conversation context handed to the human agent so the customer does not repeat themselves.
The GPS tracking architecture powers the customer's live order map, the driver's navigation, the admin's operational dashboard, and the restaurant's driver ETA display — four simultaneous consumers of the same real-time positioning data. The driver app transmits GPS coordinates via WebSocket connection (persistent, low-latency, bandwidth-efficient) to the platform's tracking server every 8 seconds while a delivery is active. Coordinates are processed through a map-matching algorithm that snaps the GPS point to the nearest road (correcting for GPS inaccuracy in urban canyons like Sandton City or Cape Town's CBD) before broadcasting to all connected clients. ETA calculation uses Google Maps Distance Matrix API with live traffic conditions — Cape Town's N1 motorway at 17:30 on a Friday has very different travel time than at 11:00 on a Tuesday, and static distance-based ETA estimation produces consistently wrong arrival times that damage customer trust. The tracking system caches the last known position locally in the driver app during brief connectivity drops, so the customer map continues showing smooth movement rather than a frozen position during the 30–45 second data connectivity gaps that occur in South African townships and highway tunnels.
South Africa has one of the most diverse payment method landscapes in Africa, and a platform that does not support all primary payment rails will lose orders to competitors that do. PayFast — South Africa's dominant payment gateway — accepts Visa, Mastercard, American Express, Masterpass, SnapScan (QR code), Zapper (QR code), Mobicred (buy-now-pay-later), SCode (Capitec Pay), and instant EFT from all major South African banks. Ozow (formerly i-Pay) provides an additional instant EFT channel that South African consumers trust and prefer for larger order values. SnapScan integration enables in-app QR code payment — a customer who prefers to pay by scanning rather than entering card details can complete payment in two taps. Card tokenisation stores the customer's preferred payment method securely using PCI-DSS Level 1 compliant tokenisation (card number never touches the platform's servers) — the "Pay with saved card" option that reduces checkout time from 45 seconds to 3 seconds and measurably increases checkout completion rates. Wallet balance — platform credit earned through refunds, referral bonuses, or promotional top-ups is stored in the customer's in-app wallet and automatically applied at checkout. Split payment — pay R50 from wallet credit and the remainder from card — handles partial wallet balances without friction.
The order management engine is the operational heart of the platform — assigning each incoming order to the optimal available driver, managing the queue when demand outstrips supply, and recovering gracefully from exceptions (restaurant delays, driver cancellations, payment failures). Driver assignment algorithm weights proximity (nearest driver wins, all else equal), driver rating (minimum 4.0 to receive assignments), acceptance rate (drivers who frequently decline reduce their assignment priority), and current batch load (a driver already carrying one order is not assigned a second unless batching criteria are met). Auto-reassignment fires when a driver does not accept within the configured window, when a driver cancels after acceptance, or when GPS telemetry indicates the driver has not moved toward the restaurant within 3 minutes of acceptance — preventing the silent delivery failure where an assigned driver never shows. Demand forecasting uses historical order patterns (Friday evenings in Sandton consistently spike 3.5× above Monday morning baseline) to pre-position drivers — the platform pushes an "earn a R20 bonus for being online in Sandton from 17:00–20:00 tonight" notification to off-duty drivers near the predicted demand area, building supply before the demand peak arrives.
The ratings system collects, displays, and acts on feedback from customers after every delivery — creating a self-reinforcing quality loop where strong restaurants and drivers grow their visibility and volume, while underperformers face intervention before they damage the platform's reputation. Restaurant ratings aggregate across three dimensions: overall score (1–5 stars), food quality (accuracy, temperature, presentation), and delivery experience (time, packaging, communication). Driver ratings aggregate: speed, professionalism, and food condition on arrival. Review moderation in the admin dashboard flags reviews that appear to be fake (multiple 1-star reviews from accounts created in the same hour), abusive (profanity filter), or policy-violating (competitor references, personal information). Restaurant response — restaurants can publicly reply to reviews through their panel, demonstrating responsiveness to customer feedback, which correlates with higher conversion rates from prospective customers reading the review feed. Automated quality alerts notify the platform admin when a restaurant's rating drops below 3.8 for 7 consecutive days (trigger for partnership review) or when a driver's rating falls below 3.5 (trigger for coaching or deactivation process).
The promotions engine runs every marketing activation that drives order frequency, new user acquisition, and average order value growth. Discount codes — percentage off (20% off your first order), fixed amount off (R30 off orders over R200), free delivery (no delivery fee on orders from a specific restaurant or category) — are created in the admin panel with configurable parameters: usage limit per customer, total usage limit, minimum order value, expiry date, applicable restaurants or categories, and new-user-only vs all-users scope. Restaurant-funded promotions allow restaurants to fund their own discounts — a restaurant offers R25 off every order above R150, the promotional cost debited from the restaurant's settlement, not the platform. Flash sales — time-limited offers visible on the app's home screen for 2–4 hours — create urgency and spike order volume on typically slow days (Tuesday afternoons, Sunday mornings). Referral programme: existing customers share a unique referral link; when a new customer completes their first order through the link, both the referrer and the new customer receive R50 platform credit — a customer acquisition cost of R100 per new user, significantly cheaper than paid digital advertising in South Africa's competitive food delivery market. Push notification campaigns: the admin panel's campaign builder lets the team send targeted push notifications — "Restaurants near you are running lunch specials until 14:00" sent to users in Sandton who ordered between 12:00–14:00 in the past 30 days.
A South African food delivery platform that starts in Johannesburg and succeeds must be able to expand to Cape Town, Durban, Pretoria, Port Elizabeth, Bloemfontein, and East London without rebuilding the platform. The multi-city architecture manages each city as an independent operational zone with its own restaurant catalogue, driver pool, delivery zones (suburb-level polygons), pricing configuration (delivery fee structure, minimum order value, surge pricing thresholds), and operational settings — while sharing a unified platform backend, customer database, and admin dashboard. City launch workflow: adding a new city requires only drawing the delivery zone polygons on a map, configuring the zone-specific pricing, and onboarding the city's first restaurant partners and driver fleet — all done through the admin panel without touching code. Township zone expansion: the zone system supports high-density low-income areas with configurable pricing overrides — lower minimum order value (R80 vs R120 in suburbs), lower delivery fee (R15 flat vs distance-based), and longer maximum delivery radius — making the economics work for township markets while maintaining profitability. Cross-city operations for South Africans who travel: a Cape Town resident visiting Johannesburg sees Johannesburg restaurants when the app detects their location in Joburg, without requiring a city selection step.
Tell us your target city, restaurant vertical (QSR, fine dining, grocery, cloud kitchen), expected order volume, and launch timeline. We deliver a detailed module scope, POPIA compliance plan, ZAR-denominated cost estimate, and project timeline within 48 hours.
Flutter (Dart) — single codebase for Android and iOS with native performance. Android-optimised builds for the Samsung Galaxy A-series and Huawei devices dominant in South Africa. iOS builds for the iPhone-heavy Cape Town and Sandton market. App size under 20MB for fast install on all data plans. Google Maps SDK for navigation. WebSocket GPS tracking. Offline order queue for load shedding resilience.
Node.js (Fastify) for high-concurrency order and notification APIs — handles 5,000+ concurrent order events at peak. Python (FastAPI) for AI microservices — demand forecasting, chatbot NLP, driver dispatch optimisation. PostgreSQL with PostGIS for geospatial queries (nearest driver, delivery zone polygon checks). MongoDB for unstructured data (chat logs, review text). Redis for session cache, OTP storage, real-time order status, and WebSocket state. RabbitMQ for async job queues — WhatsApp notifications, payout triggers, report generation.
AWS af-south-1 (Cape Town region) — lowest latency to South African users, data residency for POPIA compliance. ECS Fargate auto-scaling containers. CloudFront CDN via Cloudflare — food photography and app assets delivered from edge node closest to South African users. RDS Multi-AZ PostgreSQL for 99.99% database uptime. GitHub Actions CI/CD with automated testing on every pull request. Datadog APM for real-time platform monitoring and sub-30-second incident detection.
PayFast — Visa/Mastercard/Amex, SnapScan, Zapper, Mobicred, Capitec Pay, instant EFT from all SA banks. Ozow — additional instant EFT channel for high-value orders. Peach Payments — as a payment gateway alternative with card tokenisation. All gateways use server-side tokenisation — card data never stored on platform servers. PCI-DSS SAQ A compliance. SARS VAT invoice generation on every transaction (15% VAT line item, VAT number on invoice).
WhatsApp Business API — order status updates, promotional messages, AI chatbot (South Africa's #1 messaging platform). Firebase FCM — Android and iOS push notifications. Africa's Talking — SMS fallback when push fails during load shedding. BulkSMS.co.za — South Africa local SMS gateway at competitive ZAR rates. SendGrid — transactional email (order confirmation, invoice, POPIA consent). EskomSePush API — real-time load shedding schedule integration for restaurant availability automation.
OpenAI GPT-4o API for AI chatbot NLP — natural language understanding of "where is my order" and "I want a refund" in South African English colloquialisms. Python scikit-learn for demand forecasting model (trained on historical orders by suburb, day, time). Google Maps Distance Matrix API — live traffic-aware ETA calculation. Metabase — embedded analytics in restaurant panel (no-code chart builder for restaurant owners). Segment — customer event tracking for A/B testing conversion funnels.
All prices include design, development, QA, and launch support. Payment gateway setup fees, App Store developer accounts, and WhatsApp Business API approval are separate third-party costs. Fixed-price milestone proposals delivered within 48 hours.
Tier 01
MVP / Single City
R475K – R1.15M
($25,000 – $60,000 USD)
Ideal for a single restaurant group launching its own branded delivery app, or an entrepreneur entering one city (Johannesburg, Cape Town, or Durban) with a validated restaurant partner list. Proves order economics and customer retention before investing in the full multi-city platform.
Tier 02
Standard Platform
R1.25M – R2.85M
($65,000 – $150,000 USD)
The full consumer-facing equivalent of Mr D Food — all daily-use features for a marketplace serving South African consumers with iOS and Android apps, all major payment methods, AI chatbot support, and multi-city expansion capability from day one.
Tier 03
Full Marketplace
R3M – R6M
($160,000 – $315,000 USD)
For an investor-backed marketplace launching nationally across all 9 South African provinces with grocery delivery, cloud kitchen operations management, a restaurant self-service advertising platform, and full POS integrations (Pilot POS, Lightspeed, iKhokha) for seamless restaurant partner onboarding.
Tier 04
Enterprise Scale
R7M+
($370,000+ USD)
For a listed company, major retailer, or well-funded group (food retail group, QSR franchise network, bank-backed fintech with food delivery vertical) building South Africa's next Uber Eats challenger with proprietary technology and a pan-African expansion pathway.
Phase 1
Discovery & Design
Weeks 1 – 4Business model finalisation (commission structure, delivery fee model, driver pay model), competitive positioning vs Uber Eats/Mr D in target city, initial restaurant partner list confirmation, PayFast merchant account and Ozow application setup, WhatsApp Business API application submission (Meta approval takes 2–4 weeks — start immediately), UX wireframes for all three apps and web panels, database schema, API architecture, POPIA compliance documentation (Information Officer appointment, processing activity register), EskomSePush API integration scope, and App Store developer account registration (Apple Developer Program and Google Play Console).
Phase 2
Core Development
Weeks 5 – 22Parallel streams: (1) Flutter customer app — restaurant discovery, menu, cart, checkout, PayFast payment, order tracking, loyalty; (2) Flutter driver app — order accept/reject, GPS tracking, navigation, POD; (3) React.js restaurant panel — order management, KDS, menu builder, analytics; (4) Backend APIs — order engine, dispatch algorithm, notification service, payment webhooks; (5) Admin dashboard; (6) WebSocket GPS tracking infrastructure; (7) AI chatbot development and WhatsApp Business API integration (once Meta approves the account). Load shedding resilience features (offline queue, EskomSePush integration) built into core — not added later.
Phase 3
QA & Compliance
Weeks 23 – 30End-to-end order flow testing across all three apps simultaneously (place order on customer app → receive on restaurant panel → accept on driver app → deliver → POD captured → review prompted → settlement calculated). PayFast and Ozow production payment testing with real ZAR transactions. Load shedding simulation testing (cut connectivity mid-order, confirm graceful recovery). GPS tracking accuracy validation in Johannesburg CBD and Cape Town (where building reflections create GPS drift). POPIA compliance audit. Google Play and Apple App Store submission preparation. Security penetration testing. Restaurant panel usability testing with real SA restaurant staff.
Phase 4
Soft Launch & Scale
Weeks 31+Soft launch to 5–15 restaurant partners and 20–50 beta drivers in one suburb or neighbourhood (Melrose Arch in Joburg, Sea Point in Cape Town, or Umhlanga in Durban are ideal — high order density, affluent customers, good driver supply). 30-day operational data collection: order conversion rate, average delivery time, driver acceptance rate, customer rating distribution. Issues identified in soft launch resolved before city-wide launch. Public launch with PR push, restaurant partner social media campaign, first 500 customer referral incentive. Post-launch: bi-weekly sprint releases for feature iteration, 24/7 infrastructure monitoring with 30-minute incident SLA.
15–25% of every order's food value (lower than Uber Eats / Mr D's 25–35%, your key competitive advantage for restaurant acquisition). At 1,000 daily orders averaging R145 food value, a 20% commission generates R29,000 daily / R870,000 monthly in gross commission revenue before driver payout costs.
R15–R35 delivery fee per order (charged to the customer, net of driver payout). At 1,000 daily orders with R12 average net delivery margin after driver cost, delivery fee revenue adds R12,000 daily / R360,000 monthly — a contribution margin that improves as driver density increases and route efficiency improves.
Monthly SaaS fee of R499–R1,999/month for restaurant partners (covers platform access, analytics, menu management, promotional tools). At 200 restaurant partners paying R900/month average, subscription revenue adds R180,000 monthly — a recurring revenue stream independent of order volume that improves platform valuation multiples.
Restaurants pay R2,500–R15,000/month for promoted placement on the app home screen, category top position, and push notification campaign inclusion. At 30 restaurants purchasing promoted placements at R6,000/month average, advertising revenue contributes R180,000 monthly at near-100% margin — no variable cost attached.
R69–R149/month customer subscription offering unlimited free delivery, exclusive discounts, and priority support — similar to Uber One or Mr D's subscription product. At 5,000 subscribers paying R99/month, subscription revenue adds R495,000 monthly while increasing subscriber order frequency by 40% vs non-subscribers (proven across all major delivery platforms).
Dynamic delivery fee multiplier during peak hours (Friday 17:00–20:00, Saturday 18:00–22:00, public holiday lunch) or low driver supply conditions. A 1.5× surge on the base R20 delivery fee generates an additional R10 per delivery during peak — at 400 orders during peak window, surge adds R4,000 per peak event, R48,000–R96,000 monthly across all peak windows.
Timeline ranges from 12–18 weeks for a Tier 1 MVP (Android customer app, restaurant panel, driver app, PayFast payments, basic GPS tracking, admin dashboard) to 52–80 weeks for a full enterprise-scale platform with iOS apps, AI demand forecasting, grocery delivery, franchise management, and pan-African expansion capability. A standard Tier 2 full-feature platform (customer iOS and Android, restaurant web panel, driver app, all SA payment gateways, AI chatbot, ratings, promotions, multi-city) takes 20–32 weeks. Key items to start in parallel with development: PayFast merchant account setup (1–2 weeks), Ozow account application (1–2 weeks), WhatsApp Business API verification through Meta (2–4 weeks — this is often the longest external dependency), Google Play Console and Apple Developer Program registration (1–3 days each), and restaurant partner onboarding calls (ongoing). Our discovery phase in weeks 1–4 produces a detailed milestone plan with dates and dependencies specific to your project.
Development costs range from R475,000 ($25,000 USD) for an MVP single-city Android platform to R7 million+ ($370,000+ USD) for a full enterprise-scale national marketplace. The main cost drivers are: number of apps (Android-only vs Android + iOS doubles mobile development cost); payment gateway depth (PayFast only vs PayFast + Ozow + SnapScan + card tokenisation + wallet adds 15–25%); AI features (chatbot, demand forecasting, dispatch optimisation are specialist engineering tasks); multi-city configuration; and third-party integrations (POS systems, EskomSePush, ERP). We provide fixed-price milestone contracts — not time-and-materials billing — so your total project cost is locked before development begins. A detailed scope and cost breakdown is provided free within 48 hours of your initial consultation.
Load shedding resilience is built into the platform architecture at three levels. Restaurant level: Integration with the EskomSePush API feeds real-time loadshedding schedules into the platform. Restaurant partners configure their kitchen's load shedding response (generator-equipped restaurants stay open; non-generator restaurants close delivery orders 30 minutes before a scheduled outage starts). The app automatically updates each restaurant's availability status before the outage begins — not during it — preventing customers from placing orders to a restaurant that will go dark in 20 minutes. Customer app level: The customer app caches the most recently loaded restaurant catalogue, menu data, and cart state locally. During a brief load shedding window that kills the customer's WiFi but not their mobile data, the app degrades gracefully — cached menus are still browsable, and orders are submitted once connectivity is confirmed, preventing double-order submission. Driver app level: GPS coordinates are logged to local device storage and synced in batches when connectivity resumes. Navigation route is cached on the driver's device for the current delivery — the driver can continue navigating offline if mobile data drops during an outage. SMS fallback (via Africa's Talking) fires for order notifications when push notification delivery fails during outages that affect base station power.
At minimum, a South African food delivery app should support: Visa and Mastercard (via PayFast or Peach Payments — covers the majority of banked South Africans); Instant EFT via Ozow or PayFast's EFT option (popular for higher order values where customers prefer not to enter card details); SnapScan (QR code payment with high adoption in Western Cape and among 25–45 demographic); Capitec Pay (formerly SCode — critical for the 22 million Capitec customers who prefer to pay directly from the Capitec app); and in-app wallet (for refunds, referral credits, and promotional top-ups). Optional but recommended: Mobicred and PayJustNow for buy-now-pay-later on larger orders (catering, group meals); Zapper as a second QR code option. SARS VAT compliance requires a valid tax invoice with 15% VAT broken out on every order confirmation — the platform generates this automatically. All card data must be handled via PCI-DSS Level 1 certified tokenisation — cards are never stored on your platform's servers, only as tokens with the payment processor.
The Protection of Personal Information Act (POPIA) requires every South African food delivery platform to meet eight conditions for lawful processing of personal information. The most operationally relevant are: Accountability — you must appoint an Information Officer registered with the Information Regulator (registration is free, done online); Purpose specification — you may only collect personal data (name, phone, address, order history) for the specific purpose disclosed at collection (delivery fulfillment, account management) and may not use it for undisclosed purposes like selling to third parties; Consent for marketing — push notification promotional messages and email marketing require explicit opt-in from the customer, not implied consent from account creation; Security safeguards — reasonable technical and organisational measures must protect personal data (encryption at rest, access controls, audit logs); Breach notification — any data breach affecting customers' personal information must be reported to the Information Regulator and affected data subjects within a reasonable period. Our platform implements all POPIA requirements by design: consent capture at registration, opt-in/opt-out controls for marketing communications, data retention schedules with automatic deletion of inactive accounts, a privacy dashboard where customers can download or delete their data, and breach notification workflows in the admin panel. The Consumer Protection Act 68 of 2008 additionally governs refund rights and promotional terms — our returns and promotions modules are designed to comply.
The platform's commission model is fully configurable per restaurant. Standard configuration: the platform charges the restaurant a percentage of the food subtotal (before delivery fee) on every completed order — typically 15–25%. This commission is deducted at settlement, not invoiced separately. Restaurant settlement can be configured as daily, twice-weekly, or weekly: the platform calculates gross order value from completed orders in the settlement period, deducts the commission percentage, and initiates an EFT to the restaurant's linked South African bank account via PayFast's split payment feature or direct bank transfer. Each settlement is accompanied by a detailed statement (order-by-order breakdown, commission line item, net payment) generated as a PDF from the restaurant panel — this statement serves as the restaurant's record for VAT input claims. Restaurants trading above R1 million annually are VAT registered; the platform generates VAT-compliant tax invoices for the commission charged (15% VAT on commission, with your VAT registration number) that restaurants use as input tax credits. The commission rate for each restaurant is negotiated during onboarding and stored in the admin panel — you can offer lower rates to high-volume restaurants and anchor partners to incentivise exclusivity without modifying any code.
Yes — and planning for African expansion from the architecture stage significantly reduces the cost of actually executing it later. The platform is built with multi-currency support (each city can operate in a different currency — ZAR for South Africa, KES for Kenya, GHS for Ghana, NGN for Nigeria), multi-language configuration (English, Afrikaans, Zulu, Swahili, French for West Africa), country-specific payment gateway pluggability (PayFast for South Africa, Flutterwave/Paystack for Nigeria, M-Pesa Daraja for Kenya, MTN MoMo for Ghana), and country-level tax configuration (15% VAT South Africa, 16% VAT Kenya, 7.5% VAT Nigeria). Adding a new country to an existing Tier 3 or Tier 4 platform requires: configuring the country's city zones, currency, and tax settings in the admin panel; signing and integrating the target country's payment gateways; recruiting the initial restaurant and driver supply base; and translating the app into the primary local language if not already supported. The core codebase requires no structural changes. A platform that starts in Cape Town, proves its model in 12 months, and expands to Nairobi in month 14 is a fundamentally different asset — in terms of revenue, market position, and investor valuation — than one that is locked to a single market by its architecture.
Whether you are a restaurant group reclaiming your margin from Uber Eats, an entrepreneur who has identified the gap in your city, or an investor backing South Africa's next unicorn, Algosoft builds your platform from the ground up — every feature, every SA payment rail, every POPIA compliance requirement, and every load-shedding resilience pattern. Tell us your vision and receive a detailed cost estimate, South Africa–specific tech architecture, POPIA compliance plan, and launch timeline within 48 hours. No generic proposals — every quote is scoped for your exact business model and target market.
Typically replies instantly