Chapter 8: The Power of Restraint
2026.08.10In the early stages of indie development, we have a natural impulse -- "feature stacking."
We fear that our product has too few features and won't "look worth the price." So we keep listening to every user suggestion and keep adding requirements. "Oh, User A wants PDF export -- we need to add that." "User B suggested adding a dark mode -- sounds cool." "User C said it would be perfect if it could integrate with Slack notifications."
Gradually, your product becomes like an over-decorated Christmas tree, hung with all kinds of shiny but irrelevant ornaments. It grows bloated, complex, and hard to understand. That clean, elegant "minimalist product" you started with disappears into a fog of "nice-to-have" features.
This is the trap of "feature creep." It not only devours your precious development time but also dilutes your product's core value, scaring off new users.
"Restraint" is the ultimate weapon against this trap.
Restraint is not laziness, nor is it stinginess. It is a profound strategic confidence. It believes that a product that does one thing exceptionally well beats a product that does ten mediocre things.
In this chapter, we will learn how to wield the power of "restraint" to refine your product along two key dimensions -- features and guidance -- forging it into a sharp, focused "blade" that strikes directly at the user's heart.
8.1 Core Feature Only: Dare to Cut Away 90% of Pseudo-Demands, Keep Only That "Blade"
Imagine a Swiss Army Knife in your hand. It has a blade, scissors, a bottle opener, a screwdriver... It has many functions and can do almost anything. But if you really need to cut a steak or loosen a very tight screw, would you reach for it?
No. You would reach for a dedicated steak knife, or a screwdriver with a long handle and good leverage.
Many indie developers are trying to build a "Swiss Army Knife." They try to satisfy every conceivable need of every user. The result is a product that cannot compete at any single point with those focused "blade-type" products that do exactly one thing.
The "Blade" Philosophy: Your product is not a toolbox; it is a scalpel.
A scalpel has only one function -- to cut precisely. Every aspect of its design serves this single core purpose. Its sharpness, its grip, its balance -- all have been refined through countless iterations.
Your "minimalist product" should be exactly this kind of "scalpel." It must be built around a single, core user pain point. All your development resources should be devoted to sharpening the blade's edge, making it the sharpest and most usable of its kind.
The "Sweet Poison" of Pseudo-Demands
The question is: how do we tell the difference between a "blade edge" worth honing and a "pseudo-demand" that should be cut away?
Pseudo-demands often dress themselves in the attractive cloak of "user suggestions," giving off an alluring fragrance. They all sound perfectly reasonable, making you feel that "if I don't do this, the product won't be complete."
Characteristics of Pseudo-Demands:
The "If... then..." sentence pattern
- The user says: "Your product is great, but if it could support CSV import, that would be even better."
- Interpretation: This is usually an edge-case need. The user might use this feature once a year, or perhaps never at all -- they're just "brainstorming." This kind of request adds substantial development and maintenance cost (parsing CSV, handling malformed formats, etc.) while adding almost nothing to the core value.
"The Voice of the Few"
- The user says: One very vocal user repeatedly asks in your community for a "custom theme color" feature.
- Interpretation: You might spend a week satisfying this one (or a small group of) highly expressive user(s). But 99% of your "silent majority" don't care about theme colors at all. They simply want your core feature to be faster and more stable.
"Competitors have it, so I must have it too"
- You say to yourself: "I see competitor X just launched a team collaboration feature. Should I rush to catch up?"
- Interpretation: This is a decision driven by anxiety, not by value. You haven't asked whether this feature fits your product's "blade" positioning; you're merely following the crowd out of a fear of falling behind. The result is likely a half-baked, little-used collaboration feature that only slows down the iteration of your core advantage.
The Art of Cutting Features: The "Jobs-to-be-Done" Theory
To dare to say "no," you need a powerful theoretical weapon to back up your decisions. That weapon is the "Jobs-to-be-Done" (JTBD) theory.
- Core idea: Users "hire" a product to get a specific "job" done. They don't care what features your product has; they only care whether you can help them do that "job" better, faster, and cheaper.
- Example: Users don't want to buy a "quarter-inch drill bit"; they want to make a "quarter-inch hole in the wall." "Making the hole" is the "job" they need to accomplish.
Using JTBD Theory to Cut Demands:
When faced with every new feature request, don't ask "Is this feature cool?" Instead, ask yourself three questions:
- Which core "job" does this feature serve for the user?
- Without this feature, can the user still complete that core "job"?
- Does this feature make completing the core "job" 10 times more efficient, or just 10% more efficient?
Let's use this framework to examine a few potential features for our previously mentioned "Testimonial AI" (the AI testimonial conversion tool):
Core "job": Quickly turn a long user testimonial into short, punchy, marketing-ready quotes.
Potential Feature 1: Support one-click import of testimonials from a Twitter link
- Which Job does it serve? It serves the core Job. It streamlines the "input" step.
- Can we do without it? Yes. Users can still manually copy and paste the Twitter content.
- How much efficiency is gained? Roughly 30% more convenience, but not 10x. This is "nice-to-have."
- Decision: Cut it (or put it in the low-priority backlog). For an early-stage product, manual copy-paste is perfectly adequate. Polishing the core "transformation" algorithm to perfection matters far more.
Potential Feature 2: Add a "team collaboration" feature so multiple people can jointly manage the testimonial library
- Which Job does it serve? It serves a new, entirely different Job -- "team content asset management."
- Can we do without it? It has no bearing whatsoever on completing the core Job.
- How much efficiency is gained? For a solo user, zero; it only adds interface complexity.
- Decision: Cut it decisively! This is a textbook case of "feature creep." It would turn you from a "scalpel" into a clumsy "Swiss Army Knife." Your product should serve the "individual creator" niche, not blindly expand into the "team" market.
Potential Feature 3: Optimize the AI model to add a quote style that "highlights data results"
- Which Job does it serve? It serves the core Job completely.
- Can we do without it? We could, but it would weaken the product's core value.
- How much efficiency is gained? This is a direct enhancement of the core "transformation" capability. For users whose testimonials include data points like "our conversion rate increased by 50%," this feature could deliver 10x the value.
- Decision: Highest priority! This is sharpening your "blade edge."
The Courage and Strategy of Saying "No"
When you decide to cut a feature, how do you say "no" to the user gracefully?
Honestly explain "why":
"Thank you so much for your suggestion! That's a very interesting idea. However, to ensure our product stays supremely simple and powerful at its core feature of 'AI quote generation,' we've decided not to build team collaboration for now. We want to be your personal, most efficient testimonial processing tool."
Offer an alternative:
"While we don't have CSV import yet, you can try copying and pasting the CSV content into the input box. Our AI handles it perfectly well."
Create a public "idea board":
Use Canny.io or a similar tool so users can submit and vote on feature suggestions. This lets you judge a demand's universality with data, and it makes users feel heard -- even if you don't build it right away.
Summary: Your product's value lies not in the number of features, but in the depth with which you solve the user's core problem. Learn restraint. Dare to say "no" to 90% of the "noise," and pour all your energy into that 10% "blade edge." This kind of extreme focus is your strongest weapon as a "minimalist product" developer against feature-bloated big companies.
8.2 Onboarding: How to Let Users Experience the Aha Moment Within 30 Seconds
You've successfully honed your product into a "blade." Now a new user signs up. They're like a doctor picking up your scalpel for the first time.
Their mind is full of questions: "How does this work? Is it really as sharp as they say? Where do I even start?"
If you can't guide them through a successful "cut" in those crucial first 30 seconds -- letting them feel the blade's power firsthand -- they'll likely put the knife down and walk away for good.
The process of guiding a user from "first encounter" to "first experience of core value" is called "Onboarding." And the moment when the user's eyes light up and they exclaim "Aha! So that's how it works!" is the "Aha Moment."
Good onboarding is a silent salesperson. Its sole goal is to push the user toward that "Aha Moment" as quickly and with as little friction as possible.
Failed Onboarding: Information Overload and Missing the Mark
The typical mistakes many products make with onboarding:
"Product Tour" Style Guidance
- What it looks like: The moment the user enters, a guided layer with seven or eight steps pops up, using blinking arrows and tooltips to introduce, one by one, "this is the navigation bar," "this is the settings button," "this is your profile."
- Why it fails: Users don't care about your interface layout! They arrived with a specific problem and want to solve it immediately. This forced tour only annoys them, driving them to madly click "Next" or "Skip."
Helplessness in the "Empty State"
- What it looks like: After registering, the user sees a completely empty dashboard. No data, no guidance, just a cold "You don't have any projects yet. Please create one."
- Why it fails: It's like pushing a non-swimmer to the edge of an empty pool and saying "Jump in!" Users feel lost and at a loss for what to do, because they don't know the first step -- and they can't even imagine what the product would look like "once filled with data."
Successful Onboarding Design: "The Shortest Path to the Aha Moment"
The core principle of onboarding design is restraint and focus. Forget all your product's features, and consider just one question: what are the minimal one or two steps the user must complete to experience the core value?
Then, use every design tool at your disposal to clear every obstacle off the path to those one or two steps.
Hands-On: Designing Onboarding for "Testimonial AI"
- The product's core "Job": Transform long testimonials into short quotes.
- The Aha Moment: The user watches the text they entered instantly become 3 polished, usable quotes after clicking a button.
Now, let's design a "highway" to that Aha Moment.
Strategy 1: Eliminate the Registration Step
Think: Does the user need to create an account before experiencing the Aha Moment?
Answer: Absolutely not! Registration is the biggest source of friction in the entire onboarding process.
Implementation:
- On your landing page, place an "interactive demo" in the most prominent position.
- The demo contains a
textareaand abutton, exactly like the core component inside the product. - The
textareais pre-filled with a high-quality sample user testimonial. - Beside it: "Paste your own testimonial, or try it with our example."
- Users can click the "Generate Quotes" button right on the landing page. You call the same API and display the AI-generated results directly on the page.
Effect: With zero cost (no registration required), the user fully experiences your product's Aha Moment on the landing page within 10 seconds. They've already "felt" your value. At that point, when you show a prompt -- "Like the result? Create a free account to save and manage all your quotes" -- the registration conversion rate will be astonishingly high, because they're not signing up for an "unknown" promise but to "preserve a known value."
Strategy 2: Use the "Empty State" for Guidance
- Think: For users who have already registered, how should I guide them when they first enter the product and see the empty dashboard?
- Answer: Don't just show "emptiness." Turn it into a "launch pad for action."
- Implementation:
- Place a large, prominent "+ Generate Your First Quote" button in the center of the empty-state dashboard.
- Below the button, offer a few "inspiration templates." For example, three small cards labeled "Testimonial from a thank-you email," "Testimonial from Twitter," and "Testimonial from a client interview." Clicking a card fills the generator with the corresponding sample.
- Remove all unnecessary distractions. Before the user generates their first quote, secondary navigation items like "Settings" and "Billing" in the sidebar can be hidden or muted. The entire interface has a single focus: guiding the user to click that generate button.
Strategy 3: "Learning by Doing," Not "Learning by Watching"
- Think: Do I need to tell users that the product can "export as image" and "copy with one click"?
- Answer: Not when they first arrive. Let them discover it on their own.
- Implementation:
- Once the user successfully generates their first set of quotes, the result cards naturally carry "Copy" and "Download" icon buttons.
- When they click "Copy" for the first time, a small, non-intrusive tooltip can appear: "Copied! You can also customize the copy format in Settings."
- Effect: This kind of "just-in-time" guidance appears at the very moment the user has the relevant need, so it is easier to accept and remember. You're helping them complete their current task, rather than forcing a thick product manual on them at the door.
Measuring Onboarding Success
Whether your onboarding succeeds hinges on one key metric: "Time-to-Value."
- Definition: The average time it takes a new user from registration to experiencing the Aha Moment.
- Goal: Compress this time to under 30 seconds.
Use an analytics tool like PostHog to build a funnel: User Signed Up -> Clicked Generate Button -> Viewed Generated Quotes. By analyzing the funnel's conversion rate and completion time, you can clearly see where your onboarding is "sticking" with users and optimize accordingly.
Summary: Restraint, in the context of onboarding, is the ultimate respect for the user's attention. Cut away every step, introduction, and interface element that is unrelated to the first "Aha Moment." Your goal is not to show how powerful your product is, but to let the user feel that "heart-stirring" moment as fast as possible.
Once the user's heart is moved, they will naturally have enough motivation to explore the product's deeper features. A successful onboarding is like a successful first date: it doesn't try to cover everything, only to leave an unforgettable, beautiful first impression.
Summary of Chapter 8
We explored the advanced art of "restraint" and how it can make your product more focused and more powerful.
- On features, we learned to use the "blade philosophy" and JTBD theory to cut away 90% of pseudo-demands, focusing only on the core feature that creates 10x value.
- On guidance, we learned to design the shortest path to the "Aha Moment," letting users experience core value within 30 seconds and greatly improving new-user activation and retention.
Through this inside-out "restraint," your "minimalist product" will not only "look beautiful" but, through its extreme focus and seamless experience, will establish an irreplaceable place in the user's heart.
And with that, our product is built and possesses a "small and beautiful" soul. Next, we enter the most thrilling part of the entire book -- how to take our product to market, acquire traffic, and ultimately turn it into a true "automatic money printer."