Foodmedia — Multi-Role Food & Merchant Ecosystem
Designing & Building an Integrated Multi-Tenant Food Delivery & Merchant SaaS Platform
Three Flutter apps over a shared Laravel backend: Foodmedia for customers, food-ON for restaurant merchants, and food-D for drivers — each a separate product with its own release, sharing one order lifecycle. As Senior Product Engineer & Founding Designer I owned the end-to-end lifecycle: 4-mode ordering architecture (Delivery, Pick Up, Dine In, Reservasi), real-time Pusher & FCM messaging, HTTP timeout guards across every service caller, and the public web profile.

- Status
- Shipped
- Role
- Senior Product Engineer & Founding Designer @ Foodmedia
- Period
- 2024–2026 (Production)
- Platform
- Flutter (iOS & Android), Next.js web, two Laravel services on one database
- Tools
- Figma & Flutter
- Scope
- Public web profile
Synchronized Multi-Platform Ecosystem
Designed with unified design token foundations in Figma, synchronized across mobile (iOS & Android) and web interfaces for seamless brand identity and real-time state synchronization.

Why This Product Was Built
Foodmedia connects Pelanggan (customer), Mitra Restoran (merchant) and Kurir (driver) across three separately released mobile products — the Foodmedia customer app, food-ON and food-D — plus a Next.js back-office and a public web profile. The three Flutter apps carry roughly 680 source files and 153,000 lines between them; Salesmedia, the field sales system, is integrated alongside rather than built into the core.
Industry Background:Culinary merchants in Indonesia previously relied on manual WhatsApp ordering and fragmented pen-and-paper receipts. This resulted in delayed order fulfillment, un-tracked multi-branch inventory, manual voucher management, and zero real-time visibility for drivers and store managers.
This case study continues beyond the overview
Enter your email to request access to the full write-up. Requests are reviewed manually, so approval is not automatic.