Web Platform & Mobile
HuraGaz Field Operations Platform
We unified a web admin panel, driver and technician mobile apps, and a shared type-safe API into a single monorepo for gas distribution and field operations.
- TypeScript
- Turborepo
- Next.js
- React Native
- Expo
- Hono
- oRPC
- Drizzle ORM


Problem
CRM, delivery, service calls, billing and field-team tracking ran in disconnected tools; daily operations were managed over the phone and on paper.
Solution
We unified the admin panel, driver and technician apps around a shared type-safe API, digitizing delivery, service, billing and live location tracking end to end.
Where it started
HuraGaz ran the daily operations of 10+ administrators, a large fleet of drivers and technicians, and over 30,000 customers. Order intake, delivery planning, service calls, cylinder loading and billing were managed separately, often on paper and by phone.
In the field, drivers tracked what they delivered, which order was with whom, and their daily balance by hand. On the management side, there was no way to see the current state.
How we approached it
We built a single Turborepo monorepo: the web admin panel, driver app, technician app, and a type-safe API layer shared by all of them. So when a field changes in the API, every client warns at compile time.
We digitized operations piece by piece: first customer and order management, then delivery and cylinder loading, then service calls, billing and live location. As each module was tested in the field, the manual process was retired.
Technical solution
The web side was built with Next.js, the mobile side with React Native and Expo; the API was built on Hono and oRPC, and the data layer with Drizzle ORM on PostgreSQL. Authentication used Better Auth and the runtime was Bun.
Push notifications were delivered with Firebase Cloud Messaging and field tracking with Google Maps. The web runs on Vercel and services on Google Cloud Run. Interfaces were built multilingual.
Let the next project be yours
If you have a similar need, let's talk through how we could move forward in a short call.



