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.