The QA checklist I run before shipping a Robin update
NestBoard · 2026-08-21
Robin gets a manual check every time I update it. Not automated scripts alone, but a literal checklist I walk through by hand. NestBoard is a one-person company, so there's no QA department behind me. The checklist covers the handful of things that tend to break when you're building an AI assistant that actually modifies your family's calendar and chores.
Timezone edge cases
First up is timezone handling. Everything in NestBoard runs on your household's timezone, the one you set in Settings, so days and weeks roll over on your clock, not a server's. I check that "tomorrow at 3pm" lands on the right day even late in the evening, and that a chore finished at 11pm counts toward the day you actually did it. I also check daylight saving boundaries, because March and November are when things get weird.
Date parsing
This is the part that looks boring on paper but breaks constantly. I throw ambiguous phrases at Robin: "next Tuesday" on a Monday versus a Saturday. "This weekend" when today is Friday versus Wednesday. "The 15th" with no month named.
I also check colloquial shortcuts: "tomorrow morning," "tonight," "end of the month." Robin knows today's date, so it should anchor these correctly. And when it genuinely isn't sure which day or which person you mean, it asks a quick clarifying question instead of guessing.
Working for every household role
Robin needs to work for every grown-up in the household, not just the admin who set everything up. Kids and guests can't open Robin at all, and that's enforced on the server rather than just hidden in the app. Any grown-up can ask it to add a chore, log a medication dose, or put an event on the calendar. So I run the ordinary requests from an ordinary adult's seat, not the admin's, and I check the lines that should not move. Moving money directly takes two steps: an adult can ask Robin to add or deduct allowance, but Robin has to read the exact amount back and get a clear yes before anything moves. Allowance a chore earns works differently. If auto-convert is on in Settings, a finished chore pays into a child's wallet the moment it counts, whether it was ticked off in the app or through Robin, and reopening the chore takes that money back out. And Robin never reveals whether a wish list item has been claimed, so gifts stay a surprise even on the kitchen screen.
I also confirm that Robin can edit and cancel, not just create. "Move soccer practice to 5pm." "Cancel piano on Thursday." "Delete the make the bed chore." It has to parse intent and apply the change to the right item.
Memory within a conversation
Robin remembers context across a conversation, so I run multi-turn exchanges. "Add a dentist appointment next Tuesday at 10am." Then, in the next message: "Actually, make it 10:30." Or: "Who's assigned to dishes this week?" followed by "Reassign it to Mia."
If Robin forgets what "it" refers to after one reply, the conversation falls apart. So I walk a few realistic threads from start to finish and make sure the assistant stays coherent.
What I don't check
I don't check Robin's ability to make inferences about your schedule or guess what you meant when the input is genuinely ambiguous, because it doesn't make them. I've written about that boundary before. If you say "book me some time to clean the garage" without saying when, Robin will ask. It won't pick a slot for you.
There's also a whole category Robin refuses on principle: it cannot browse the web (the one exception is fetching a weather forecast for a place you name), send emails or texts on your behalf, or contact anyone outside your household. Those limitations aren't on the checklist because the tools simply don't exist.
Why I still do this by hand
Automated tests catch regressions in code. They don't catch the feeling of asking a question in plain language and getting back something that makes no sense. It is the same reason every screen gets the two-minute check on a kitchen tablet before it ships. Walking through the checklist on a real phone is the closest I can get to being a person trying to add "soccer practice" while standing in a parking lot. That's the part I can't automate yet.