Zomee: a hyperlocal 10-minute delivery super-app built in Flutter on a FastAPI backend
India
A quick-commerce startup needed customer, delivery partner and merchant apps that felt native, synchronised in real time, and did not cost two native teams to build. ATS built Zomee as three personas in one Flutter project on an async FastAPI backend with Firebase Firestore order sync — and the 10-minute promise held at 92% SLA in pilot zones.
The challenge
Native quality, three parties, one startup budget
Hyperlocal delivery is unforgiving. Customers expect sub-second app responsiveness and live tracking of an order that is promised in ten minutes; delivery partners and merchant outlets need to be coordinated in real time on the same order. The established delivery giants set the bar for native-quality UX, and a web-first approach would not reach it.
Building separate iOS and Android apps — for three personas — would have been cost-prohibitive for a startup. Zomee needed one mobile codebase that delivered native-smooth animation and interaction on both platforms, and a backend that could absorb thousands of concurrent order events without latency showing up in the app. ATS built both through our mobile engineering practice.
Our approach
Three personas in one Flutter project
Delivered by our Mobile Engineering practice.
ATS built Zomee in Flutter, delivering native-smooth animations and interactions on iOS and Android from a single Dart codebase. Three distinct app personas live within the one Flutter project: the Customer App for discovery, ordering and live tracking; the Delivery Partner App for order acceptance, navigation and proof of delivery; and the Merchant Dashboard App for inventory management, order fulfilment and analytics. Shared components and models keep the three consistent and keep the build cost of each new feature low.
The backend is FastAPI: a high-performance async Python service designed to handle thousands of concurrent order events with minimal latency. Firebase Firestore synchronises order state across all parties in real time, so when a merchant marks an order packed, the delivery partner and the customer see it at once. Payments run through Stripe and Razorpay; Google Maps SDK powers live tracking.
- Flutter Customer App: discovery, ordering, live tracking
- Flutter Delivery Partner App: order acceptance, navigation, proof of delivery
- Flutter Merchant Dashboard App: inventory, fulfilment, analytics
- FastAPI async backend for concurrent order events
- Firebase Firestore real-time order state sync
- Stripe / Razorpay payments · Google Maps live tracking
Architecture
Flutter, FastAPI async, Firebase Firestore, PostgreSQL
The mobile layer is one Flutter project with three persona entry points. The API layer is FastAPI, written async end to end so that order placement, assignment and status events do not block one another under load; PostgreSQL holds orders, catalogue, partners and merchants as the system of record. Firebase Firestore is the real-time fan-out layer — the apps subscribe to order documents and receive state changes without polling.
Google Maps SDK provides live tracking in the customer and partner apps; Stripe and Razorpay handle payments. Splitting transactional truth (PostgreSQL via FastAPI) from real-time distribution (Firestore) is what lets the platform keep API responses fast while every screen stays live. We used the same Flutter-plus-FastAPI pattern for ResqRoute, and it is a good fit for retail and quick-commerce products that need native apps on a startup timeline.
Building blocks
- Flutter (iOS & Android), single Dart codebase, three personas
- FastAPI (Python) async backend · PostgreSQL
- Firebase Firestore real-time order sync
- Stripe / Razorpay
- Google Maps SDK live tracking
Technology stack
What changed
5,000 concurrent orders under 200 ms, 92% on the 10-minute promise
The Flutter single codebase reduced mobile development cost by 50% compared with native iOS plus Android. The FastAPI async backend handled 5,000 concurrent orders with API response times under 200 ms, and real-time order tracking through Firebase Firestore achieved state sync in under 800 ms.
The customer app holds a 4.7-star average rating on Google Play and the App Store, and the 10-minute delivery promise was maintained with 92% SLA compliance in pilot zones. For the same architecture in emergency healthcare, see ResqRoute.
Key results
Flutter single codebase reduced mobile development cost by 50% vs native iOS + Android
FastAPI async backend handled 5,000 concurrent orders with <200ms API response time
Real-time order tracking via Firebase Firestore achieved state sync in under 800ms
Customer app achieved 4.7-star average rating on Google Play and App Store
10-minute delivery promise maintained with 92% SLA compliance in pilot zones
From the blog
All articlesMore from the portfolio
All projectsLet’s work together
Ready to build something great?
Tell us about your project. We respond within one business day and can provide a customised quote for your requirements.