Food07
Food delivery platform for Singapore โ local restaurants, live menus, real-time order tracking.
The Challenge
Independent restaurants in Singapore were losing delivery revenue to the major platforms (GrabFood, foodpanda) where 25โ35% commission fees made thin-margin dishes economically unviable. Smaller hawker operators and family restaurants wanted a branded delivery presence but couldn't afford to build and maintain their own apps โ and the white-label solutions available were either too expensive or too rigid to accommodate the real-time menu changes that Singaporean hawker culture requires (dishes sell out mid-service; daily specials change at the discretion of the cook).
The technical challenge was real-time reliability at a city-state scale: Singapore's lunch rush produces order spikes of 5โ8ร baseline within a 45-minute window, and a delivery status that's even 30 seconds stale would cause customer service calls that the lean restaurant operators could not handle.
What We Built
The customer-facing app and the restaurant operator app are both built in React Native (Expo managed workflow), sharing 80% of their business logic through a common TypeScript package. This allowed a single build pipeline to produce iOS and Android binaries for both apps simultaneously.
The backend is a Node.js/Express API deployed on Railway, with PostgreSQL (via Prisma ORM) as the primary datastore. Real-time order status โ placed โ confirmed โ preparing โ out for delivery โ delivered โ is powered by Socket.io rooms keyed on order ID, so the customer app, the restaurant tablet, and the delivery rider's app all receive the same state update within ~200ms of any transition. Redis is used as the Socket.io adapter to handle horizontal scaling during peak windows.
Payments are processed through Stripe (cards, Apple Pay, Google Pay) with a webhook listener that triggers order confirmation only after payment success, preventing the double-confirmation race condition that plagued earlier builds. Restaurant menus are managed through a web admin built in Next.js โ operators can toggle item availability in real time (a single button press marks a dish as sold out and hides it from the customer-facing menu within 5 seconds via a cache invalidation event).
The Outcome
Food07 reached 5,000 downloads in its first month on the App Store and Google Play, driven largely by word-of-mouth from the 30+ restaurant partners who promoted it to their existing dine-in customers. Average order value was S$28, and the repeat order rate in month two was 61% โ significantly above the 40โ45% industry benchmark for new delivery platforms.
Restaurant partners reported a net revenue increase of 12โ18% on delivery orders versus their previous platform because the commission structure was substantially lower, and the real-time menu control eliminated the complaint calls they'd been fielding about unavailable items. The platform has been operationally stable with 99.7% uptime since launch.