Work / JSS Technology

Jeye
Food delivery for Lebanon’s Bekaa region: a customer app, a driver app and an operations dashboard on one backend.
★ First commit to launch in ~4 months
- Role
- Software architect & tech lead · built the backend and both Flutter apps
- Company
- JSS Technology
- Timeline
- Jun 2026 – Present
- Stage
- Launching end of October 2026
- Platforms
- iOS · Android · Admin dashboard
- Team
- JSS Technology client project

The problem
Drivers have to keep broadcasting their location while the app is backgrounded and the network is patchy, without flooding the server, and without a driver looking offline just because they switched apps.
Key decisions
- 01
Drivers stream location over Socket.IO. Every ping is validated, then throttled by both time and distance moved, so a phone in a moving car doesn’t flood the backend.
- 02
The last known position lives in Redis with a 60-second expiry and is pushed live to that branch’s operations dashboard and to the customer tracking the order.
- 03
Being reachable and being online are tracked separately. A 90-second expiry, refreshed by heartbeats and location pings, means a driver who backgrounds the app stays online, while a crashed app drops off by itself, even across a Redis restart.
- 04
The delivery fee comes from real driving distance plus uphill elevation, priced per region by matching the customer’s location against map boundaries, in USD or LBP, with routes cached so the maps APIs aren’t called twice.
- 05
Background scans flag stuck orders, orders with no driver and uncollected cash, and accepting a delivery runs in a strict database transaction that re-checks the driver’s cash limit, so two taps can never double-accept an order.
Outcome
From first commit to launch in about four months, as tech lead: the backend and both Flutter apps, published on the App Store and Google Play under my name. Arabic and English.
What it does
- Browse restaurants and shops, search by dish or cuisine
- Live order tracking on a map, plus iOS lock-screen and Dynamic Island updates
- Cash on delivery in USD or LBP
- Delivery or pickup, saved addresses, coupons and loyalty coins
- 4-digit delivery code handed from customer to driver
- Driver app with timed offers that show the payout first
- Driver wallet for cash held, debts and payouts
- Voice calls between operations and drivers
Built with
- Flutter
- Dart
- TypeScript
- Node.js
- Express
- PostgreSQL
- PostGIS
- Prisma
- Redis
- BullMQ
- Socket.IO
- Firebase
- Google Maps
- GitHub Actions
Screens
Driver · go online
Driver · accept an order
Driver · deliver step by step
Driver · order history
Driver · earnings