This post was originally published on my Substack publication as How to Get from Blank Screen to First Win in Under 60 Seconds.
If you've been reading my newsletter for a while, you've probably noticed I keep coming back to the two things i like most: coding and cooking. And today I have another one lined up.
Picture a food truck during lunch rush. The menu board glows with mouth-watering photos of tacos and burritos, a line of customers wraps around the block, steam pours from the service window, and spiced meat sizzles behind the window.
The owner stands inside watching orders fly through the system.
Customers read the menu, order at the front window, pay with a tap, then move to the pickup window on the side.
The same food truck on a quiet morning tells a different story. The truck is parked and open for business, the kitchen is ready, and you're inside prepping ingredients.
A potential customer walks up because they got a flyer with a discount code yesterday and their coworker raved about the tacos at lunch.
But when they arrive, they see a plain metal truck with no signage.
They stand there awkwardly, unsure if they should knock on the side panel to get your attention or wait. They don't know if you serve tacos, coffee, or something else entirely.
You're inside the truck watching them through the service window. You have amazing food ready to make. You even have free samples prepared that would show them how good your cooking is in just a minute.
But there's no sign saying "Free Taste Testing", so they don't know to ask for samples. Plus, without a clear menu they don't know what to order. Not to mention they don't know how to get your attention because there's no clear interaction pattern.
After 30 seconds of standing there confused, they leave. The truck was open, you were ready to serve, the customer was hungry, but they walked away because the communication gap was too wide.
You might do this exact thing with your app.
You build and test your product during lunch rush. This means your database is full of dummy data, sample users, populated charts, and active notifications. Every decision you make happens while looking at the busy version.
Your first real user shows up when the truck is quiet.
Maybe they clicked your paid ad, or saw someone mention your tool on X or Substack, or even got referred by a friend. They're actively seeking you out.
Your app loads and technically works perfectly. But they see blank dashboards with no guidance, empty tables with no context, and buttons with unclear purposes. They don't know what action to take first. They don't know what's possible. They don't know if they should create a project, import data, configure settings, or something else.
Successful food trucks plaster their exterior with giant menu boards, eye-catching photos, and clear "Order Here → Pick Up Here" arrows.
They do this because the truck has to communicate its value even when there's no crowd demonstrating the flow. You're spending money on flyers (ads) and getting organic word-of-mouth, but you're losing those people the moment they arrive because your "truck" doesn't teach them how to interact with it.
This is the Empty State Problem, and it murders activation rates because users can't tell the difference between "empty because I just started" and "empty because this app is broken."
Today I'll show you the Activation Path, a framework for designing the customer journey from blank screen to first win in under 60 seconds.
Most builders test their apps with databases already populated. You run your local development environment with seed data containing fifty sample users, twenty projects, and months of activity logs. Every screenshot you share, every demo you record, and every test you run happens in this fully populated state. You skipped past the empty state weeks ago and never looked back.
A founder I know built a social media scheduling tool. She tested everything with her own X account already connected, 30 draft posts loaded, and analytics showing three months of data. Her product looked amazing.
Then real users signed up and saw a completely blank dashboard with five different navigation tabs, three empty state screens, and zero guidance on which action to take first.
Her activation rate was close ~7%.
After redesigning the empty state to hide the tabs and show one clear path ("Connect X → See Your Analytics"), activation jumped to 39%.
User activation (completing one core action successfully) predicts long-term retention more than any other metric. Users who complete their first meaningful action within the first session retain at 3-5x the rate of those who don't. Your empty state sits directly between signup and activation, making it the single highest-leverage point in your entire funnel.
You can build the perfect feature set, nail your pricing, and write compelling marketing copy. None of that matters if users hit a blank dashboard and feel confused about what to do next.
You lose users because they never figured out how to use your product in the first 60 seconds.
Senior designers and product managers know they're building two completely different experiences. The Populated State (what you see as the builder) and the Empty State (what users see on Day 1) require fundamentally different design approaches.
During lunch rush, the food truck operates one way. Customers see the line, follow the flow, and learn by watching others. The busy environment teaches them how to interact.
During quiet hours, the truck has to teach differently. The signage, the menu board, the arrows, and the visual cues replace what the crowd would normally demonstrate.
The same logic applies to your product:
In the Populated State, users recognize patterns and navigate through existing data. They see a list of customers and understand they can click through to view details, sort by revenue, or filter by sign-up date. The existing data teaches them how the interface works. Populated dashboards can be passive because the data itself tells the story. A chart showing 47 active projects proves the app works and suggests what actions are available.
In the Empty State, users must discover what's possible and learn how to create their first piece of value. There's no data to teach them. Your UI must switch from "browse mode" to "teach mode."
You need explicit guidance, clear calls to action, and visual cues showing where to start.
An empty chart that says "No data" is useless. An empty chart that says "Connect your first data source to see traffic insights here" with a prominent "Connect Google Analytics" button is active guidance.
The best builders treat the Empty State as a separate, intentional design challenge. They build an Activation Path that transforms the blank screen from a liability into a teaching opportunity.
Empty state is the best place to show users exactly how to get value from your app before they develop bad habits or incorrect assumptions.
Here's the process you can apply to your current project today.
Identify the single smallest action that delivers real value to the user. Skip "complete your profile" or "explore features." Focus on the core activity your product enables.
For a project management tool, the First-Action Win is creating one task and seeing it appear in the list. For an analytics dashboard, it's connecting one data source and seeing traffic data populate the charts. For a note-taking app, it's writing and saving one note and seeing it stored in the notebook.
Write this down in a specific format:
"User successfully [specific action] and sees [immediate result]."
Examples:
"User successfully creates their first task and sees it appear in their project list."
"User successfully connects Google Analytics and sees their traffic data populate the dashboard."
"User successfully saves their first note and sees it stored in their notebook."
This sentence becomes your north star for every empty state decision.
Open your app in an incognito window immediately after signup. Count every decision point, blank field, or unclear label between the signup confirmation and completing your First-Action Win. Each point is a place users can get confused and bounce. Your goal is reducing this number to under three decision points.
Common friction points that kill activation:
showing a complex navigation menu with eight different sections;
asking users to "set up their profile" before they can do anything useful;
forcing users through a multi-step tutorial before they can try the product;
displaying multiple equally prominent calls to action without clear hierarchy;
requiring users to understand your product's terminology before taking action.
Every click, every form field, and every choice is a chance for users to bail. Be ruthless about cutting friction.
Never show users a completely blank screen with generic placeholder text like "No items yet." That's a dead end. Transform empty states into starting lines.
Replace blank tables with "Create your first [item]" buttons centered prominently. Replace empty charts with visual explanations of what will appear once they complete the first action. Replace empty lists with example illustrations showing what the populated state will look like.
Good empty state design:
Provides a clear, single call to action;
Makes the action feel easy and low-stakes;
Shows what will appear here once users take action;
Uses visual hierarchy to make the next step obvious;
Includes enough context to reduce confusion (one sentence, not a paragraph).
Bad empty state design:
Feels like a roadblock or a chore;
Shows "No data" with no explanation;
Makes users guess what they should do;
Uses technical jargon without explanation;
Provides multiple competing calls to action.
The principle is simple, just strip away everything except the path to first activation. You can reveal the full feature set after users understand the core value through direct experience.
Design a progressive disclosure flow that reveals features only after users complete the prerequisite actions. On first login, show one clear path: complete the First-Action Win. Hide advanced features, settings, and secondary navigation until after they succeed once.
This prevents option paralysis when users have zero context. New users need to complete one successful action before they can appreciate your advanced features. Progressive disclosure protects them from overwhelm while guiding them to their first win.
Some products benefit from pre-populated example data that users can interact with immediately, then delete or modify. This works when your product has complex features that are hard to understand empty, like a spreadsheet, analytics dashboard, or design tool.
Notion does this well. When you sign up, they give you a workspace with sample pages, templates, and example databases. You can click through, see how things work, and understand the patterns before creating your own content. Critically, they also make it simple to clear everything and start fresh.
Use sample data when:
Users can remove sample data in one click;
Your product has complex, unfamiliar UI patterns;
You can clearly separate sample data from real user data;
The value becomes obvious once users see working examples.
Avoid sample data when:
Users can't tell what's sample versus real;
Removing sample data requires manual work;
Your product is simple enough to understand empty;
Sample data clutters the interface and confuses users.
If removing sample data feels like a chore, you've added friction instead of reducing it.
Open your app in a clean browser session (incognito mode, logged out, database wiped). Set a timer for 60 seconds. Start the timer immediately after signup confirmation loads.
Your goal is to complete one core action that generates real value without referencing documentation, watching tutorials, or guessing randomly.
This test forces you to experience your product as a confused, impatient new user. The 60-second constraint is realistic, but some users can make stay-or-go decisions way faster than that.
If you can't activate yourself in 60 seconds while knowing exactly how the product works, your users have zero chance.
The checklist:
Can you identify what action to take first without reading help documentation?
Does the empty state clearly communicate what happens after you take that action?
Are there fewer than three clicks between landing and completing the core action?
Does completing that first action produce an immediate, visible result?
After seeing that result, is the next logical action obvious?
If you fail any of these checks, you fail the test.
The fix usually involves subtraction. Strip away everything except the path to first activation. Remove secondary navigation, hide advanced settings, eliminate optional fields, and reduce the number of choices users face. Simplicity beats comprehensiveness for new users every single time.
When prompting AI to build dashboards or list views, it defaults to assuming data exists. Claude or Cursor will generate a beautiful table component that displays user data, but it won't consider what happens when there's no data to display.
You must explicitly prompt: "Design this view for a brand new user with zero data, focusing on guiding them to create their first [item]." Otherwise, you'll get beautiful populated states and empty states that do nothing to help users activate.
Your users show up to a food truck with no line, no menu board, and no clear instructions. Design for that silence, not for the crowd you imagine.
The Empty State Problem is entirely within your control to fix. You don't need more features, better marketing, or a bigger budget. You need to experience your own product the way your users do: blank, confused, and impatient.
Build the path from zero to one. Everything else gets easier after that.




Top comments (0)