Designing for AI means designing like it’s 1999 – Patrick Neeman
“The tools are remarkable; the ground under them is soft, shifting like a tech quicksand. That isn’t a complaint. It’s an invitation. The conventions that will eventually feel obvious — the ones the next generation of designers inherit without thinking about them — don’t exist yet.”
Designing how designers master AI – Amber Bouabdallah
“…In the post-mortem survey she wrote that what she valued in these sessions was ‘a window into someone’s thinking.’ That phrase is the whole finding. When everyone uses the same buttons, watching a colleague work is informative but not revelatory. When mastery is personal — when the same tool produces wildly different work depending on who’s wielding it — watching someone use it well becomes a window into how they think. You’re not watching someone operate software. You’re watching them think exponentially.”
AI as a Design Medium - Erick Rodenbeck
AI tools will push your design toward something stable, conventional, boring, cliché. That’s great if your sole aim is to be efficient, but it’ll make it hard to find the interesting edges of the solution space where the new ideas lurk.
Know your rights as a U.S. Citizen – Papers, Please!
Worth a read.
Digital Security Checklists for Activists
Worth a read.
The prompt is not an interface. Why AI sent us back to the command line… – Joshua Leigh
The difficulty with chat interfaces is that they squeeze all of our thinking and perception into a single narrow channel. I’ve witnessed this myself, struggling to describe the changes I’d like to explore with a card-shuffle animation, trying with difficulty to explain just what felt unsettling about the result and how I thought it might need to be changed. Chat is an exciting interface that can be bolted on just about anywhere, but it’s not always the best choice.
The Spiral Climbs: Ideas Are Expensive, Systems Are Cheap – Pavel Bukengolts
At first sounds like it is opposite to the way I generally think of things, where ideas are cheap and the successful, thoughtful execution of an idea is the hard part. Pavels’ thesis is that execution is becoming so cheap, and iteration borne of usage so easy that the energy needs to go into refining and expressing the idea. Same as it ever was.
When Shipping Software Becomes Too Easy – Julie Belião
“If shipping becomes frictionless, the real scarcity moves elsewhere: clarity of intent, product judgment, and long-term coherence. Product management becomes less about leading and coordinating work and more about protecting direction.”
Don’t show me the lobby
The first thing you do in Monotasker is tap a checkbox. No tutorial, no tour. And no permissions granted yet. Just the thing you’ll tap every time you use the app.
(Monotasker is in App Store review – I’ll update this post with a link when it’s live.)
That first tap fires the iOS Reminders permission dialog. Not a blurb with a “Connect my Reminders” button – the completion checkbox. The same gesture the app is built around.
I built Monotasker to solve a specific problem: I have too many side projects, and it’s easy to get bogged down in the list. Staring at 30 items can be as bad as having no list at all. The app picks one reminder at random and shows it to you, persistently, until you decide you’re done with it or want a new one. That’s it.
The more interesting design decision happens before you ever load your tasks.
The lobby problem
Most apps treat onboarding as a lobby. You’re outside the real place, getting oriented before you go in. The screens have a different visual style: bigger type, illustrations, a progress indicator, two-phase permission requests. Big obvious buttons, not the controls you’ll actually use. You tap through explanations of features you haven’t used yet. Then you arrive.
The implicit message: “here’s what to expect from the app. Remember all of this. Now let’s see if you paid attention.”
That moment of arrival requires re-learning. You have to reconcile what you were just told with what’s actually in front of you. The controls are smaller. The tone is different. The decisions you make matter now.
Nearly every app has a lobby standing between you and what you came for. Or a tour – a list of things to remember that you’ll forget before you need them.
One interface, not two
The onboarding design I made for Monotasker starts with a single principle: get users into the real interface and have them use it, as fast as pleasantly possible. Every onboarding screen uses the app’s main visual language – the gradient background, the post-it-style task card, the same typography. No separate marketing UI.
The onboarding screen shows a card that explains the concept in one sentence, with one visible control: a completion checkbox in the upper-left corner of the card. Tapping that checkbox fires the system permission dialog.
Why it works: that card and its checkbox are the centerpiece of the app. Not a metaphor for it, not a stand-in. When you grant permission and land on your first real task, the checkbox appears in the same place, doing the same thing. There’s nothing to re-learn. The gesture that gets you using the app is the gesture the app runs on.
The bigger idea
I’ve written before about coordinated experience – the idea that a well-designed system guides users through a task completely, without asking them to do work the system could do for them. Onboarding is the same problem one level up. Most onboarding asks users to remember what the tutorial explained, then go find those things once they arrive.
Putting users inside the interface from the first tap removes that work. The permission dialog isn’t something that happens before the app – it’s something that happens naturally at the right time. The empty state is the real experience, waiting for input.
Resist the impulse to design a special onboarding mode with its own visual language. Use the real thing. Trust the interface to explain itself.
A useful test
If your onboarding screens look noticeably different from your app screens, you’ve probably built a lobby.
The visual break signals a gap between “what we say the app does” and “what the app actually does.” Sometimes that gap is unavoidable – a genuinely complex setup may need explicit guidance. But in most cases it means you don’t trust the interface to stand on its own.
The first screen is already the app. It might as well look like it.
The text is not the product — Lisa Herzog
Generative AI makes it easy to produce scads of text. But simply producing text is not the point, in many cases – creating meaning, communicating ideas, is. So let’s remember that production is cheap and and volume is no signifier of effort, anymore. Focus on the reason we are producing the text in the first place.
“Subtle line between animations that help and animations that hurt” – Marchin Wichary
Animation can be a quality of life improvement for your software, provided you don’t get it wrong. And numerous other small opportunities to make the experience better also exist.
Personal AI ethics – Simon Willison
A few solid points on how to be ethical when using an LLM or other AI tool. A key part of Simon’s longer “Making Large Language Models work for you,” still relevant three years on.
It’s rude to show AI output to people – Alex Martsinovich
Alex asks that we demonstrate proof-of-thought when we use AI tools. It’s a good policy even when we aren’t using AI tools!
How to facilitate a Concept Sprint
These notes assume you’ve read the process documentation. What follows is the harder-to-document stuff: the principles, the traps, and the moves.
The facilitator’s role
Your job is to be a warm, trusted guide with enough authority to keep things moving and enough energy to keep things active. You are not a neutral observer, not a drill sergeant. You are an interested participant who happens to be bringing the team to a happy destination.
A few principles worth internalizing before you walk in the door:
- The most effective instructions describe the desired behavior as natural and inevitable. “As we listen to these presentations, we’ll inevitably notice things customers struggle with or opportunities worth capturing — these stickies are here to capture those.” The behavior is obvious and expected.
- Give the reason with the instruction. People follow instructions better when they understand why. “Because we want to be able to cluster these later, we’re going to write one idea per note” is more effective than “write one idea per note.”
- Use “we” language. “We’re going to write our problems down one per sticky note” is an invitation. “You need to write one idea per sticky” is a command.
- Model what you want. When you notice a customer problem during Immersion, say so and write it down. Ask clarifying questions, especially when others are not. The facilitator should never appear to be sitting back.
- Coach the room, not the individual. When someone needs a gentle push, ask whether the instruction would benefit everyone. If it would, speak it into the room rather than at the person.
- Contribute where you can, but hold your ideas lightly. Never be so invested in your own ideas that you exert undue influence on any phase. Contribute where it helps: generating ideas, noticing problems, reframing benefits, demo prep, pitch prep, note-taking during validation, and synthesis afterward. Don’t take on anything critical during the build phase — you’ll have too much else to do.
- Let the schedule apply the pressure, not you. Name what needs to happen next and expect the group to participate.
- Celebrate little successes. The sprint has natural high points — a cluster that everyone recognizes, a concept that makes the room light up, a customer who gets visibly excited. Name these moments. Bring snacks.
Immersion
Steep the group in domain knowledge — product, customers, competition, market — deeply enough that they notice problems and generate benefits from a place of understanding.
Before the first speaker, prime the room. Don’t just introduce the speaker and step back. Set the group’s job first: “We have a handful of people here to tell us about [topic]. They are [who they are] and they’ll cover [areas]. Our job while they’re talking is to notice customer problems we might solve or benefits we might deliver. We’ll write those down as we go — one per sticky — and ask clarifying questions whenever something’s unclear.” This frames Immersion as active work, not a lecture.
Pitfalls to watch for:
- Pre-reads that are too long, too vague, or too internal. Good pre-reads are customer- and competitor-informed, concise, and scannable — research, interviews, data.
- Speakers who arrive with conclusions rather than information. When you notice this happening, reframe it for the room: “This person has been deep in this space and may have opinions — our job is to learn what they know, so we can find our way to a great concept.” You’re not correcting the speaker; you’re setting the group’s posture.
- Participants going heads-down on laptops. Banish laptops for this phase; there’s time in the schedule for people to be in touch with the office. Model active listening yourself: “That sounds like a real problem; I’m writing that down.”
- Too much internal content. The most common Immersion mistake is over-indexing on internal perspective and under-indexing on customer and market realities.
Don’t shortchange Immersion to save time. Under-immersed participants generate fewer and weaker ideas in the phases that follow. Wasted time in Immersion is recoverable; too little Immersion is not.
Participants should arrive at phase 2 with several customer problems already on stickies.
Problems (Phase 2)
Surface the full range of customer problems the group has noticed, cluster them into meaningful themes, and identify which clusters are most worth solving.
Each person reads a sticky and places it on the wall. Drive the clustering actively: name the clusters yourself and check for agreement rather than waiting for the group to self-organize. Invite people to write down additional problems they think of during this process. Imperfect clusters are fine; forward motion matters more than precision. For an energy boost, invite the whole group up to the board to move stickies around as they see fit.
Pitfalls to watch for:
- Solutions disguised as problems. When someone presents one, ask: “What is the problem that idea is meant to address?” Sometimes they need help grounding it in a specific person or situation.
- Clusters that are too large or undifferentiated. Discuss what makes some problems within the cluster different from others, and subdivide.
- Too few ideas. Ask what other ideas are sparked by what we’ve heard so far.
On scoring: the dimensions are common (does it affect many customers, come up often, matter to the prospects we want?) and painful (expensive, maddening, intractable). These are estimates, not data. If everything clusters high or low on one axis, move the origin; differentiation is almost always there if you look for it. Think of this as a practice run for benefit scoring, which matters more.
Carry the problem clusters forward into phase 3.
Benefits (Phase 3)
Ultimately the product will solve one or more problems by delivering a benefit. In this phase we are choosing the benefit to pursue.
Ask the group: “How would a customer know that the problems in each of these themes had been solved?” That question puts people in the right frame. Add a reminder that a benefit is a result not expressed in terms of the solution. Have people write down benefits, one per sticky, including any they noticed during Immersion.
Pitfalls to watch for:
- Benefits expressed as product features. Push toward customer outcomes: what does the customer feel, accomplish, or avoid? “Faster reporting” is a feature. “Always knowing what’s working before the budget meeting” is a benefit.
- Safe choices. Score on value to the customer and relevance to the business — how credible would we be delivering this, and is it strategically aligned? A benefit customers would love but that we’re poorly positioned to deliver is less attractive than one where we have genuine standing. If there’s a known constraint (e.g., a mandate to use a specific technology), score against that too.
- Picking the comfortable cluster. Name it, ask what a customer would say if told the problem was solved, and remind the group that we’ll learn more by getting out of our comfort zone.
Problems and benefits are not one-to-one. A single problem may spawn many benefits; a single benefit may cover multiple problems. The latter is often especially attractive strategically — worth saying out loud when the group is close to a decision.
Carry the selected problem/benefit set forward as the brief for concept generation. Write it where everyone can see it.
Concept Generation (Phase 4)
Each participant independently sketches one or more specific concepts, the group shares and discusses, and everyone converges on a single concept to build.
Specificity is the whole game. The most common failures are concepts that are too abstract, expressed as slogans rather than situations, or drawn as a single screen rather than a sequence of events. A good concept sketch shows real people in real situations doing real things. Remind participants: think in storyboards, not snapshots or headlines.
For the stuck: ask who is the protagonist and what they are doing, what they do next, or what started the sequence of events. Any of these can unlock someone who has frozen.
For the quick: ask them to sketch another way of delivering the same benefit, ask when the payoff occurs, or ask which steps could be reduced or designed away.
On participant dynamics:
- Engineers are the most likely to critique ideas at the wrong moment. Invoke the ground rules if needed — the gallery walk is for questions, not evaluation.
- Senior leaders and architects are the most likely to resist sketching. Normalize “making marks on paper” for the whole team. It doesn’t have to be pretty.
- Some people will zoom out and try to synthesize everything into something lofty or abstract. Redirect them toward specifics: the scene, the people, the sequence.
After the gallery walk, encourage the group to mix the best parts of the various ideas to arrive at a single powerful concept. Most groups negotiate easily and are excited about each other’s ideas. When they converge, summarize what they seem to have done. Get explicit agreement and write the selected concept on the whiteboard where it will stay visible for the rest of the sprint. If timing allows, land concept selection right before a break, and bring snacks or serve lunch. This is a genuine milestone.
If the group starts re-litigating the problem/benefit choice after concept selection, shut it down. Remind them the choice was deliberate and that re-thinking it now costs build time. If needed, ask product to restate why the chosen problem and benefit were compelling. Persistent argument gets all three in escalating order.
Concept selection is where the sprint pivots from divergence to convergence.
Building (Phase 5)
Produce a demo that expresses the problem, the benefit, and the concept — real enough for a customer to react to honestly.
The enemy of the build phase is the person who wants to plan it. Building needs to be active and free-form. Negotiating scope and content during the build is fine; stopping to schedule it is not. Identify the planner early and redirect them to making. Everyone should be busy and collaborating.
Check in at least three times: halfway through, when someone goes quiet or seems stuck, and about an hour before the first customer arrives. Each check-in is a chance to adjust scope: can we shrink this, cut that, or just talk about it rather than build it? Is our demo going to show what we need to show? Is someone blocked?
The most common build failure is a demo too long to fit a 30-minute customer session, where the demo is only one part. Remind the team of this constraint at check-ins as needed. A timed run-through in the final hour makes the case.
Keep the session structure firmly in mind: problem expression/validation, benefit expression, concept demo, follow-up questions. All four must be ready before the first customer arrives.
The build phase ends when the demo is strong enough to show or we run out of time — not when it’s perfect.
Customer Validation (Phase 6a)
Learn whether the problem resonates, the benefit excites, and the concept delivers, from real customers, honestly.
Arrive at the first session with a tight plan. Know what you need to show and what you need to learn. Assign roles before the first session: one person drives, one runs the demo, one takes notes; others observe and contribute questions.
Excitement leaks. The team will be proud of what they built, and that energy can surface as leading questions or overselling. Brief the team before the first session: our job is to learn, not to persuade.
Customers downplay their objections. When you sense a real concern being softened, draw it out: “Tell me more about that.” “It sounds like you’re not sure about X; is that right?” “What would you need to feel confident about deploying this?” Adapt to the flavor of the hesitation.
Between sessions, when there’s a gap of 20 minutes or more, use it. What are we learning? Is there anything to adjust in the framing or the demo? The demo can be refined between sessions if feedback warrants it, especially after recurring feedback.
When a session is deflating, remind the team that a skeptical customer is valid data and a bad session or two doesn’t invalidate the concept. After a difficult session, ask: what specifically did this customer object to, and what does that tell us about the concept, the framing, or the customer fit?
Sync with the implementation planning team whenever there’s a long gap and at the end of the day. Often the people in 6b finish first and can rejoin the validation team. Before pitch prep begins, make sure both teams have presented their findings to each other.
Implementation Planning (Phase 6b)
Arrive at a credible, honest answer to “could we do this, and roughly how,” enough for leadership to weigh, not enough to be mistaken for a commitment.
T-shirt sizes and a whiteboard fish chart are the right output. The most common failure in 6b is producing something too detailed that starts to look like a plan.
Pitfalls to watch for:
- Over-cutting. In the drive toward a lean MVP, teams sometimes scope down until the concept no longer delivers meaningful value. The test: would a customer be pleased by it? If not, you’ve cut too far.
- Not deferring enough. A good MVP delivers the core benefit clearly; everything else is a future iteration.
- Despairing of risks rather than naming them. When the team sees a hard problem or unknown, the instinct can be to treat it as a blocker. The job in 6b is to name risks, not solve them, so leadership knows what needs to be sorted and the team knows where to focus first.
- Forgetting existing capabilities. Ask explicitly: what do we already have that we can use or adapt? Existing platform capabilities, APIs, and infrastructure can dramatically accelerate delivery and change what belongs in the MVP.
This process predates AI-assisted coding. What once required a large team or long runway may no longer. Factor that in! It may shift scope, surface new constraints in place of old ones, or make a dependency diagram a better deliverable than a rough schedule.
Pitch Preparation (Phase 7)
A short, honest, compelling story, 30 minutes including the demo, that gives leadership enough to make an informed decision about next steps.
Before the team presents, set the stage for the executive audience: acknowledge the intensity and creativity of the week, and let them know the team is excited to share what they found. This primes the audience to receive the work generously and frames the pitch as the beginning of a conversation, not a verdict.
The pitch tells a simple story: we understood the assignment, learned the domain, chose a problem and benefit worth pursuing, built a cool thing, and showed it to real customers. Keep the deck minimal and let the demo and customer reactions do the heavy lifting. Over-producing at the expense of practicing the story is the most common mistake. Raw material from the week is more compelling and authentic than anything flashy.
Be honest about what you’ve learned and what you don’t know. Executives are better served by a clear-eyed account than a sales job. If customers were skeptical, say so and say what it tells you. If the implementation estimate has significant unknowns, name them.
How Claude Code’s Creator Starts EVERY Project – Austin Marchese
Good and quick rundown of some Claude tips form the Claude Code tech lead himself, some surprising.
obra/superpowers: An agentic skills framework & software development methodology that works. – Jesse Vincent
“Superpowers is a complete software development methodology for your coding agents, built on top of a set of composable skills and some initial instructions that make sure your agent uses them.”
If you thought the speed of writing code was your problem - you have bigger problems – Andrew Murphy
When you optimize a step that is not the bottleneck, you don’t get a faster system. You get a more broken one.
Vibe coding surfaces the questions. Product management answers them – Jeff Gothelf
“Every team I work with right now is building faster, shipping more and generally making more output. And a surprising number of them are confused about why it doesn’t feel like progress. It doesn’t feel like progress because speed without direction is just accelerated uncertainty. The “now what?” problem isn’t unique to my brother. Every team being urged to deliver more interactive versions of their ideas faster is facing it. And this question doesn’t get smaller when you ship faster. It gets bigger.”
The WebAIM Million – WebAIM
Every year, the fine folks at Web Accessibility In Mind do some automated testing on the top million home pages to see what accessibility problems they have in common. The most prevalent problems are also the most elementary, which is surprising.
When moving fast, talking is the first thing to break – Dave Rupert
“When you make speed and “moving fast” the biggest priority on a project or in an organization, the first thing to breakdown is talking to each other. Talking takes time. Consensus is expensive and slow. In a pressurized environment there’s no time to schedule calls, get input from subject matter experts, or resolve key differences of opinion. ASAP makes a big assumption that all relevant parties are already in the room.”
Handmade Designs: The New Trust Signal – Megan Chan
“People are buying vinyl, dusting off their wired headphones, shooting on film, and opting for things that are slower. Digital fatigue and AI fatigue are changing what resonates, and audiences are gravitating towards designs that look handmade.”
The Concept Sprint
A Concept Sprint is a short, usually week-long, in-person exercise meant to accelerate high-level exploration of a new area of development, a significant problem, or a strategic initiative. A blended team – product, design, architecture, engineering, marketing, and any truly relevant business stakeholders – generates a high-value product concept, validates it with live customers, and produces a pitch covering the problem, benefit, concept, and rough cost and timeframe to deliver a first version. The team works through seven phases led by a facilitator, book-ended by a welcome and a wrap-up. Below are my general instructions and guidelines, arrived at after running several of these at multiple companies.
Phases
a. Welcome
The Welcome is a short orientation for participants before Immersion begins. The facilitator covers three things:
- Purpose: Why we’re here, what a Concept Sprint is, and what we’re hoping to walk away with at the end of the week.
- Ground rules: The behavioral norms that will govern the week, especially the generation and categorization phases. (See Ground rules below.)
- Assumptions and known constraints: Anything the group is taking as given before we start — for example, a strategic directive to explore a particular technology, a market segment we are or aren’t targeting, or a business constraint that will shape what’s in scope.
The Welcome should be brief. Participants are eager to get into the material, and the most important orientation happens through doing, not explaining. Get through it crisply and move into Immersion.
1. Immersion
Supplies: sticky notes and fine-point markers, presentation materials, guest speakers, computers and a good internet connection
In Immersion the team learns all they can about current product capabilities, customers, competitive and alternative technologies, the difficulties customers face, and the opportunities those difficulties present. The goal is to steep ourselves in information that might be relevant to customer behavior or the aims of the sprint.
Give participants things to review prior to the first session. They can read these materials on the plane on the way to the session or the night before in their hotel room. Bring in experts from the business to present findings; if we’re running a sprint, we’ve likely already been studying the space and have people worth hearing from.
Participants should ask clarifying questions and be watchful for:
- customer needs or problems that we might consider satisfying, or
- customer benefits we might consider delivering.
Remind participants to capture problems and benefits on individual sticky notes as they go.
Scheduling this phase is critical. Speakers must be tightly scheduled, arrive on time, and deliver informationally-dense presentations. This phase opens the sprint; wasted time here delays everything that follows.
2. Problem review and categorization
Supplies: sticky notes and fine-point markers, whiteboard and markers
Each participant presents the problems they captured during Immersion. As problems are presented, others may find that they think of new ones; these should be offered to the group and added to the pool.
With all problems surfaced, the group works together to cluster them into themes. Each cluster needs a name for future reference.
The group then evaluates each cluster on two dimensions:
- How common this problem is among the people we want to sell to (Does it affect many customers? Does it come up often for the affected customers? Is it felt strongly by a set of prospects we are interested in?)
- How painful it is (expensive, maddening, intractable – is it something customers badly want solved?). These are the group’s best estimates, not data points; the goal is to make a collective judgment rather than wait for certainty that doesn’t exist yet.
Often the group will converge naturally on the most promising clusters. When they don’t, a dot-voting exercise can surface what the group is collectively thinking and narrow the scope of debate.
3. Benefit generation and categorization
Supplies: sticky notes and fine-point markers, whiteboard and markers
As with problems, participants have been watching for potential customer benefits during Immersion and have captured them on sticky notes. Before presenting those, however, the group pauses to consider the problem clusters from Phase 2: for each cluster, participants ask themselves what benefits a customer would receive if that problem were solved, and make note of any new benefits.
Each participant presents their sticky notes to the group. Others may build on presented benefits, offering new ones in the moment. The group then clusters the benefits into themes. Each cluster needs a name for future reference.
Each cluster is evaluated on two or three dimensions:
- How valuable would this benefit be to customers
- How relevant is it to the business – how credible would we be as the company delivering it, how strategically-aligned is it, etc. A high-value benefit that we’re poorly positioned to offer is a less attractive target than one where we have genuine standing or takes us in a direction we want to go.
- If the sprint is operating under a known constraint (for example, an assumption that the concept will use a particular technology), clusters may also be scored on how well they fit that constraint.
Problems and benefits are evaluated separately because the relationship between them is not one-to-one — a single problem may spawn many benefits, and a single benefit may cover multiple problems. The latter is often especially attractive strategically, suggesting a concept with broad impact.
Use dot voting to help the team converge if needed.
4. Concept generation and selection
Supplies: fine-point markers, letter paper, whiteboard and markers, computers and a good internet connection
Before concept generation begins, the group selects a problem/benefit pair to work against — typically comprising top-scoring candidates from phases 2 and 3. This target helps the group generate specific ideas that might reinforce each other, and maintains focus during the build phase. That said, a concept that also addresses additional problems or delivers additional benefits is not penalized for it; ambition is welcome as long as the concept is buildable and coherent.
Each participant then independently sketches one or more specific concepts: each a product idea or approach that delivers the chosen benefit to a specific customer facing the chosen problem. These sketches should express the experience of specific people operating the product concept. This is not the time to be abstract.
Sketches need not be polished – the goal is to make the idea tangible enough to share and discuss. Some participants may be reluctant to draw, so we typically encourage them to “make marks on paper” to express their ideas. The facilitator should time-box this work to keep energy high and prevent over-refinement.
When everyone has sketched, the group conducts a gallery walk: each author narrates their own concepts while the group listens and asks questions. The group and facilitator should both push toward specificity — the group by asking clarifying questions, the facilitator by reminding participants that specific ideas are more valuable to the group than impressive-sounding ones, and that abstract things are hard to build and evaluate.
A second sketching pass is sometimes useful, for example if concepts weren’t specific enough, or the group wants to remix what they’ve seen.
Blending or combining elements from multiple sketches is encouraged, but the group must land on a single coherent concept before moving to the build phase. Use dot voting to help the team converge if needed.
5. Building and customer validation prep
Supplies: computers and a good internet connection
With a concept selected, the entire group turns to building a demo. It’s up to the group to decide what to build (working software), what to fake (HTML, Figma, or slides), and what to leave as presentation materials. Any combination of these is valid, so long as the group arrives at Customer Validation with:
- An expression of the problem
- An expression of the benefit we hope to deliver
- A demo of the concept that is intended to deliver that benefit
As with concept sketches, we must resist the temptation to be abstract. A demo that shows a specific person doing a specific thing in a specific situation is far more evocative and easier for a customer to respond to than one that gestures vaguely at possibilities. The facilitator and the group should push each other toward specificity throughout the build.
Once the demo is in good enough shape, the group starts validation prep. This means aligning on the key questions the team hopes to answer during customer sessions and preparing a loose interview guide to keep conversations productive. Roles for the sessions should be assigned: who presents the context, who runs the demo, who asks questions, who takes notes. (Building can continue until the arrival of the first customer.)
Building and validation prep together constitute the longest sustained work period of the sprint. The facilitator’s job during this phase is to protect the time, keep the group focused on what is essential rather than merely nice to have, and ensure the group arrives at customer validation with something they feel confident showing.
6a. Customer validation
Supplies: customers, computers and a good internet connection
Customer validation sessions are run by a small subset of the group — typically a presenter, someone operating the demo, and a note-taker. The rest of the sprint participants are welcome to observe quietly; engineers and architects will often use this time to decamp and begin implementation planning in parallel (see 6b Implementation Planning).
Each session follows a loose sequence: the presenter establishes context by describing the problem, then asks the customer whether they recognize that problem in their own business. This is not a rhetorical question — the answer is genuinely informative, and customers who don’t recognize the problem are telling us something important. The presenter then describes the benefit the concept is intended to deliver, and the team runs the demo.
Customers should be told at the outset that the team values their honest reaction and that it is out of respect for their thinking that they were invited. This gives them permission to be candid.
The team is trying to understand:
- Is the selected problem relevant to this customer (and customers like them)?
- Is the selected benefit likely to be of high value to this customer (and customers like them)?
- Does the demo show the benefit being delivered?
- Does the customer see the demo as meeting a significant need in a way that is worth paying for?
- Is the demo exciting to the customer? Can they see themselves adopting the proposed capability?
- What misgivings, concerns, or feedback does the customer have?
This feedback can be used to refine the demo between sessions, and it will be used in pitch preparation later.
It is an acceptable outcome that some customers may not find the demo exciting, may not find the benefit appealing, may not find the concept meets a strong need. This is informative; this is why we do the validation.
Scheduling this phase is critical; see Notes about scheduling below.
6b. Implementation planning
Supplies: whiteboard and markers, computers and a good internet connection, and a location out of earshot of the validation team so as not to disturb the customers
While the validation team is with customers, engineers and architects – and any others not needed in the room – turn their attention to what it would take to ship an MVP. This work runs in parallel with Customer validation.
The central questions are:
- What is in the MVP, and what do we deliberately leave for later?
- What is the right sequence? What do we need to build first to unlock everything else?
- What does the technical approach look like at a high level — what are the key architectural decisions or investments?
- Roughly how much effort does this represent?
- What risks and unknowns will need to be sorted before or during implementation?
This is not a sprint plan or a commitment. It is a first-order answer to “could we do this, and roughly how” — the kind of grounded estimate that gives leadership something real to weigh when they see the pitch. T-shirt sizes and a sequence/schedule sketch on a whiteboard are fine. The goal is to arrive at pitch preparation with enough implementation shape that the concept doesn’t feel like a dream, and enough honesty about risks and unknowns that it doesn’t feel like a fantasy.
Note: this process was designed before AI-assisted coding dramatically changed what a small team can build in a short time. The implementation planning conversation should take that into account; what once required a large team or a long runway may no longer, though new constraints may emerge in their place.
7. Pitch preparation
Supplies: computers and a good internet connection
With customer validation complete and implementation planning in hand, the full group reconvenes to prepare a pitch for an internal executive audience. The pitch is short, 15 to 30 minutes including the demo, and tells a condensed story of the sprint.
That story has a natural arc: we understood the assignment, immersed ourselves in the domain, identified a problem worth solving and a benefit worth delivering, built something, and showed it to real customers. The pitch should follow that arc. A good structure is:
- The problem we chose, and why we found it compelling (common, painful, strategic)
- The benefit we chose, and why we believe we’re well positioned to deliver it
- The concept, demonstrated live
- What we heard from customers: what excited them, what gave them pause, what they said they’d pay for
- What it would take to get started: rough sequencing, effort, key risks and unknowns
The pitch should be honest about what was validated and what remains uncertain. Executives are better served by a clear-eyed account of what the sprint found than by a sales job. If customers were enthusiastic, say so and say why. If some were skeptical, say that too, and say what it tells us. The goal is not to get a decision in the room but to give leadership enough to make an informed one.
The sprint team should resist the urge to over-produce the pitch deck. The demo and the customer reactions are the most compelling material; the slides exist to set them up.
z. Wrap-up
Regardless of how the validation went, the team has accomplished a remarkable amount in a short time and should be thanked genuinely for their effort and creativity.
The Wrap-up is also the moment to align on next steps: who will be in the pitch, when it will happen, and who owns any loose ends. These don’t need to be resolved in the room, but they should be named and assigned before people scatter.
A retrospective can happen another time if needed. The goal here is to close the week with gratitude and a sense of accomplishment, not to extend it.
Notes about scheduling
A concept sprint is logistically demanding and the schedule is unforgiving. Two external dependencies anchor the entire week: immersion speakers and customer validation sessions. Both must be locked in well before the sprint begins, because everything else is scheduled around them.
Customer validation is the primary constraint. Once customers are scheduled, the rest of the sprint works backward from those sessions — each phase must be complete before the next can begin, so slippage anywhere cascades into build time. Aim for five to ten customers in closely-arranged half-hour slots, expect attrition, and overbook. Assign one person to own customer scheduling weeks in advance; they will likely still be wrangling participants up until demo time.
The build phase is the long pole. Protect it aggressively. This was especially true before AI-assisted coding changed what a small team could accomplish quickly; even so, building something specific and demo-worthy takes real time. Phases 2 and 3 can move at whatever speed the group needs, but the facilitator should be watching the clock.
Immersion opens the sprint. Speakers must be tightly scheduled, arrive on time, and deliver informationally-dense presentations. Wasted time in Immersion is wasted time everywhere downstream, but don’t shortchange it; insufficiently-immersed participants generate fewer, less-powerful ideas.
Participants need time each day to stay connected to the rest of the organization. Build predictable breaks into the daily schedule for people to check messages and handle urgent matters; it protects their focus the rest of the day.
Ground rules
These rules apply throughout the sprint, but especially during the generation and categorization phases. They are loosely based on IDEO’s brainstorming ground rules.
- Defer judgment. During generation, there are no bad ideas. Evaluation comes in the categorization and evaluation phases, not during generation.
- One idea per sticky note/page. This makes clustering and voting possible, and prevents one note from doing too much work.
- Quantity over quality in generation. A large, diverse pool of raw material is more valuable than a small, polished one.
- Build on the ideas of others. When someone presents an idea, your first question should be whether it sparks something new for you, not whether you agree with it.
- Be specific. Vague ideas are hard to cluster, hard to evaluate, and hard to build. Describe who benefits and how.
- Votes are signals, not mandates. Dot voting surfaces collective thinking and narrows debate; the facilitator may weigh it against strategic context.
- Trust the facilitator to keep time. Discussions will feel unfinished. That’s normal. The schedule is unforgiving and the facilitator’s job is to protect it.
Agentic AI doesn’t make human interfaces go away
The case for human interfaces becoming obsolete is getting more sophisticated. It used to be “AI will do everything” – easy to dismiss. Now it sounds like Matt Webb’s recent piece on headless architecture: services need to expose their capabilities as CLI tools and APIs for AI agents, making the visual front-end “sacrificial” – encountered once or twice to get the vibe, then handed off to an agent who never needs to see it. That’s a more interesting argument.
I think that’s only partially right. Headless software is on the way. Agents are genuinely better than GUIs for a lot of repetitive tasks. And Jeff Gothelf put it well recently; the cost of building has dropped to near zero.
But several other costs didn’t change, or didn’t change much:
- The cost to support user trust didn’t fall.
- The cost of knowing whether the system delivered what it promised didn’t get lower.
- The cost of responding to a mistake an agent made on your behalf didn’t go away.
When an AI agent does something unexpected – and it will, just as a person does – the user needs to inspect the system’s state, understand what happened, decide whether it’s right, and tweak it if it’s not. That’s not a chat conversation; “explain what you did” gets you a plausible summary, not an audit trail. You need an interface that exposes the objects the agent operated on, their current state, and the relationships between them – something a human can look at, poke around in, and believe.
The “just talk to your AI” folks paper over this by assuming users know exactly what they want, can specify it precisely, will recognize an incorrect result when they see one, and will know how to ask for a correction. Every one of those is an interface design problem waiting to happen. Real users often need to be led to value: shown what’s possible, guided toward good configurations, helped to see that the system actually did the right thing.
A company serving a market and actually learning about their customers and prospects has accumulated expertise about that domain that no individual customer has, and a well-designed product expresses that expertise in its ability to lead a customer to right action. A personal AI that generates a piece of bespoke software on demand doesn’t benefit from that knowledge.
There’s an engineering-minded version of this worth acknowledging. APIs are a bit brittle compared to what an agent can do with a well-designed MCP; the agent can reason about tools, compose them, and adapt to partial failures. That flexibility is valuable. But MCP tools still have schemas and the underlying objects still need to be coherently designed. A poorly conceived MCP tool or underlying model is just as brittle, or worse if the agent confidently does the wrong thing instead of throwing a clean error. The technical design work doesn’t disappear: it moves upstream to the object model, the capability definitions, the semantic coherence of what you’re exposing. That’s more foundational design work, not less.
None of this is an argument for forcing users through rigid prescribed workflows. The right response to the agentic era isn’t to wall off capabilities or ignore the headless trend. It’s to design both surfaces from the same foundation: the human-facing layer for initial trust, inspection, and correction; and the agent-compatible capabilities underneath. Same objects, same data model, two interaction methods. The front-end and the agent tools should be driving the same underlying model. This is, incidentally, what API-first development has been asking us to do for years.
Interfaces are becoming harder to design well, not less necessary. The object model has to be right for both interaction types. The visible informational layer has to foster trust. The inspection and correction paths have to exist. Since users will operate the human interfaces less often, they need to rely less on training and recall, and rely more on recognition. And someone still has to understand the users well enough to know what value looks like and design toward it.
The cost of knowing what to build didn’t get smaller. Neither did the cost of helping people trust and use what you built. That’s the product management and design work. AI didn’t wave it away. It just made it more important to get right.
Stop Sloppypasta: Don’t paste raw LLM output at people
We’re all using AI tools to do our work. Our bosses our demanding it, and expecting delicious speed as a result. But that doesn’t mean you should abandon quality – and you’ll probably have to be more diligent, not less, to create it.
Don’t ask to ask, just ask
Similarly, the (very nice) social stroke of asking if you can ask a question – it’s not needed in an asynchronous environment. Just ask. People will be happier if you just ask.
No Hello
An oldie, but a goodie. Don’t waste time in Slack or teams saying hi and waiting for a response. That’s wasteful and annoying. Just say hi and get to it in the same message. It’s not rude, it’s kind.
Actually, people love to work hard - Anil Dash
“As has often been documented, the hoary chestnut of saying “nobody wants to work anymore” dates back decades, if not centuries, and it’s never been true in all those years of deletion. It is, firstly, a tactic that bosses use for negging workers in a vain attempt to try to drive down wages (and to successfully get media to blame people for their own underemployment), but it also serves as an effective demonstration of just how little society understand about what actually motivates people.”
More hidden pages: /type, /color, and /ogimages
Last year I wrote about a first batch of “hidden” pages on this site – RSS feeds, a technologies list, the changelog, etc. Those are mostly about consuming or documenting the project. Here are three more URLs in the same spirit: they are not in the main navigation, but they are not secret. They are small labs for playing with how the site looks when shared or read, still in the “everything is inspectable” vein.
1. /type
A single home-page-shaped preview at the correct type scale from jonplummer.css, with two menus: one for headings (h1–h4) and one for everything else. Font stacks come from Modern Font Stacks; these stacks are nice because they rely on fonts that ship with the popular operating systems. The first option on the body menu keeps body text on the heading stack until you pick a specific second stack. There is a collapsible block of example CSS you can copy when you like a pairing.
Why /type
When I think of changing --font-family or heading tokens in CSS, I have a place to audition stacks against the same article and nav styling the blog uses, not a separate mini layout.
2. /color
An embedded color theme gallery: smaller and rougher home layout previews, wired to live light-dark() tokens. The heavy lifting is OKLCH builds, harmony and preset cards, and APCA-minded checks.
Why /color
Shipping palettes is still manual work in jonplummer.css, but comparing candidates on a simulated layout beats guessing from swatches alone. Keeping the embed on a first-class URL makes that workflow easy to get to. This is just for playing around – actually authoring a good alternative palette is real work.
3. /ogimages
A preview of the Open Graph image template: rendered examples with different titles and descriptions, plus a grid of the generated PNGs cached in src/assets/images/og/.
How /ogimages/ is built
src/ogimages.njk uses Eleventy’s renderFile shortcode against og-image-body.njk for the inline examples and loops a data-fed list for the rest. Styling lives in jonplummer.css under the preview-page rules.
Why /ogimages
Social cards are easy to break with a long title or a missing description. This page is where I sanity-check the template after edits without spelunking _site.
Together, /type, /color, and /ogimages use tags: page with the shared layout—the same arrangement as /changelog and /technologies. They are included in collections.page (for example sitemap.xml). They still do not appear in /feed.xml or /links-feed.xml, because those feeds list collections.post or the curated links, not static pages. The changelog and technologies URLs behave the same way. If you are poking at how this site is put together, start with the earlier hidden-pages post for feeds and docs, then add these three when you decide to play with type, color, or social image generation.