Files
doormile_customer_app/design/screens
Thiru-tenext 86b6af48c2 Redesign on the Stitch reference, in Plus Jakarta Sans
Four passes, and the shape they landed on.

The type face is Plus Jakarta Sans (variable, wght 200-800), which brings a
fix with it: it carries the rupee glyph and Switzer does not, so prices stop
being set in Geist Mono to work around a missing character. Mono stays where
it is earned - references and phone numbers, read digit by digit.

Surfaces lift rather than outline. Cards carry two very soft shadow layers
instead of a hairline, because eight outlined boxes down a screen read as a
wireframe. The tab bar floats as a pill again for the same reason it was
right to: it is now the same kind of object as everything above it.

Screens:

* Home is the greeting, the address, the sphere and one card. The card lost
  its progress bar - a filling line says "wait", and a parcel two days into
  a journey is not something anyone is waiting through - and gained the size
  that buys.
* Orders cards are four bands: identity, destination, route, and whatever is
  happening right now. Plus a search field, because the list is the archive.
* Tracking leads with the state at display size, then TRIP MILESTONES with a
  step counter, then the courier.
* Review is a route thread over two particular cards.
* Account opens on the person: avatar, name, and two counted figures.

Three real bugs the redesign surfaced:

* Quick dispatch handed `loadCities()` straight to a FutureBuilder, so the
  catalogue was refetched on every rebuild and Home never settled.
* Order cards showed the whole visit's weight on one destination's row -
  somebody else's parcel. Per group now, and only once actually weighed.
* The pickup window was printed beside "In transit", where it reads as a
  delivery time nobody promised.

Nothing invented. The reference shows EXPRESS PRIORITY, CARBON OFFSET,
CONCIERGE ELITE and hub-to-hub routing; this backend sends none of them, so
they are absent rather than mocked up.

flutter analyze: clean. flutter test: 88 passing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EqVJPB9B4QuieZnBAAKgYQ
2026-09-24 11:08:25 +05:30
..

Screens

Every screen in the app, at 390×844 @3x, with the real fonts.

These are the golden files from test/snapshots/, copied here under readable names so the set can be browsed, shared or dropped into a deck without anyone having to know what a golden is. test/snapshots/ is the source of truth — this folder is a copy, and a stale copy is worse than none, so refresh it whenever the design moves:

flutter test test/design_snapshot_test.dart --run-skipped --update-goldens
tool/screens.sh

They are rendered by the test harness rather than captured from a handset, so they are identical on any machine and need no device attached. Two consequences worth knowing: map tiles are blank, because the harness has no network and CARTO is fetched live; and the data is DevDoormileApi's, so the names, addresses and references are invented.

File Screen
00-splash-animation.png Splash · first beat What the app does: a parcel on the road.
00b-splash-mark.png Splash · second beat Whose app it is. Caught mid-cross-fade.
01-sign-in.png Sign in One question, one field, one button.
02-sign-up.png Create account The same shell, three fields.
03-verify-code.png Verify the code One field behind four boxes that only draw.
04-home.png Home Welcome, the pickup address, BOOK, and the live booking.
05-pickup-search.png Collect from Changing the pickup address from the Home header.
06-orders-active.png Orders · Active State, date, route, packages, reference.
07-orders-completed.png Orders · Completed Delivered orders and what they cost.
08-account.png Account Grouped rows, and the build this handset is running.
09-tracking.png Live tracking The live card, the map, the Miler, the journey rail.
10-cancel-pickup.png Cancel this pickup The one destructive action, behind a reason.
11-destination-states.png Where is it going? · states Step one, with the state marks.
12-destination-districts.png Where is it going? · districts Step two. Multi-select where the server allows it.
13-pickup-window.png Pickup window The times, and nothing else.
14-send-a-parcel.png Send a parcel The route, the packages, the two commitments.
15-pickup-map.png Pickup point The map editor, and who the Miler asks for.
16-pickup-booked.png Pickup booked White tick on green. The reference and the live search.
17-receipt.png Order details What was collected, weighed, photographed and paid.

Not here yet

First-run Home — the sphere's caption and the "How it works" rail only appear for a customer with no orders, and the dev backend seeds three. It needs a flag on DevFlags to capture, which is not worth adding for a picture.