A taxi fleet screen earned the series' first perfect score
/taxi-maintenanceCaptured at a 375px viewport. Long pages scroll inside the frame.
The screenshots stay in Japanese. Every round is a real screen for a real Japanese industry, so an English re-render would no longer be the screen the agent actually produced.
Write-up
A taxi fleet screen earned the series' first perfect score
Build log series: I give an AI that has never seen Gunjo (
@gunjo/ui) only the public npm package and the gunjo.jp docs, then ask it to build a real screen. This fourth staff-facing taxi round covered a fleet management screen for vehicles, inspection and insurance expiry, mileage, maintenance planning, and service records.
Result: 5/5, the first perfect score in the series
The desktop-density screen passed its type check on the first attempt. The agent reported:
The library felt prepared for this exact screen. It produced a practical, dense operations console with almost no hand-rolling. All six needs were already components: a fleet table, a consumption-against-limit meter, a progress bar, a list of items requiring action, a signed record, and a date-with-expiry display.
The first perfect score arrived in round 144. A central administrative screen for maintenance, compliance, and asset management needed almost nothing added.
The highlight: yesterday's component found another use on its own
I built ExpiryBadge in #142 for crew qualification deadlines. Here the agent independently found it for vehicle inspections and insurance:
ExpiryBadgewas built for this. Its description even names inspections, insurance, and maintenance. It worked in table cells, detail cards, and counts without extra code.
A component built for crew qualifications carried directly into vehicle inspections and insurance. The shared pattern is a date and a deadline, whether the subject is a person, vehicle, policy, or contract. StatusBoard, built in #141, also returned for the fleet's operational state. Two new components were independently reused in other work on the same screen.
What I took away: components built around common patterns travel well
A date and a deadline mean the same thing for crews, vehicles, insurance, and contracts. Components designed around that shared pattern, rather than around one industry, are naturally reusable elsewhere. This screen made the payoff visible twice.
What it flagged: a desktop page bar was missing for the fourth time
The component I wanted most was a light header bar at the top of a desktop screen.
PageHeaderis mobile-specific, whileHeaderis too heavy because it belongs to site-wide navigation. Every console hand-rolls its page title.
After the same finding in #130, #134, and #135, this was the fourth case. I recorded DesktopPageHeader on issue #397.
No new component was added this round. The perfect score came with a maintenance screen assembled without friction, two cases of reuse in new work, and one desktop-header gap recorded.
Components added to Gunjo so far (14)
AmountBreakdown / ActionQueue / ListCard / Gantt / SeatMap / LoyaltySummaryCard / RadioCard / FilterChips / PageHeader / Itinerary / TicketStub / Stringline / StatusBoard / ExpiryBadge
Next up: build log #145
- Close the taxi run with a passenger ride-hailing app for requesting a car, arrival estimates, fare estimates, the ride, and payment.
The run
- gunjo.jp / ExpiryBadge / StatusBoard / Meter / npm
@gunjo/ui/ GitHub - GunjoUI by UIXHERO
The series earned its first perfect score. Components built around the shared date-and-deadline pattern carried from qualifications into inspections without being prompted.
This series is co-created with AI (Claude and Codex). A human designs the experiments, makes the calls, and fact-checks before publishing; the AI does the hands-on work and drafting.
Components from @gunjo/ui
The components this screen's source imports directly.
The code the agent actually wrote
Click a file to expand its source.