Business operations · Task 6 of 7
A laundry shop app
Build one web app that a laundry shop's owner, hosts, counter customers and workers use at once, when every real need sits in the owner's files and nobody answers questions.
The task
The owner of a small laundry shop asks for one web app for her shop. Hosts book collections for their flats, counter customers drop off small loads, workers collect and deliver with photo proof, and she runs the washing, invoices, payments, supplies and bills. The agent gets her computer's files: customer and order books, signed agreements, price lists, staff cards, emails and supplier bills. Nobody answers questions.
The prompt only asks for an app that runs the shop; the real test is what the files show without saying so. A careful developer notices who is who, which terms apply to which customer, what work is half done, and that the owner must keep her own records current long after hand-over.
What it tests
Finding unstated needs
Work out from the shop's books and past problems what the app must do without being told.
Weighing records that disagree
Decide which terms, prices and rules apply to each customer and each moment.
Keeping data clean
Import the shop's records as they are, with look-alike customers and unfinished work kept apart.
Building for later use
Keep the app correct as the clock moves, the app restarts, services fail and a backup is restored.
Challenges
1Look-alike customers
Two customers can only be told apart by details other than their name.
2Half-done work
Open orders and wash loads are in mixed states that must not be rounded off to done or to new.
3Different terms
Customers follow different billing and delivery terms, as real agreements do.
4Real limits
Machines, staff and rounds have limits that bookings must respect.
5Outside services
Invoices and payments count only when the shop's services confirm them.
6Many users at once
Owner, hosts and workers change the same records at the same time.
Results
| Model | Standard | Hinted | Told everything | Time (standard) | Cost (standard) |
|---|---|---|---|---|---|
| Opus 5.5 | 77% | 75% | 79% | 70 min | $10.92 |
| Sonnet 5.5 | 74% | 0% | 0% | 41 min | $6.15 |
| GPT-6 Astra | 67% | 70% | 81% | 23 min | $6.48 |
| GPT-6.1 Sol | 65% | 70% | 80% | 20 min | $1.05 |
| Fable 5.1 | 46% | 0% | 74% | 44 min | $16.57 |
| Sonnet 5 | 33% | 0% | 0% | 39 min | $6.10 |
| GPT-6 Luna | 16% | 10% | 13% | 3 min | $3.30 |
One run per model and setup. 100% = everything right (or, for a plan scored in money, the best plan); 0% = the obvious answer or worse.
Setups: Standard, the job as asked; Hinted, plus one hint; Told everything, every rule or fact given up front: the control that shows the task is fair.
What models got right and wrong
- Opus 5.5 led the standard setup at 76.6%, ahead of Sonnet 5.5 at 73.9%. Both imported the shop's records correctly and passed nearly every security check.
- Without the full requirements, Opus 5.5, Sonnet 5.5, GPT-6 Astra, GPT-6.1 Sol, Fable 5.1, Sonnet 5 and GPT-6 Luna gave the owner almost no way to add, edit or archive the shop's own records.
- Many apps failed on one screen fault that a single click-through would have shown: a form that never saved, a list that printed as text, or a page that never started in a browser.
- Five runs scored 0.0%: Sonnet 5.5 (hinted) and Sonnet 5 (hinted and told everything) ran out of time or turns before the hand-over note, and the apps of Sonnet 5.5 (told everything) and Fable 5.1 (hinted) could not be used from a browser.
- GPT-6 Luna stayed under 16% in every setup; its apps had little or no sign-in and few working money or proof actions.
- Being told everything helped the models that finished: GPT-6 Astra rose from 66.5% to 81.0% and GPT-6.1 Sol from 65.4% to 79.5%, while the hinted setup changed little.
Test environment
- Kind
- Simulated small business: the owner's computer is a folder of shop books, emails, price lists and staff cards; the agent builds a working web app
- Agent's interface
- A terminal in a fresh Debian Docker container, driven by Claude Code or Codex CLI; Python 3.13, Node 22, PyMuPDF, pdfplumber, Pillow, Playwright with Chromium, Ghostscript and Tesseract are available
- Documents
- 53 files, read-only at
/home/user/ines/: 31 TXT, 15 EML, six CSV and one Markdown file, in 11 folders:Mail/(15),Operations/(10),Finance/(6),Shop/(5),Customers/(4),Staff/(4),Buildings/(3),Compliance/(2),Stock/(2),Orders/(1) andServices/(1) - Applications
- Shop services, a local test service at
http://shop-services:8087, with Fatura Clara invoicing, RiaPay checkout with signed confirmations and a message service for SMS and email; it cannot move real money or send real messages. There is no mail client - Web
- None. Internet access is available for package installation; the agents' own web search and fetch tools are off
- People
- Nobody answers. The owner, her counter and round staff, hosts, walk-in customers, building managers, suppliers and the accountant appear only in saved records and emails
- Time
- The task is set on Monday 19 October 2026, 08:00 in Europe/Lisbon, and the build container's clock shows that time. During grading, the app's clock starts there and moves forward, past the end-of-October clock change and beyond the 30-day limit for proof photos
- Actions
- Read the owner's files; write and run code in the workspace; call the local shop services; nothing outside the container
- Deliverable
output/app/withoutput/app/start.sh, serving on port 8080, and a short note atoutput/NOTE.md
