CaseIntermediateShipping & Model Lifecycle / Prototyping with LLMs and rapid POCs / #2

Describe how you would build a working prototype of an AI feature in a day.

The direct answer
Split the day into three blocks before touching anything: an hour to scope the one exact interaction you're testing, then wiring, then real tests, in that order, with wiring capped hard. Reuse any screen that already exists instead of building a new one, because every hour that buys back from wiring goes straight to running the thing against real, messy input, and that's the part that actually tells you if the idea works.
Do this, in order
  1. Split the day into scoping, wiring, and testing blocks, and cap wiring by reusing a screen that already exists.Why: without that cap, wiring eats the day and testing never happens at all.
  2. Pick one exact interaction to prove, not a feature area.Why: "scheduling assistant" isn't testable in a day; "propose 3 times from one messy thread" is.
  3. Protect real-input testing as what's left over, not what's left behind.Why: testing is the only block that tells you whether the idea actually works, not just whether it renders.
  4. Check the leftover testing time against a real bar, not a feeling.Why: a demo run twice looks the same as a demo run eighteen times, right up until someone pastes in a message you didn't try.
  5. Know that the UI-reuse call moves the day more than how many tests you were hoping for.Why: cut the wrong thing under time pressure and you protect a target test count while losing the hours that would have hit it.
  6. Leave visual polish for later.Why: a slightly plain result card costs nothing in a proof-of-concept review; a bug on a real message costs the whole demo.

How to answer this, stage by stage

Nobody is grading whether you land on exactly eighteen test runs. They're grading whether you cap the wiring before you start, whether you can defend the hour-by-hour math, and whether you close with a number the room can check. Seven moves get you there.

1
Scope it to one exact interaction, not a feature
Say it like this
"Let's ground this in one thing. Say we're building an AI scheduling assistant for a calendar app. In a day, I'm not proving 'the assistant works.' I'm proving one interaction: paste in a messy three-person email thread about finding a meeting time, and it comes back with three real slots everyone's free for. That's the whole prototype."
Why this works
It stops the answer from staying abstract before a single hour gets spent.
2
Say the structure out loud before touching the clock
Say it like this
"The day is scoping hours, plus wiring hours, plus real-input testing hours, and they have to add up to whatever day I've actually got. I'll cap wiring hard, because wiring is the one block that will happily eat the other two if I let it."
Why this works
Shows the equation before the arithmetic, so the hours that follow read as a plan, not a guess.
3
Reframe what "a working prototype" is actually testing
Say it like this
"This isn't really 'can I get something on screen by five o'clock.' It's 'how many real, messy scheduling threads did this thing survive before anyone else saw it.' A screen that's never been fed a real message answers the wrong question, no matter how polished it looks."
Why this works
Separates a working prototype from a screenshot that merely looks finished.
4
Own the hour-by-hour budget
Say it like this
"Out of an eight-hour day: one hour to scope it, exactly as I just said. Two and a half hours to wire it, because the calendar app already has a chat drawer used for another AI feature, and I'm dropping this into that instead of building a new screen. The remaining four and a half hours go to running it against real threads pulled from my own inbox."
Why this works
A real proposed budget, not "build it fast," is what the O step of BOUND actually asks for.
5
Give the range, not one fixed number
Say it like this
"That two and a half hours assumes the chat drawer already exists. If it didn't, if I had to build a new panel, capture the pasted thread, and lay out the result cards from nothing, wiring runs closer to six hours. Same eight-hour day, but now testing drops to about one hour. So the honest range is two and a half to six hours of wiring, and it swings almost entirely on whether a screen already exists to drop into."
Why this works
A single number here would claim confidence the answer doesn't have.
6
Sanity check the leftover time against real test runs
Say it like this
"A real test run, pasting in a thread, reading the three proposed times, checking them against the actual calendars, takes about fifteen minutes. Four and a half hours of testing is eighteen runs. One hour of testing is four. I'd want at least ten real runs before I trust a demo not to fall over live, so the reused-shell version clears that bar with room to spare, and the from-scratch version doesn't."
Why this works
This is the step most one-day plans skip, and it's what turns "I built something" into "I know it holds up."
7
Name what moves it most, then close on the one line
Say it like this
"If I had to bet on what wrecks this schedule, it's the UI-reuse assumption, not how many tests I was hoping to run. Losing the reusable shell swings wiring by three and a half hours and drops testing capacity from eighteen runs to four, under the bar I need to trust the thing. So here's the line I'd actually say: I'll spend an hour scoping one interaction, cap wiring by reusing whatever screen already exists, and protect the rest of the day for running it against real input, because that's the only block that tells me if the idea is real."
Why this works
Closes on the literal ask, a schedule someone could actually check, not a vibe about moving fast.
If you remember one thing Cap the wiring block before the day starts, and protect real-input testing as what's left over, not what's left behind. The UI-reuse call is what decides which one you get.

Let's learn

The product is an assistant inside a calendar app that reads a messy scheduling thread and proposes three real times, instead of another round of "does Tuesday work for everyone."

Before a prototype gets scoped like this, a builder given "one day" usually just starts. No hour budget, no named interaction, just an open editor and a deadline of five o'clock. That habit costs almost nothing on a feature that's mostly familiar. It costs the whole day on one that isn't, because there's no block reserved for finding out where it actually breaks.

Knowledge spark: what's a UI shell? A screen or panel that already exists in the product, wired to real data, that a new feature can be dropped into. Using one means skipping the work of building a new screen from nothing.

Here's the turn. The extra hours spent polishing a screen are not the real cost. The real cost is what those hours take from the block that was supposed to prove the idea. A prototype with a nice screen and two test runs behind it has not actually been tested. It has been decorated.

We didn't lose an afternoon to a new screen. We lost the fourteen test runs that would have told us where it breaks.

At its worst, that gap shows up in the room. Someone in the review pastes in their own real thread, the one you never tried, and the assistant returns a time that's already booked. Now the room doesn't just doubt the polish. It doubts whether the idea works at all, and a bad first look is hard to undo.

The decision that mattered Size the day by three named blocks, scope, wiring, real-input testing, with wiring capped by whether a screen already exists to reuse. Not "build it fast" with no hours written down anywhere.

The choice I would take back. On an earlier prototype, I didn't check whether an existing screen could carry the new feature before I started. I opened a blank file and began building a panel from nothing, because it felt like the obvious way to start the day. That was fine on features where a new screen was genuinely needed. It was the wrong first move on a feature the product already had a home for.

What I would leave alone. The result card's visual polish, the exact spacing, the little animation when a time slot appears, doesn't matter for a one-day proof. Nobody in a scoping review is grading whether the card slides in smoothly. They're checking whether the three times it proposed were actually free. Spend zero extra hours there.

The lesson. A day with no hours written down isn't a fast day. It's a day where the block that needed protecting the most, real testing, is the one with no claim on any of the time.

Now here is the same thing as a story

The short version is above. Read on if you want to feel why the hour budget is the whole decision, not a formality before the real work starts.

Corinne Vasseur has shipped four features at Daybook, a calendar app used by small teams who are sick of scheduling meetings by email. She's good under a deadline. Ask her to turn around a proof-of-concept and she'll usually have something on screen before lunch.

Her manager gave her one day, a Monday, to build a working prototype of an AI scheduling assistant before Tuesday's roadmap review. Not a slide deck. Something the leadership team could actually try, pasting in a real thread and watching it propose times.

Corinne opened a blank file at nine and started building a new panel: a text box for the pasted thread, a results area for the three proposed times, a loading state, an error state. It felt like the right way to start a build day. By early afternoon she had a screen that looked genuinely good, clean cards, a small check mark animation when a slot came back confirmed.

She ran it twice against threads she'd written herself to sound realistic. Both times it worked. She spent the last hour tightening the spacing on the result cards.

Hand-sketched comparison. Left panel, a red-tinted shape labeled built the screen from scratch, captioned 6 hours wiring, room for 2 real tests. Right panel, a green-tinted shape labeled reused the chat drawer, captioned 2.5 hours wiring, room for 18 real tests.
Same eight-hour day, spent two different ways. One buys a polished screen and two tests. The other buys a plain screen and eighteen.

In the review, a director pasted in an actual thread from her own inbox, three people arguing gently about a Thursday that didn't exist because of a public holiday nobody had flagged. The assistant proposed a time on that Thursday anyway. It had never seen a thread with a holiday in it, because Corinne had only ever tested the two she'd written herself.

We didn't build a bad assistant. We built a screen that had only ever met two friendly test cases.

The review moved on to other things fast. Nobody said the idea was dead. But nobody asked to see it again, either, and the feature didn't make the next quarter's plan.

Corinne got another one-day slot two months later, a different corner of the same idea: propose times from a thread where people are in different time zones. This time, before opening anything, she wrote three numbers on a sticky note. One hour to scope the exact interaction. Two and a half hours to wire it, because Daybook already had a chat drawer built for a different AI feature, a panel that took text in and showed structured results out. She'd drop this into that instead of building new. Whatever was left, she'd spend testing.

Wiring actually took two hours twenty. That left four hours forty for real threads. Fifteen minutes a run, checking the proposed times against the calendars by hand. Eighteen runs by five o'clock, pulled from her own inbox, a coworker's inbox, and a few she asked people to forward on purpose because they looked messy.

Four of the eighteen came back wrong. Two proposed a time across a date-line flip that didn't actually work for the person on the other side. She fixed the date-line handling with forty minutes to spare and reran those four. All four came back clean.

In the next review, the same director pasted in a real thread live, unscripted, the way she had two months earlier. It worked. Not because the screen looked nicer. It didn't, it was still the plain chat drawer. It worked because eighteen real threads had already found its weak spot, and she'd fixed it before anyone else saw it.

The thing I'd tell myself, the morning I opened that first blank file: an empty editor at nine a.m. feels like progress. It isn't, until you know what block of the day it's stealing from.

BOUND, said out loud before you build a single screen

This is a sizing question about how to split a fixed day across scoping, wiring, and testing, not a person's trust flipping between two settings, so BOUND fits and FLIPS doesn't.

B, break it down. The day's hours equal scoping hours, plus wiring hours, plus real-input testing hours, and they have to sum to the day you've actually got. For an eight-hour day, that's the whole equation.
O, own the numbers. One hour to scope the single interaction: propose three times from one messy thread. Two and a half hours to wire it, reusing Daybook's existing chat drawer instead of building a new screen. The remaining four and a half hours go to running it against real threads. One plus two and a half plus four and a half is eight.
U, use a range. That two and a half hours of wiring assumes a reusable shell exists. Without one, building a new panel from nothing runs closer to six hours, which drops testing to about one hour on the same eight-hour day. The range on wiring is two and a half to six hours, and it turns entirely on whether a screen already exists to drop into.
N, nail the sanity check. A real test run, at about fifteen minutes each, means four and a half hours of testing is eighteen runs, and one hour is four runs. A prototype needs at least ten real runs before it's safe to trust in a live room. Eighteen clears that. Four doesn't.
D, direction. The UI-reuse assumption moves the total far more than the target number of test runs does. Losing the reusable shell swings wiring by three and a half hours, which drops testing capacity from eighteen runs to four, the difference between clearing the ten-run bar and missing it badly. Deciding you want twenty runs instead of eighteen only costs another thirty minutes. If the day feels too tight, check for a reusable screen first, before cutting the testing block to hit a target count.

The build-up: an eight-hour day, three blocks
Scope the one interaction1 hr
+ Wire it into the reused chat drawer3.5 hrs
+ Test against real threads8 hrs
Scoping and wiring together take three and a half hours when a shell already exists. Everything past that, four and a half hours, is real testing time.
What moves the total most (swing in real test runs)
No reusable shell exists (wiring 2.5 to 6 hrs)−14 runs
Whole day shortened from 8 hours to 6−8 runs
Test run time drops from 15 to 10 minutes+9 runs
Scoping hour skipped, rolled into testing+4 runs
Whether a shell exists swings the day more than losing two whole hours off the schedule does. That's the assumption worth checking first, not the one worth cutting.

And if you want to be sure it really works, try it somewhere else

A different prototype, a different day: a nonprofit's volunteer platform gets one day to prove an AI feature that reads a shift-coverage request and drafts a message to the three volunteers most likely to say yes, instead of a coordinator guessing who to ask.

B, break it down. Same equation, different day length. The volunteer team can only get a coordinator's time for six hours, not eight, so the blocks are scoping, wiring, and testing hours summing to six.
O, own the numbers. Forty-five minutes to scope: draft one message from one shift request, ranked against the three most likely volunteers. Three hours to wire it, because there's no existing panel to reuse here, the platform has never shown AI-drafted text anywhere, so a small new screen has to get built. That leaves two hours fifteen for testing.
U, use a range. If the coordinator's own shift-history spreadsheet can be read directly instead of re-entered by hand, wiring drops to about two hours, freeing an extra forty-five minutes for testing. If the volunteer-reliability data has to be manually pulled together first, wiring stretches past four hours and testing nearly disappears.
N, nail the sanity check. A real test run here, drafting a message and checking it against a real past shift, takes about ten minutes. Two hours fifteen of testing is thirteen runs. That's under the ten-run floor by a comfortable margin, but tighter than the scheduling assistant's eighteen, worth flagging honestly rather than rounding up.
D, direction. Here it isn't UI reuse that swings the day most, it's whether the reliability data is already in one readable place. That's the lever worth checking before the day starts, the same way the calendar app's answer checked for a reusable screen.

Same shape, different lever At Daybook, the thing that decided the day was whether a screen already existed to drop into. At the volunteer platform, the category list of interactions barely changes, but the day still lives or dies on whether the data the assistant needs is already sitting in one place or has to be assembled by hand first.

Swap the trigger and it still runs.
Speed: an interviewer caps the answer at ninety seconds. Skip straight to the split: an hour to scope, two and a half to wire by reusing what exists, the rest to test against real input, eighteen runs, well past the ten-run floor.
Cost: instead of one day, a manager offers half a day. Cut wiring first if a shell exists, testing second only as a last resort, since testing is the block that actually tells you anything.
The model got better: a newer model handles time zones and holidays without being told. Wiring doesn't get any faster from that. Testing still needs its own real hours, because a better model still needs to be checked against the specific messy inputs this product will actually see.

Where people run it wrong.
They start building before naming the one interaction, so the day has no shape to protect.
They build a new screen out of habit without checking if one already exists to reuse.
They spend the leftover hour polishing the result instead of running one more real test.

How to use it live. Say the equation before any hour gets named: "the day is scoping hours plus wiring hours plus real-input testing hours, and I'm capping wiring by reusing whatever already exists." That buys the room to actually count instead of guessing a schedule that sounds fast.

Flashcards (click a card to flip it)

1 · THE FRAMEWORK
What framework fits a "build a working prototype in a day" question, and why not FLIPS?
Tap to flip
ANSWER
BOUND. This is a sizing question, how to split a fixed day across scoping, wiring, and testing, not a person's trust flipping between two settings.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Corinne Vasseur, a product manager at Daybook, a calendar app, who's shipped four features and is good under a one-day deadline.
3 · THE HABIT THAT COST HER
What did Corinne do on her first prototype day that ate her testing time?
Tap to flip
ANSWER
She opened a blank file and built a new screen from scratch without checking whether an existing panel could carry the feature, which took six hours and left time for only two tests.
4 · THE BUILD-UP, IN THIS STORY
What's the hour-by-hour build-up this answer turns on?
Tap to flip
ANSWER
One hour to scope, two and a half hours to wire by reusing the existing chat drawer, four and a half hours left to test against real threads, on an eight-hour day.
5 · THE OLD DECISION
What decision would you take back, and why did it make sense at first?
Tap to flip
ANSWER
Starting the day by building a new screen from nothing instead of checking for a reusable one first. It felt like the obvious way to start a build day, and it's fine on features that genuinely need a new screen.
6 · THE NUMBER
Fill in the blank: one hour scoping, two and a half hours wiring, and ___ hours testing, at fifteen minutes a run, is ___ real test runs.
Tap to flip
ANSWER
Four and a half hours of testing, eighteen real test runs.
7 · THE REPLAY
Same director, same live-paste moment, new plan. What changes?
Tap to flip
ANSWER
Eighteen real threads already found the date-line bug and it got fixed with forty minutes to spare. The director's live paste works, not because the screen looks nicer, but because it survived real input first.
8 · CROSS-PRODUCT TRANSFER
Section 4 answers this same question again for a different product. Which product, and what's the lever that swings its day?
Tap to flip
ANSWER
A volunteer platform's shift-coverage message drafter. There, the lever isn't UI reuse, it's whether the volunteer-reliability data is already in one readable place or has to be assembled by hand.

Check yourself Score: 0 / 0

Fill in the blank
1. On an eight-hour prototype day with a reusable chat drawer, one hour of scoping plus two and a half hours of wiring leaves ___ hours for testing, which at fifteen minutes a run comes to ___ real test runs.
Show hint
Check the O step's own arithmetic, then divide the leftover hours by fifteen minutes.
Show answer
4.5 hours, 18 real test runs. One plus two and a half is three and a half, leaving four and a half of an eight-hour day. Four and a half hours is 270 minutes, divided by 15 is 18.
Multiple choice
2. Why does whether a reusable UI shell exists move this schedule more than the target number of test runs does?
  • A. Building a new screen is more fun, so it gets prioritized over testing.
  • B. Test runs are cheap to add no matter how many hours are left.
  • C. Losing the reusable shell swings wiring by three and a half hours, which drops testing capacity from 18 runs to 4, while raising the target run count only adds an hour or two.
  • D. The number of test runs doesn't actually affect whether the prototype works.
Show hint
Compare the size of the swing in the sensitivity chart's top row against losing two whole hours off the schedule in the second row.
Show answer
C. The UI-reuse assumption is worth 14 test runs of swing, more than losing two entire hours off the day (8 runs). One decision dwarfs the other.
True or false
3. True or false: Corinne's first prototype failed in review because the model got the scheduling logic wrong.
  • True
  • False
Show hint
Check what the two test runs she did run actually covered, versus what the director's live thread had in it.
Show answer
False. The assistant failed on a holiday-affected date it had never been tested against. The gap wasn't the model's logic, it was that only two friendly test cases had ever been run before the review.
Short answer, the number question
4. If test runs took ten minutes each instead of fifteen, on the same 4.5-hour testing block, how many real test runs would that buy? Show the math.
Show hint
Convert the testing block to minutes first, then divide by the new run length.
Show answer
27 real test runs. 4.5 hours is 270 minutes. 270 divided by 10 is 27, nine more than the 18 runs at fifteen minutes each.
Short answer, apply it yourself
5. Pick an AI feature you've seen demoed or would want to build yourself. If you had one day to prototype it, what's the one interaction you'd scope it down to, and is there an existing screen you could reuse instead of building new?
Show hint
Name one concrete input and one concrete output, not a feature area, and check what screens the product already has before assuming you need a new one.
Show answer
Model answer: "A grocery app's meal-planning assistant. I'd scope it to one interaction: paste a week's worth of dinners you're bored of, get back three new recipes using what's already in your cart. I'd drop the results into the app's existing recipe-card screen instead of building a new layout, so the day's hours go to testing against real, oddly-worded requests instead of building a card from nothing."
Short answer
6. Corinne's second attempt found 4 bad results out of 18 real test runs, all from the same date-line issue. Why does finding those 4 during the prototype day matter more than the fact that 14 out of 18 worked?
Show hint
Think about who finds the 4 bad ones if not Corinne, and when.
Show answer
Model answer: Fourteen clean runs tell you the happy path works, which you could mostly have guessed. The 4 broken ones are the ones that would have shown up live in front of the director instead, the exact failure her first attempt shipped with. Finding them on your own clock, with time left to fix them, is the entire point of the testing block.
From U2xAI Academy

From answering questions to owning outcomes.

A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.

  • A live AI agent you actually shipped
  • A launch decision you can defend under pressure
  • An interview-ready portfolio, not more flashcards
Know more