Your own Uber Eats-style experience: customer, ops, and rider aligned

The same logic your users know from major delivery apps — order, tracking, and live dispatch — but with your brand, your rates, and one technical base behind it. Golleva is the reference you can see on screen: three applications talking to the same Postgres and Supabase (Auth, Storage, Realtime), without silos or improvised APIs.

Rider app: home screen with map and availability

Three applications, one data model

Real screenshots from the web panel and mobile apps: they let you see the operational detail level before adapting branding and flows to your business.

Admin panel

Vite + React
Admin panel: order system overview
Operational summary: metrics and quick access to orders and settings.
Admin panel: map and order list
Orders on map and table: filtering by period and geographic tracking.
Admin panel: rider registration requests
Rider registration requests with review before activating accounts.

Client app

Expo
Client app: home screen with summary and create order
Home: shipment summary, active orders, and quick access to create a new order.
Client app: tracking with order QR code
Tracking: order QR to identify the shipment and save it to the gallery.

Rider app

Expo
Rider app: home screen with map and availability
Home: map, rider location, and control to connect or disconnect.
Rider app: list of assigned and in-progress orders
Orders: assigned, in progress, and delivered with actions per shipment.

Order flow

  1. 01

    Client creates the order

    Pickup and delivery addresses, shipment data, package photo, and initial status in the database.

  2. 02

    Admin operates and assigns

    Filtered listings, map, and rider assignment or change with timestamp logging.

  3. 03

    Rider executes in the field

    Active orders, location, and typed photo evidence uploaded to secure storage.

  4. 04

    Everything in one source of truth

    Postgres with role-based policies, Auth sessions, and near-real-time updates where applicable.

About the QR code

In this reference, the per-order QR in the client app is used to identify the shipment (generation, on-screen view, and save to gallery). If you need a flow where the rider scans and validates the code automatically, we define that in the project scope.

Stack by surface

Technical summary for teams evaluating maintainability and development hiring.

  • Admin panel

    React 18 · TypeScript · Vite · MUI · TanStack Query · Leaflet · React Router · Supabase JS

  • Client app

    Expo · React Native · Expo Router · Supabase Auth (Google) · Realtime on orders · QR per shipment

  • Rider app

    Expo · React Navigation · React Native Paper · Maps · Camera · evidence in Storage

  • Shared backend

    Supabase: Postgres, RLS, Storage, Realtime · Edge Functions per integrations (e.g. payments)

Whether you move food, packages, or documents, the pattern is the same. The sender creates the order with data and photos; operations controls and assigns from desktop with maps and finances; the rider executes in the field with location and auditable proof. We adapt rules, naming, and branding for courier, retail, dark kitchen, or companies with owned or mixed fleet.

One base, three surfaces

Orders, addresses, typed photos, and shared states between panel and apps — fewer bottlenecks than integrating loose APIs.

Rider onboarding without risk

Applications with data and photos before activating account: review from admin before granting operational access.

Ready to scale operations

Realtime where wired, Storage buckets by context, and EAS builds to take apps to production.

What's included

  • Admin panel: orders with filters and periods, Leaflet maps, finances by client, riders, and application queue
  • Expo client app: order creation, package photo, tracking, Google login (Supabase Auth)
  • Expo rider app: active and historical orders, maps, photo proof by event type
  • QR per order in client app to identify shipment to rider or ops (scope agreed if you need automatic scanning)
  • Supabase backend: Postgres + RLS + Storage + Realtime; Edge Functions for payments or other integrations
  • White label: branding and flows adaptable to your brand and country

Frequently asked questions

Is Golleva the final product name?

It's the reference project we developed as an example last-mile platform. For your company we can start from this base and rename, retheme, and adjust business rules.

Is it only for restaurants and food delivery?

No. The same architecture serves urban courier, package delivery, retail with owned shipping, pharmacies, B2B delivery between locations, and any operation where someone creates a shipment, another coordinates, and a third executes on the street.

We're a courier / parcel company. Does this app work for us?

Yes. The admin panel covers orders, corporate clients, rider assignment, and finances by account; mobile apps cover who orders and who delivers. We adjust states, rates, and flows to package vocabulary instead of menus.

Does it work if we have owned fleet or only contractors?

It works in both cases. You can operate owned riders, external, or mixed: the key is everyone goes through the same user, assignment, and proof model. If you need advanced vehicle telemetry (fleet GPS, fuel, maintenance), we treat it as an additional layer or integration with your TMS.

What about retail or e-commerce wanting owned delivery?

It fits well: the end customer sees your brand in the app, your stores load orders, and operations maintains SLAs and zones. We can integrate with your OMS, ERP, or checkout so the order is born where you already work today.

Does the rider scan the QR in the app?

In this reference the client app generates and allows saving the QR that identifies the order. If you sell scanning and automatic validation in rider, we incorporate it explicitly in scope.