CaseIntermediateResponsible AI & Advanced Practice / Building an AI PM portfolio / #7
Describe a portfolio project you could complete in two weekends that would be genuinely differentiating.
BOUND Camille Fontaine is scoping a crop-disease photo classifier for Hollow Creek Growers, a small farming co-op, into two real weekends
Camille Fontaine works full-time and has exactly two weekends before her next round of AI PM applications go out. Her portfolio project, modeled on Hollow Creek Growers, a small farming co-op, is a photo classifier that flags likely crop disease from a phone snapshot. Idris Salaam mentors early-career candidates and agreed to review her plan before she started.
The direct answer
Twenty hours, spent right, is enough: about four collecting public crop-disease photos, three hand-labeling a small forty-image test set nobody else built for you, five building the classifier itself, three testing it against that set and writing up what it got wrong, two naming the trade-off you chose, and three polishing and shipping it. The hand-labeled test set is the one piece that actually differentiates the result.
Do this, in order
Spend real hours hand-labeling your own small test set, even just forty images.Why: it's the one piece almost no other weekend-project candidate bothers to build, and it's what proves judgment.
Pick a classifier idea simple enough to build from existing tools, not from scratch.Why: twenty hours doesn't cover training a model from zero, and it doesn't need to.
Cut anything that doesn't fit the time box, on purpose, and say so.Why: naming what you deliberately left out shows judgment, not just running out of time.
Test against your own set and write up the failures honestly.Why: this is the part of the twenty hours that actually gets read, more than any UI polish.
Keep a range in mind, not a fixed twenty hours.Why: real projects run long, and knowing your worst case in advance stops a spillover from feeling like failure.
Spend the least time on polish, since it differentiates the least per hour.Why: a rough interface with real evidence behind it beats a beautiful one with none.
How to answer this, stage by stage
Nobody's checking whether your time estimate is exactly right. They're checking whether you can size a real project honestly and know which hour actually earns its keep.
Stage 1
Scope it to a real time box
Say it like this
"I'll answer this for someone with exactly two weekends, about twenty real hours, before their next round of applications."
Why this works
Turns a vague "what could you build" question into a real constraint you can size against.
Stage 2
Say your structure out loud
Say it like this
"I'll use BOUND. Break it down, the equation. Own numbers, my assumptions. Use a range. Nail the sanity check. Direction, what swings it most."
Why this works
Signals a real estimate with shown work, not a guess dressed up as a plan.
Stage 3
Break down the equation
Say it like this
"Total hours equal data collection, plus building a hand-labeled test set, plus the classifier itself, plus testing and writing up what it got wrong, plus polish."
Why this works
States the whole equation before touching a single number.
Stage 4
Own the numbers
Say it like this
"About four hours collecting public photos, three hand-labeling forty test images myself, five building the classifier, three testing and writing it up, two naming the trade-off, three on polish."
Why this works
Every hour has a stated reason, not a number picked to sound tidy.
Stage 5
Give the range
Say it like this
"That's twenty hours typical. Best case, using a dataset I already know well, maybe fourteen. Worst case, if the photo quality is messier than expected, it spills into a third weekend, near thirty."
Why this works
A single number implies a confidence nobody actually has going into a weekend project.
Stage 6
Sanity-check it
Say it like this
"Twenty hours is less than most candidates spend polishing their resume across a whole job search. Spending that same time on one real artifact is a better trade, not a bigger one."
Why this works
Compares the estimate to something the listener already has a feel for.
Stage 7
Name the direction, and close
Say it like this
"The hand-labeled test set, only three hours, is the single biggest lever. It's the one thing almost no other weekend project has, and it's what turns a demo into evidence."
Why this works
Names which single hour is worth protecting if the whole plan has to shrink.
Let's learn
Picture two real weekends, twenty honest hours, and one decision about where every single one of them should go.
Before Camille scoped it out loud, her plan sat as one line in a notebook: "build a crop disease app." No hours attached, no sense of what would actually fit.
Knowledge spark: what's a golden test set?
A small group of examples someone has checked by hand, so you know the true answer for each one. It's what lets you say "the model got 32 of 40 right," instead of just "it seemed to work" after looking at a few outputs.
After scoping it against real hours, the plan became four buckets: data, a hand-labeled test set, the classifier, and the write-up, each with its own number attached, adding to twenty.
Twenty hours, broken into the real build-up
Only 3 of the 20 hours go to the hand-labeled test set. It's the smallest bucket and the one that matters most.
At its worst: a candidate spends all twenty hours on a beautiful interface with a spinning progress bar and confident percentages, and nobody, including the candidate, actually knows if the underlying classifier is any good.
Direction: what swings the estimate most
Of the whole twenty hours, the three spent building a hand-labeled test set matter more than any other single bucket. It's the smallest time investment and the part almost every other weekend project skips entirely, which is exactly why it differentiates.
What I would leave alone: a rough, unpolished interface is fine to ship as-is. Reviewers forgive a plain-looking demo far more readily than they forgive a demo with no real evidence behind its claims.
Twenty hours was never really about the classifier. It was about whether three of those hours went toward proof nobody could fake.
The lesson: a weekend project's differentiation was never going to come from ambition. It came from the one small, unglamorous bucket of hours nearly everyone else skips.
Now here is the same thing as a story
The short version above is what you'd say defending this plan to a mentor before starting. Read this one for how Camille actually built it.
Camille has spent three years running a small vegetable operation on the side, and she can spot early leaf blight from six feet away, a skill with no formal name on any resume template.
Her first pass at planning the project ran the way most weekend plans do: excited, vague, and completely unscoped, with "build something impressive" doing all the work a real plan should have done.
Two weekends, broken into blocks small enough to actually finish, instead of one big vague ambition.
Idris asked her one plain question before she wrote a line of code: "which twenty hours are you actually planning to spend, and on what?" She didn't have an answer yet.
Only one idea sat in the corner that mattered: differentiating enough to matter, and actually finishable in twenty hours.
She spent the first Saturday morning collecting about 150 public crop-disease photos across three common conditions, and the afternoon doing something she almost skipped: hand-labeling forty of them herself against a plant-pathology reference guide, refusing to just trust the dataset's existing labels.
Four small parts, and the second one, the hand-labeled set, took the least time and mattered the most.
Sunday went to building the classifier itself, using an existing pretrained vision model rather than training one from nothing, since twenty hours was never going to cover that.
The order mattered as much as the hours. The eval set got built before the classifier, not after.
The second weekend went to testing against her own forty-image set, writing up the six it got wrong, and naming the trade-off she chose on purpose: flagging borderline cases for a human look rather than guessing confidently either way.
Four things she deliberately didn't build, and said so plainly, instead of quietly running out of time on all of them.
Same twenty hours, spent two different ways. Only one of them actually proves anything.
The old plan asked twenty hours to somehow produce something impressive. The new one asked twenty hours to produce three hours' worth of real evidence, and let everything else be genuinely, deliberately rough.
I planned to spend my two weekends chasing something that looked impressive, because that felt like the whole point of a portfolio project. Idris's one plain question about which twenty hours I'd actually spend is what showed me the real point was three specific hours, not twenty impressive-looking ones.
BOUND, on two weekends and twenty hoursNot a guess dressed up as ambition. An equation, with a range, and one real answer for what swings it.
B
Break it down. The equation.
Total hours equal data collection, plus a hand-labeled test set, plus the classifier, plus testing and write-up, plus polish.
States the whole equation before touching a single hour.
O
Own numbers. Each bucket, sourced.
Four hours data, three hand-labeling, five building, three testing and writing, two on the trade-off, three on polish.
Every hour has a stated reason, not a number chosen to look tidy.
U
Use a range. Low and high, not one guess.
Twenty hours typical. Fourteen best case. Thirty worst case, spilling into a third weekend.
A single number implies confidence nobody genuinely has before starting.
N
Nail the sanity check.
Twenty hours is less than many candidates already spend polishing a resume across a whole search.
Compares the estimate to something the listener already has a real feel for.
D
Direction. What swings the estimate, and the result, most.
The three hours spent on a hand-labeled test set, the smallest bucket, differentiate the project more than any other single hour.
The hardest step, and the one that turns a time estimate into an actual plan worth following.
How much each choice would change the project's differentiation, by hour spent
The hand-labeled test set takes the fewest hours of the four and moves differentiation the most. Polish takes real hours and moves it the least.
The recap, one line per letter: break it down is the five-bucket equation, own numbers is each bucket's sourced hour count, use a range is the fourteen-to-thirty-hour spread around a twenty-hour typical case, nail the sanity check is the resume-polishing comparison, and direction is the small, high-leverage hand-labeled test set.
And if you want to be sure it really works, try it somewhere elseSame five letters, a library cataloguing project instead of a crop-disease classifier. A different candidate, and this time the biggest lever isn't a test set at all.
Renata Dubois scoped a weekend project that flags likely duplicate or mismatched catalog records for a small public library system, using a model to compare book records for near-duplicates humans miss. Applied to BOUND: break it down is total hours equal pulling a sample of real catalog records, plus writing rules for what counts as a true duplicate, plus building the matching logic, plus testing against a hand-checked sample, plus write-up. Own numbers: three hours pulling about 300 anonymized public catalog records, four hours defining what actually counts as a duplicate since the rules turned out messier than expected, six building the matching logic, four testing against fifty hand-checked pairs, three on write-up and polish. Use a range: twenty hours typical, sixteen best case, twenty-eight worst case if the duplicate-definition rules needed a second pass. Nail the sanity check: twenty hours is less than a single week of the manual review process the library currently runs by hand each quarter. Direction: here the biggest lever wasn't the test set, it was the four hours spent precisely defining what counts as a duplicate, since a vague definition would have made every later hour worthless.
The same four-part shape holds up, but this time the highest-leverage hour sits in a different part entirely.
Swap the trigger and it still runs.
Speed: an interviewer caps you at thirty seconds. Say "twenty hours, three of them on a real hand-labeled test set, that's the differentiator," and stop.
Cost: you genuinely only have one weekend, not two. Cut the write-up to one page and keep the test set fully intact; it's the part that can't be skipped.
The tools get better, for real: if better pretrained models make the classifier itself trivially easy to build, that's still not a reason to skip the hand-labeled test set, an easier build makes the test set proportionally more of what actually differentiates you.
Where people run it wrong.
They spend the bulk of their hours on polish and interface, the bucket that differentiates the least per hour.
They skip building their own test set and trust an existing dataset's labels without checking any of them by hand.
They plan a project too big for the time box and end up with something unfinished instead of something small and complete.
How to use it live. When asked to describe a weekend-sized project, name the hours out loud before naming the idea: "twenty hours, and here's exactly where each one goes." That single habit is more convincing than any single feature you could describe.
Flashcards (tap any card to flip it)
1 · THE FRAMEWORK
What framework fits "describe a two-weekend portfolio project that's genuinely differentiating"?
Tap to flip
ANSWER
BOUND: break it down, own numbers, use a range, nail the sanity check, direction. Direction names the hand-labeled test set as the highest-leverage hour.
2 · THE PEOPLE
Who is this answer about?
Tap to flip
ANSWER
Camille Fontaine, who scoped a crop-disease classifier for Hollow Creek Growers, and Idris Salaam, the mentor who reviewed her plan.
3 · THE EQUATION
What are the five buckets in the total-hours equation?
Tap to flip
ANSWER
Data collection, a hand-labeled test set, the classifier build, testing and write-up, and polish. Each bucket has its own sourced hour count.
4 · THE BIGGEST LEVER
Which bucket of hours differentiates the project the most?
Tap to flip
ANSWER
The three hours spent building a hand-labeled test set, the smallest bucket of the five and the one almost every other weekend project skips.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
Planning to spend the two weekends chasing something that looked impressive, before ever breaking the twenty hours into real, sourced buckets.
6 · THE NUMBER
Fill in the blank: the typical build runs about ___ hours, with a worst case near 30 if it spills into a third weekend.
Tap to flip
ANSWER
20 hours. The best case, reusing familiar tools, runs closer to 14.
7 · THE REPLAY
Same twenty hours, redesigned plan. What changes?
Tap to flip
ANSWER
Three hours go to a hand-labeled forty-image test set before the classifier is even built, instead of all twenty hours going toward an impressive-looking but unverified demo.
8 · CROSS PRODUCT TRANSFER
Section 4 answers this again for a different product. Which product, and what changed about the biggest lever?
Tap to flip
ANSWER
Renata Dubois's library duplicate-record matcher. There, the biggest lever wasn't the test set, it was the hours spent precisely defining what counts as a duplicate in the first place.
Check yourself Score: 0 / 0
Fill in the blank
1. Fill in the blank: of the 20 total hours, only ___ go to the hand-labeled test set, the bucket this answer says matters most.
Show hint
Look at the stacked bar chart of the 20-hour build-up.
Show answer
3 hours. It's the smallest bucket of the five, and the answer says it's also the highest-leverage one.
Multiple choice
2. Why does this answer say the hand-labeled test set matters more than polish, even though polish takes about the same number of hours?
A. Polish is always technically harder to build than a test set.
B. Almost every other weekend project skips the test set, so it's what actually differentiates the result.
C. Reviewers never look at the interface at all.
D. A test set is required by most application forms.
Show hint
Look at the direction step and the sensitivity chart.
Show answer
B. Differentiation comes from doing the thing other candidates skip, not from doing the thing everyone already does a little better.
True or false
3. True or false: this answer recommends training a model from scratch to make the project more impressive.
True
False
Show hint
Look at "what got cut to fit the time box."
Show answer
False. Training from scratch is explicitly cut, since twenty hours doesn't cover it and an existing pretrained model does the job fine.
Short answer, name the reversal
4. What planning mistake does this answer take back, and why did it seem fine at first?
Show hint
Look at the story's description of Camille's first, unscoped plan.
Show answer
Model answer: Planning to spend the weekends chasing something impressive-looking, which felt like the whole point of a portfolio project, before breaking the time into real, sourced hours.
Short answer, where it wouldn't matter
5. Name a case where spending extra hours on polish would actually be the right call.
Show hint
Think about what happens once the evidence-generating buckets are already solid.
Show answer
Model answer: Once the hand-labeled test set and the write-up already exist and hold up, extra time spent on polish helps a reviewer engage with evidence that's already real.
Short answer, apply it yourself
6. Think of a small project you could realistically finish in about twenty hours. Which single hour-sized piece of it would most prove real judgment, rather than just effort?
Show hint
Look for the piece that requires a real decision, not just more time spent.
Show answer
Model answer: Most people can name one small, checkable piece, like testing their own work against a handful of real cases they judged themselves, rather than trusting the first result that looks right.
Before you close the answer
Why this works
Tests whether you can size a real, time-boxed project honestly, with a shown equation and a real range, instead of describing an ambitious idea with no sense of what actually fits.
Follow-up traps
"Isn't forty hand-labeled images too small a sample to mean anything?" Response: it's small on purpose, since the point isn't statistical rigor, it's proving the habit of checking your own work rather than trusting a dataset blindly.
"What if you run over into a third weekend?" Response: that's already priced into the range as the worst case, and running long on the test set specifically is a better use of overflow time than running long on polish.
If pressed
Camille's classifier used an existing pretrained vision model with a simple added confidence threshold, correctly matching her own hand labels on 32 of 40 test images, with the six misses concentrated in one disease category she names directly in the write-up.
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.