Skip to content
Aman Gupta
← All work

Ten Minet

A 10-minute quick-commerce platform: a Vendure commerce server, a Go rider-dispatch service and three Flutter apps, joined by a Redis event bridge.

Role
Solo architect and lead developer
Period
2026
Status
private
Stack
VendureTypeScriptGoFlutterPostgreSQLRedisTypesenseDockerGitHub ActionsPrometheus & Grafana
automated tests (TS, Go, Dart)
~480
Flutter apps, 7 shared packages
3
custom Vendure plugins
~25
services with their own databases
2

Problem

Quick commerce lives or dies on dispatch. An order has to be packed, assigned to the nearest idle rider and tracked end to end within minutes, and cash on delivery has to settle correctly at the end of a shift.

Approach

Vendure owns catalogue, carts and the order state machine through about 25 custom plugins (dark-store locator, delivery fee, cart reservation, cash on delivery, Typesense search). A separate Go service owns riders: OTP auth, shifts, live GPS, proximity dispatch with retries and cash settlement. The two talk over Redis Pub/Sub, with an outbox on the Vendure side so a lost message never strands an order. Customer, rider and store apps share seven packages in a Melos monorepo.

What I'd change

The work lives in several repositories with no top-level README, so a newcomer can't see the whole system at once. A single architecture document and a one-command local stack are the first things I'd add.