HomePlatformFeaturesDemoPricingROIResourcesBook a Demo
Architecture

Engineered like infrastructure, not an app.

Amir Ventures is a serverless, event-driven platform: a driver app and a dispatcher command center talking through a real-time cloud backend built to survive weak signal and never drop a job. This is how the 44,400+ lines fit together — and why they hold up in daily production.

Live in production today 53 Cloud Functions Event-driven real-time sync Offline-hardened
Data flow · driver ↔ backend ↔ dispatcher
Client app Serverless core Connected service
Driver App
Amir Ventures Car
  • Accept / decline offers
  • Live GPS & trip status
  • Disk-first offline queue
iOSAndroidEN · RU · UZ
Cloud Functions
53 serverless handlers · Firebase
  • Dispatch, timeouts & reassignment
  • Recurring reservations & scheduling
  • Notifications, OCR & orphan recovery
Realtime Database
Single source of truth · live sync
  • Event-driven, sub-second propagation
  • Deny-by-default security rules
  • Black-box audit log of every event
Dispatcher
Amir Ventures Dispatch
  • One-tap dispatch & queue routing
  • Live fleet map & commission center
  • One-tap restore from audit trail
iOSAndroidiPadMac
Connected services
Maps & GPSLive location, geofenced zones, ETA
PushTime-Sensitive alerts through Focus
OCRReads Zelle proof, auto-verifies
ReportsEarnings, trip logs, leaderboards
AnalyticsClient database & CSV export

Every write lands in the Realtime Database; Cloud Functions react to it and fan out to notifications, scheduling, and audit. Both apps observe the same live tree, so dispatch and driver stay in lockstep.

The stack

Twelve engineering decisions that hold up in the field.

Each layer earns its place. Serverless where it scales, on-device where the signal dies, and deny-by-default everywhere trust matters.

Serverless backend

53 Cloud Functions on Firebase handle dispatch, offer timeouts, reassignment, recurring reservations, notifications, and audit — no servers to patch, provision, or wake up. Logic runs where the data changes.

Realtime Database & sync

One live tree is the single source of truth. Every write propagates in real time to both apps, so a dispatch, a status change, or an accepted offer shows up everywhere at once — no polling, no refresh.

Authentication

Phone number plus PIN, with Face ID / Touch ID for fast re-entry. Access is gated by deny-by-default rules, and dispatchers carry a custom auth claim that unlocks command-center privileges no driver can hold.

Offline hardening

Jobs and completions are written to a disk-first queue before anything touches the network. A socket watchdog and idempotent writes mean a trip finished in a dead zone survives, deduplicates, and syncs the moment signal returns.

Push notifications

Job offers ship as Time-Sensitive pushes that break through Do-Not-Disturb and Focus — including the Driving Focus CarPlay enables — so drivers hear the one that matters. Multi-device tokens fan out to every phone a user carries.

OCR payment verification

Drivers upload a Zelle receipt; the platform reads the amount and auto-approves it within a set tolerance. Dispatchers only review the exceptions. Commission moves from a manual chore to a background check.

Security

Deny-by-default database rules mean nothing is readable or writable unless a rule explicitly allows it. Storage and every path are locked to the authenticated user, and a dispatcher custom claim scopes command-center access on the server side.

Scalability

Because the backend is serverless and event-driven, functions scale with demand instead of with headcount. The same architecture that runs one fleet runs many — each company gets its own isolated backend under the white-label model.

Supported devices

The driver app runs on iOS and Android. The dispatcher command center runs on iOS, Android, iPad, and Mac — from a phone on the road to a full desk setup — all from one Expo / React Native codebase.

White-label architecture

One codebase, per-company brand packs, and a separate backend for each company. Colors, names, and app identities swap per brand while the engineering stays shared — new deployments inherit every fix instead of forking.

Reporting & data

Earnings, weekly settlement, trip logs, and leaderboards are computed from the same live tree — no separate warehouse. A client database builds itself from completed trips, with CSV export for outreach.

Deployment

Apps ship through Expo / EAS to the App Store and Google Play; Cloud Functions and security rules deploy to Firebase. Config-gated flags let behavior change server-side without a store rebuild, so fixes go live in the low-traffic window.

One offer, end to end

Follow a single job through the system.

The architecture is easiest to read as a story. Here's what happens the moment a dispatcher taps Dispatch — every hop is an event, and every event is recorded.

  • 1 · Dispatcher writes the offerThe job lands in the Realtime Database and is logged to the audit black box in the same breath.
  • 2 · A Cloud Function reactsIt fires a Time-Sensitive push to the driver's devices and starts the offer-timeout clock.
  • 3 · Driver acceptsThe write syncs back instantly; the dispatcher's live view updates with no refresh.
  • 4 · The trip runs — signal or notGPS and status stream live; if the driver hits a dead zone, the completion queues on disk and syncs on reconnect.
  • 5 · Money settles itselfCommission stamps at the trip's rate, OCR verifies the payment proof, and the weekly settlement math is already done.
Event trace · Job #4471 Live
6:41:02
offer.created
Realtime DB · audit logged
6:41:02
fn.onOfferCreated
Push sent · 2-min timer armed
6:41:19
offer.accepted
Daniel F. · synced to dispatcher
7:24:50
trip.completed
Queued offline · synced on reconnect
Every event recoverable · one-tap restore
Codebase statistics

Production-grade, and measurable.

Real numbers from a real system running for a working transportation company every day.

0+
Lines of production code
0
Cloud Functions
0
Application screens
0
Languages · EN / RU / UZ
Firebase · Cloud Functions Realtime Database Auth · Storage Expo · React Native Deny-by-default rules Face ID / Touch ID Time-Sensitive push White-label ready
Talk to the builder

Want to go deeper than the diagram?

Every layer here is running in production right now. Book a technical walkthrough and we'll trace a real job through the stack — functions, rules, offline queue, and all.