Back to Work
KRY-03 · Case Study Live

IHSANMART.

A grocery/FMCG e-commerce ecosystem with three apps — a customer app (Flutter, live on Google Play & the App Store), a courier app (React Native), and an operations back-office (Laravel) — all on one shared REST API. Designed, built, and shipped solo, end-to-end.

Product
IhsanMart (own product)
Role
Solo full-stack (3 apps)
Platform
Android · iOS · Web admin
Core stack
Flutter · React Native · Laravel 11
Overview · 3-app ecosystem

From order to doorstep — one backend.

I designed and built the entire chain myself: customers shop from a mobile app, operations manage catalog, stock, warehouse, members, and orders from the back-office, and couriers deliver with proof of delivery, COD, and GPS — all connected through one Laravel REST API (Sanctum).

3Apps
33Admin modules
48Business entities
159DB migrations
FlutterReact NativeExpoLaravel 11PHP 8.2REST API (Sanctum)MeilisearchFirebase FCMMySQL

The customer app is live on Google Play & the App Store. API endpoints & internal data withheld for security.

IhsanMart ecosystem diagram: customer app (Flutter), courier app (React Native), and back-office (Laravel) plus warehouse, membership, and a shared REST API
Ecosystem — three apps, one backend
IhsanMart flow diagram: customer orders, REST API, operations processes and assigns, courier delivers with proof
Closed loop — order to doorstep
Details — Dossier What was built & its impact

What I did

  • Customer app (Flutter) — end-to-end shopping (catalog, cart, checkout, order tracking), Google Maps address & delivery-zone selection, OTP login, KTP verification, points & vouchers. Clean architecture (GetX, Dio + Retrofit, Hive). Live on Google Play & the App Store.
  • Courier app (React Native / Expo) — filtered delivery tasks, start/complete/fail actions, proof of delivery (photo + COD amount), GPS tracking with an offline queue, and push on assignment. Distributed as an APK via EAS with over-the-air updates.
  • Warehouse (back-office) — Vendor → Purchase Order → invoice-based goods receipt (one invoice across multiple POs, items from a PO or master catalog, price override, last-purchase-price) → stock updates in the smallest unit via a conversion system (1 box = 12 pieces), min-stock alerts, and an invoice-to-stock audit trail.
  • Catalog & members — multi-unit pricing + Meilisearch search, KTP membership / points / referrals, orders, and zone-based promos & vouchers.
  • Shared backend — one Laravel REST API (Sanctum) for all three apps, a Repository Pattern + auto-generated TypeScript types from PHP, and cross-app FCM notifications.

Outcome & impact

  • A closed loop from customer order → operations processing & assignment → courier delivery, in one system.
  • Last-mile digitization — proof of delivery, COD, and GPS tracking that used to be manual are now captured automatically.
  • The customer app is live on both stores, replacing manual/offline processes and serving an active member base.

Want to build a marketplace or customer + courier apps?

I help design & build similar ecosystems — mobile apps, an operations panel, and the backend — from scratch or taking over an existing one. Scope & cost clear up front.

Free Consultation via WhatsApp