Gazetteer ◆ Island the fourth
Galley
dinner, tracked to your door
- Year
- 2026
- Role
- Flutter Developer
- Platforms
- iOS, Android
- Stack
- Flutter, Dart, Serverpod, PostgreSQL
Log of the voyage
The brief
The app had to take someone from hunger to a tracked order in a few taps: find a dish or a restaurant, customize it, check out with a saved address and a courier tip, and then watch the courier arrive.
The course we set
Flutter builds the customer app for iOS and Android from one Dart codebase. Serverpod provides typed endpoints, authentication and streams that push order status and courier location, and PostgreSQL stores restaurants, menus, orders and couriers. The app and the backend share Dart models, and the client code is generated from the server.
The landing
Five core screens cover the order from end to end: a home with illustrated categories, a restaurant page with tabbed menus, a dish sheet with sizes and extras, a checkout with saved addresses, delivery time and courier tips, and a live map with status steps, arrival time and a call or message button.
Plates
Galley, in its own colours
The Live-Order Maelstrom
An order changes hands four times between the tap and the door: confirmed, preparing, on the way, delivered. The customer expects to see each step the moment it happens, and the courier's dot to move on the map while the screen is open.
How it was tamed
Serverpod streams push order status and courier location to the app as they change, so the screen never has to poll. The status steps, the arrival time and the route are drawn from the same shared Dart models the backend uses, and the courier can be called or messaged from the same screen.
Soundings, counted in the finished app
- 5core screens, from home to live tracking
- 4status steps from confirmed to delivered
- 1Dart stack from the phone to the database
- 6colours in one design system