My sister runs a dog-walking business out of her car. Fourteen clients, a shared Google Calendar that three people edit badly, and a habit of texting "on my way!" to whoever's dog is next, which means she's forgotten twice and had to eat the awkward call. She asked me for "an app, nothing fancy" on a Thursday and wanted it live by the following Monday. I told her I'd try to have something by Sunday night. This is the log I kept, because I wanted to know afterward what actually took the time versus what I only thought would.
Friday, 8:40pm — the prompt
I didn't open a blank editor. I opened the chat and just described the business: solo dog walker, fourteen recurring clients, needs clients to get an automatic reminder text the morning of their walk, needs a simple page where she can add a new client and their dog's name in under thirty seconds because she's usually doing it standing in someone's driveway. I said "booking app" once and then immediately un-said it — it's not a booking app, it's a client list with a reminder trigger. Being precise about what it isn't turned out to matter more than describing what it is.
Friday, 9:05pm — the plan comes back
The plan had three pieces I hadn't asked for and would've forgotten: a way to mark a walk as done (so the reminder doesn't fire twice), an SMS opt-out link for compliance, and a simple day view instead of a calendar grid, because a calendar grid on a phone with fourteen entries is just a wall of tiny text. I rewrote the plan three separate times over the next twenty minutes, mostly rewording things that didn't need rewording. In hindsight that was pure nerves — the plan agent had already gotten the shape right the first time, and I was editing sentences instead of substance.
Friday, 9:40pm — first run
Kicked it off and watched the agent team work through client model, the day-view page, and the reminder job. The design came back looking like a vet's office intake form, which was actually correct for the audience — my sister's clients are dog owners in their 40s and 50s, not a Series A pitch deck. I almost pushed back on the visual style out of habit before realizing it fit the actual user better than anything I would've picked.
Friday, 10:30pm — first break
The SMS piece needed a live provider key before it would send anything real, which is correct behavior and not a bug, but I'd forgotten I hadn't set one up. Everything else kept working — the app just logged what it would have sent instead of sending it, which meant I could keep building instead of blocking on a Twilio signup at 10:30pm on a Friday. Went to bed.
Saturday, 8:00am — the actual snag
This is the one that cost real time. I'd asked for reminders to go out "the morning of," and the first version interpreted that as a fixed 7am send for every client regardless of walk time. Fine for a 9am walk, useless for a 4pm one. I went back into the chat and said so directly — reminder should fire a fixed number of hours before each walk's own scheduled time, not at a flat clock time — and the fix took one exchange. The lesson wasn't about the tool, it was about my own prompt: "morning of" is the kind of phrase that feels precise to the person saying it and is completely ambiguous to everyone else, including, apparently, me twelve hours later.
Saturday, 11:15am — reading the verification record
Before I touched anything else I pulled up what the build had checked itself against — the client form saving correctly, the reminder job running against a test day of appointments, the opt-out link actually unsubscribing a test number. Nothing was on fire. I've gotten into the habit of reading this before I go looking for problems myself, because it tells me where to actually spend my attention instead of clicking around randomly hoping to notice something wrong.
Saturday, 2:00pm — SMS, for real this time
Set up the provider account, dropped the key in, sent myself a test reminder. It arrived nine seconds after I marked a test walk in the day view. Small thing, but it's the moment a project stops being a demo and starts being a thing that exists in the world.
Saturday, 4:20pm — the domain wait
Pointed her actual domain at it and then did nothing useful for two hours while DNS caught up. I used the time to write the fourteen real client rows myself instead of leaving that for her to type on a phone Sunday night, which in retrospect was the single best use of time all weekend — unglamorous data entry beats any amount of extra polish nobody asked for.
Sunday, 9:00am — the part I almost over-built
I got it in my head that she'd want a weekly summary — walks done, no-shows, revenue — and started asking for an automated Monday-morning digest. Stopped myself halfway through describing it. She has fourteen clients and does her own books in a notebook. A summary feature is a solution to a problem she doesn't have yet. Left it out. I can add it in five minutes the week she actually asks, and until then it's just surface area for something to go wrong.
Sunday, 1:10pm — sent her the link
She added a client from her phone while standing in a parking lot, which was the actual test that mattered more than anything I'd checked myself. Took her nineteen seconds.
Sunday, 6:40pm — what I'd skip next time
Three plan rewrites that changed nothing. Two hours worrying about the SMS provider before I'd even tried setting it up. And the almost-built summary dashboard — the fastest thirty minutes of the whole weekend was the one I spent typing "no" to my own idea instead of building it. Everything that actually took real time was either a genuine ambiguity in my own request or the unavoidable wait on someone else's DNS server. Next build, I'm writing the prompt once, reading it back like a stranger would, and trusting the first plan more than I trusted this one.



