42
131 Comments

The feature you're most sure about is the one you should question first

I've built a lot of software for founders. The features that got cut or rebuilt were almost never the risky ones. They were the ones everyone was certain about.

Certainty is where you stop asking questions. And the questions you skip are the ones that cost you a rebuild three weeks later.

The pattern I see with SaaS founders:

You build the feature you assumed users wanted, ship it, and watch nobody touch it. Meanwhile the thing you almost didn't build is the one they actually use.

The fix isn't more research. It's asking the uncomfortable question before you write a line of code: "what if the part I'm sure about is wrong?"

The founders who ship things people use aren't smarter. They just question their own certainty earlier than everyone else.

What's a feature you were 100% sure about that flopped, or one you almost didn't build that took off?

posted to Icon for group Building in Public
Building in Public
on July 5, 2026
  1. 1

    This pattern shows up constantly on the client side too, not just solo products. The feature a founder is most confident about is usually the one they designed in a vacuum — no user in the room, just their own mental model of "obviously this matters." We've built dozens of MVPs for founders at 6senseHQ, and the ones that survive first contact with real users are almost never the ones the founder was proudest of at kickoff.

    The tell we watch for now: if a founder can't tell us who specifically asked for a feature, or point to a moment in someone's actual workflow where they'd reach for it, we flag it before writing code — not after. Doesn't matter how confident the founder is. Confidence without a name attached to it is usually just taste wearing a business case.

    The inverse is just as real: the feature everyone on the team is unsure about, the one that almost gets cut in scoping, is disproportionately likely to be the thing that actually gets used — because uncertainty forced someone to go find out instead of assuming.

  2. 1

    Man, this is a loud wake-up call. Building Trackly right now, and it is a daily fight against my own bias. You write code for a feature you think is an absolute game-changer, but the reality check hits the second you watch someone use it naturally and they don't even notice it's there. It's a brutal reminder that if you aren't actively trying to prove your favorite features wrong, you're just building in a fantasy land.

    1. 1

      "Building in a fantasy land" if you're not trying to prove your favorite features wrong, that's it exactly. And watching someone not even notice the feature you thought was a game-changer is the most humbling reality check there is. The bias never goes away, you just build the habit of checking it earlier.

      1. 1

        How do you personally force that reality check early on? Do you have a strict forcing function (like showing a crude wireframe to someone within 48 hours), or is it just an internal gut check you’ve had to train over time?

        1. 1

          Mostly a forcing function, gut check alone never works because the bias feels like clarity from inside. Mine is: ship the smallest real version fast and watch usage instead of asking opinions. People tell you they'd use something, then don't. For anything expensive to reverse (data model, core flow), I'll walk through their current workaround live before writing code, that surfaces constraints I never would've modeled. Cheap to reverse? Just ship it and read the data.

  3. 1

    This is why shipping small tools is so valuable. Real usage exposes assumptions faster than any planning session.

    1. 1

      Exactly. Real usage exposes assumptions faster than any planning session, and cheaper.

  4. 1

    Great framing. For us (Qampanion, a no-code tool for testing mobile apps) the feature I was 100% sure about was AI generating entire test flows from a plain-English description — the obvious "wow" for a testing tool. People tried it once and then hesitated.
    The thing I almost treated as plumbing was letting them see every generated step as a plain, editable list they could tweak before anything runs. That's what people actually keep coming back to. Nobody wants an AI silently deciding what "passing" means for their app — they'll happily let it draft the test, but only if they can read and fix each step first.
    Same lesson as your post: I was certain the intelligence was the product. The real product was making that intelligence inspectable.

    1. 1

      "I was certain the intelligence was the product. The real product was making that intelligence inspectable." That's one of the best lines in this thread. Nobody wants AI silently deciding what passing means, they'll let it draft, but only if they can read and fix it. Trust comes from visibility, not accuracy.

  5. 1

    In B2B deployments this compounds. The feature a client is most vocal about wanting is usually the one they articulated during procurement — not the one that surfaces after two weeks in their actual workflow. We've learned to treat feature certainty as a signal to go slower, not faster.

    1. 1

      Sharp distinction, the feature they articulated during procurement isn't the one that matters after two weeks in the real workflow. "Treat feature certainty as a signal to go slower" is a great rule for enterprise especially, where the loudest ask is often the least used.

  6. 1

    Such a common trap. We often fall in love with the build process and forget to validate the actual user pain point early enough.

    1. 1

      Right, the build is the fun part, validation is the boring part. So we skip the boring part and pay for it later.

  7. 1

    This is making me question my own product now. I think nobody can say your product is wrong other than your own users. Before pivoting or building the next things, I'm trying to talk to as many people as I can.

    1. 1

      Right, only your users can tell you it's wrong. Talking to as many as you can before pivoting is the move. Everything else is you guessing at your own blind spots.

  8. 1

    this hits close to home actually. spent way more time making sure the risk-scan itself was accurate than on stuff users actually complained about first, which was small dumb things like the checkout flow or whether the free credits were obvious enough. turns out "does the core feature work well" mattered less early on than "can people even get through signup without getting confused." kind of annoying to realize since the core feature was the fun part to build

    1. 1

      That is painful but true. Often the boring 'glue' that makes the product usable matters way more than the shiny core tech.

    2. 1

      Classic, you polished the fun core while the boring stuff (signup, checkout, free credits clarity) was what actually blocked people. "Can they get through signup" mattered more than "does the core work well" early on. Annoying, but it's almost always the unglamorous path that's the real bottleneck.

  9. 1

    The certainty point is real. While building DictaFlow, I thought the obvious value prop was better transcription quality, but the thing users kept emailing about was a lot uglier: they needed it to type into locked-down apps and remote desktops where normal dictation dies. That ended up mattering more than half the AI stuff I was excited about. Have you noticed the same pattern, where the unsexy constraint becomes the actual product?

    1. 1

      Yes, constantly. The unsexy constraint winning is the pattern. Locked-down apps where normal dictation dies, that's a real, painful, specific need, and it beat the AI features you were excited about. Boring constraints are load-bearing because they're where the actual pain lives.

  10. 1

    The forcing function that's helped me catch this before shipping: for any feature I'm "100% sure" about, I find one existing user and ask them to walk through their current workaround live, on a call, before writing code. Almost every time the workaround reveals a constraint I hadn't modeled — a trust issue, a permissions wrinkle, a step that has to happen in a specific order — that reshapes the feature entirely. The hard part isn't spotting which features to question in hindsight, it's that certainty and overconfidence feel identical from the inside, so "try to be more skeptical" doesn't work as well as an external check like a customer call or a support-ticket review. How do you decide which certainties are worth that validation step versus just shipping fast and reading usage data afterward — is it a gut call, or tied to something concrete like rebuild cost or how core the feature is?

    1. 1

      The live-workaround call is a great forcing function, and you're right that certainty and overconfidence feel identical from inside, which is why external checks beat "just be skeptical." On which ones to validate: I tie it to rebuild cost. If getting it wrong means a cheap tweak, ship and read usage. If it means unwinding a data model or a core flow, validate first. The more expensive the reversal, the more the call warrants the check.

  11. 1

    This is the exact loop I hit building on top of coding agents. I used to be the memory myself too, re-explaining the same repo conventions and past decisions at the start of every session, and that is real overhead that never shows up in anyone's benchmark. The interesting design question once you automate that away is what the agent should forget. Stale context that used to be true but no longer is can be worse than no memory at all, since the agent trusts it without knowing it is out of date. Did you build in any expiry or contradiction check, or does old memory just accumulate?

    1. 1

      Sharp question, stale context is worse than none because the agent trusts it blindly. The move is contradiction checks and expiry, not just accumulation. Old memory that was true but isn't anymore silently corrupts decisions. Treating memory as append-only is the trap.

  12. 1

    As an engineer currently working on a tool with no customers yet, this is exactly what I needed to read today. It’s dangerously easy to brand my own assumptions as "obvious features" just to stay inside the safety of building. "Certainty is where you stop asking questions" is going on a sticky note next to my monitor.

    1. 1

      Glad it landed. That's exactly the risk pre-customers, branding your own assumptions as "obvious" to stay in the comfort of building. The sticky note's a good move. Ship the small version and let real users break the assumptions early.

  13. 1

    This hits way too close to home right now. I recently spent weeks building out an end-to-end automation stack for digital sellers. I was 100% certain that because the backend was technically flawless—with real-time webhooks, automated CRM logging, and 24/7 delivery loops—people would jump all over it. Total silence. It flopped initially because I was certain people wanted a powerful "automation tool," when all they actually cared about was the hands-off outcome of running their sales in the background. I had to step back, realize nobody wanted to admire my plumbing, and completely reframe the story.

    1. 1

      Relatable. It is a tough lesson when you realize users care about the result, not the complex backend you spent so much time perfecting.

      1. 1

        Exactly. It completely changed how I look at my landing page and demos now. Instead of trying to explain how the data loops or webhooks work under the hood, I'm shifting to just showing a quick 15-second before-and-after video of a manual chore entirely disappearing. If they can see their daily headache vanishing in real time, that does all the heavy lifting. The backend can stay completely invisible.

  14. 1

    The certainty thing is real. The features that cause the most
    damage aren't the experimental ones, they're the ones nobody
    questioned because they seemed obvious.

    Almost didn't build the approvals queue in what we're working on.
    Felt like friction. Turns out it's the feature people mention most
    because it's the thing that keeps them in control while the AI does
    the work. Would have shipped without it if we hadn't asked the
    uncomfortable question one more time.

  15. 1

    had almost exactly this with leadgrid (my lead-gen tool). the feature i was completely sure about was volume, thousands of businesses per search, that was basically the pitch. the one i almost skipped was a free 5-row preview, felt dumb to give away results before anyone paid.

    the preview ended up being the reason people buy. everyone's been burned by a scraped list full of dead emails, so they want to see the hit rate for their own niche before they trust it. the volume thing i was so sure about barely came up once i realized a giant unverified list just makes more work for them.

    pretty sure i only believed volume mattered because that's how i'd priced it in my head, not because a user asked for it. good reminder to go poke at those.

    1. 1

      The preview being the buy trigger makes total sense, everyone's been burned by dead-email lists, so proof-of-hit-rate beats volume every time. And you nailed why: you valued volume because that's how you priced it in your head, not because a user asked. That's the trap exactly.

      1. 1

        yeah, "priced it the way i valued it, not the way the user does" is the trap i keep falling back into. the fix that stuck was letting the preview do the arguing — one row of their real data with a working phone number beats any "X,000 leads" headline, because they can check it themselves in ten seconds. cheap to build, and it reframes the whole pitch from volume to hit-rate. thanks for the read.

  16. 1

    This is such a sharp insight, and it's a trap almost every builder falls into at least once.

    When you're "certain," you skip the validation phase because you think you're saving time. In reality, you're just deferring the discovery of a mistake to a point where it's much more expensive to fix.

    The most dangerous assumption in product development is "Of course they'll want this." It creates a blind spot where critical edge cases and actual user workflows go completely unexamined.

    Building the habit of asking "What if I'm wrong about the core assumption here?" feels pessimistic, but it's actually the ultimate shortcut to shipping software that people actually use.

    1. 1

      "Deferring the discovery of a mistake to when it's more expensive to fix" is the precise cost of skipping validation. And "of course they'll want this" is the exact phrase that creates the blind spot. Well put.

  17. 1

    The "certainty is where you stop asking questions" framing hits hard. Mine from this week: I build a tool that extracts Bubble (no-code) apps into documentation, and the thing I was most sure about was the onboarding — you add us as a view-only collaborator, no edit rights, nothing installed. Safest possible design, so I never questioned it.

    Then a user told me he couldn't try the product at all, because Bubble locks collaborator seats behind its higher-priced plans. My "zero-friction, maximum-trust" onboarding was, for everyone on a starter plan, a paywall I didn't even own. The assumption I never tested wasn't "will people trust viewer access" — it was "can people grant viewer access."

    Turns out the failure mode of your surest feature often lives one layer below it, in a dependency you don't control.

    1. 1

      This is the sharpest one here. "The failure mode of your surest feature lives one layer below it, in a dependency you don't control." You tested "will they trust viewer access" but not "can they grant it." That's a whole category of blind spot most people never think to check.

  18. 1

    This is one of the best pieces of advice I've read here in a while,
    The features I'm most confident about are almost always the ones I end up cutting later. They feel "obvious" because they're based on my own assumptions, not actual user behavior.
    One example from my last product: I was 100% sure users would love a detailed analytics dashboard. Spent weeks on it. Almost nobody opened it. Meanwhile a simple "export this week’s data" button I almost didn't build became the most used feature.
    Certainty = I stopped asking questions. Now I force myself to validate the "obvious" features first.

    1. 1

      This is exactly the problem I'm exploring — founders building in the dark because there's no simple way to see what users actually use vs ignore. How do you currently track feature usage now that you validate first? Any tools or is it manual?

    2. 1

      The export button beating the analytics dashboard is the most common version of this, and it keeps happening because "obvious" = based on your assumptions, not user behavior. Validating the obvious ones first is the fix.

      1. 1

        Exactly — so how do you currently validate which features are actually being used? Do you use a tool or is it a manual process?

        1. 1

          Mostly PostHog for event tracking, it's free at low volume and shows you which features get touched vs ignored. Before that though, the cheapest validation is just shipping the smallest version and watching if anyone uses it at all. No tool needed for that. Instrumentation matters once you're deciding what to expand, not what to build.

          1. 1

            That's a really useful distinction — so at the 'what to expand' stage, does PostHog give you clear enough answers or do you find yourself digging through dashboards trying to interpret the data

            1. 1

              Honestly, it's more digging than I'd like. PostHog tells you what happened but not why, so you end up cross-referencing events, funnels, and session recordings to piece together a story. The raw numbers rarely answer the actual question on their own. That gap between "here's the data" and "here's what to do" is where most tools leave you.

              1. 1

                That's exactly the gap I'm building to close — skipping the digging and going straight to 'here's what to do next.' Would you be open to seeing an early version when it's ready? Building something specifically around this problem.

                1. 1

                  Yeah, happy to take a look when it's ready. The "straight to what to do next" angle is the right problem to chase, that's where everything else falls short. Send it over.

                  1. 1

                    You're in , founding member #1. I'll keep you posted as we build. Really appreciate it

                  2. 1

                    Amazing — I'll send it over as soon as the early version is live. Would it be okay if I kept you in the loop as we build? Also building a small founding member group who get lifetime 50% off for being early — happy to add you if you're interested.

                    1. 1

                      Sure, keep me in the loop. Happy to give feedback as you build. Add me to the founding group and I'll take a look when it's live.

  19. 1

    Small version of this from the last few weeks. I almost didn't build a blog section for my payroll tool. Felt like a distraction from the actual calculators, which I was sure were the whole point.
    Shipped it almost as an afterthought. Three days later it's already outranking the actual tool pages on Google for the exact queries I built the tools for in the first place (salary proration, how to calculate LOP). The thing I was certain mattered (the calculators) is now getting found through the thing I almost skipped.
    Still not sure what to make of it, feels like the "sure" feature and the "almost didn't build" feature ended up needing each other.

    1. 2

      Love this, the "afterthought" and the "sure thing" needing each other. The blog is how people find the calculators. Distribution and product weren't separate, the thing you almost skipped became the front door.

  20. 1

    Still early for me so I don't have real data on this yet, but it hit close to home in an awkward way. I'm building a voice memory app, and in another thread I mentioned I'm watching whether people come back the next day, whether it survives past the novelty week. Real talk: my current prototype doesn't even support that yet. It wipes clean on every refresh, no persistence at all. So any "signal" I've got right now is really just gut feel from people talking to it once, not the retention data I made it sound like.
    I was so sure capture was the hard problem that I built that first and left the actual thing I'm trying to test, whether people come back, completely out of the prototype. Kind of proving your point before I even meant to.
    Curious if others have caught themselves doing this, describing the metric they want to chase before the product can actually produce it.

    1. 1

      Brutally honest, and it proves the point perfectly. You were so sure capture was the hard problem you built it first and left out the actual thing you're testing, retention. The metric you want to chase, but the product can't produce it yet. Everyone does this, few admit it.

  21. 1

    this maps to something I've seen in AI tools specifically. we were dead certain users wanted a detailed breakdown report after their assessment. turns out most people just want a single number and a persona label, then maybe drill into the details later. the detailed version was our pride, the simple version drives all the engagement. certainty was the trap — we built for how we thought about the product, not how users actually consumed it.

    1. 1

      Perfect example, the detailed report was your pride, the simple version drives engagement. Built for how you think about it, not how users consume it. That gap is the whole trap.

  22. 1

    This is such an important insight. The features you're most defensive about are usually the ones with the weakest product-market fit signal. I've adopted a practice of 'kill your darling features first' — if a feature was your original vision but isn't getting used, cut it. The pain of removal is temporary, but the focus gain is permanent.

    1. 1

      "Kill your darling features first" is a great rule. The ones you're most defensive about usually have the weakest fit signal, that defensiveness is the tell. Removal pain is temporary, focus gain is permanent.

  23. 1

    Just lived a small version of this. I launched a free tool last week that tells LLC owners when their state filing deadline is. The thing I was 100% sure about: people want to know their next deadline. Built the whole thing around that.
    Then a test user picked a formation year, saw "next deadline: 302 days away," and asked "is that right?" — and I realized the tool was cheerfully telling someone who'd already missed this year's deadline that they had 302 days to relax. The feature I almost didn't build — a warning that says "you may have already missed it and owe a $400 penalty" — turned out to be the most valuable thing on the page. Someone who just learned they're late is 10x more motivated than someone with 302 days of slack.
    The certainty I never questioned was "the deadline that matters is the future one." The user's confused question did more than any research would have.

    1. 1

      Great example. "The deadline that matters is the future one" was the untested assumption, and someone who just learned they're late is 10x more motivated. The user's confused question beat any research, that's the whole post in one story.

  24. 1

    Same rule applies to ad hooks. The hook you're most confident about is exactly the one you should test against 3-4 other angles instead of shipping it alone. I've seen founders fall in love with one opening line and skip the test, then wonder why the ad underperforms. Certainty is the tell you stopped asking if there's a better angle.

    1. 1

      Same logic, the hook you're surest about is the one to test against 3-4 others, not ship alone. Falling in love with one opening line and skipping the test is how ads underperform. Certainty = stopped asking if there's a better angle.

  25. 1

    This matches almost exactly what I've seen running agent generated changes through a review process. The features that caused the worst incidents were never the ones I was nervous about, those got tested carefully. They were the ones that felt so obviously correct that I read the diff, agreed with the summary, and shipped without actually running the flow myself. Now the rule is the opposite of intuition, the more confident I feel about a change, the more I make myself open it and use it before calling it done.

    1. 1

      This is the strongest parallel here. The changes that caused the worst incidents were the ones that felt obviously correct, so you skipped actually running them. "The more confident I feel, the more I make myself use it before calling it done" is the exact right inversion.

  26. 1

    This is a good reminder to sit with. I built an 8-agent pipeline (research, writing, fact-checking, SEO, etc.) to run content ops for a solo project, and the piece I was most confident about going in — automated fact-checking downgrading unverified claims to "rumour" — turned out to be one of the more finicky parts to get right in practice.

    1. 1

      This is the mechanism underneath it all. Risky features ship with a kill-metric, sure ones ship with none, so they can't fail, they just sit consuming maintenance forever. "No feature ships without a number that would kill it." That's the fix.

  27. 1

    The story is simpler than questioning yourself where risky features get shipped with success metrics attached. Sure features get shipped with none. So the risky one can fail fast and the sure one cannot fail at all, it just sits there consuming maintenance forever. Rule to be taken cake, no feature ships without a number that would kill it. Certainty hates that rule. That's the point.

  28. 1

    Yeah, this hits.

    I’ve caught myself keeping features because they made the product feel more complete, not because anyone had actually asked for them.

    The question that usually exposes it is: if I removed this, would the result actually be worse for the user, or would it just feel less impressive to me?

    1. 1

      The three checks are gold. "Did a real user ask unprompted" filters out most of what we build to feel productive.

  29. 1

    The feature you are most sure about is often the one protected by the weakest evidence.

    I like forcing every “obvious” feature through three checks:

    1. Did a real user ask for this unprompted?
    2. Is it tied to a moment of pain or urgency?
    3. Would it make someone switch, pay, or use the product more often?

    If the answer is no, it might still be useful, but it should not jump ahead of distribution or onboarding work. Founders often build the clever feature because it feels like progress, while the actual blocker is that the right user still does not understand the core promise fast enough.

    1. 1

      "If I remove this, what breaks?" is the sharpest version of the question. The dashboard-vs-email-summary pattern shows up everywhere once you start looking.

  30. 1

    This is so true.
    I once spent 3 weeks building a "smart" dashboard that I was 100% sure users would love. It had every metric I thought was important. After shipping, almost no one used it.
    The feature that actually took off? A simple weekly email summary I added almost as an afterthought because "maybe some people want it."
    The biggest lesson for me: The features I'm most certain about are usually the ones I understand the least from the user's perspective.
    Now I force myself to ask: "If I remove this feature completely, what would actually break?" That question has saved me months of wasted work.
    What's your "I was so sure about this" story?

  31. 1

    This one hurts lol.

    With iPulse I was way too sure the useful thing would be “more outputs”: ratings, forecasts, agent reports, etc.

    The feature I almost underbuilt was trust/context around the output — why agents disagree, what risk drivers are in the answer, and where confidence is shaky.

    Users don't really ask “can it give me another score?” They ask “why should I believe this one?” That changed how I thought about the product a lot. The thing I was sure about was intelligence; the thing that mattered was making the intelligence inspectable.

  32. 1

    This maps almost exactly onto something I hit auditing my own AI-built app before launch.
    The parts I was most sure were fine (the payment flow) turned out solid, but the two things that almost bit me were in the parts I never thought to question: a free endpoint's rate limit, and a stray file.
    The stuff you're confident about hides the risk precisely because you stop looking at it.

  33. 1

    I've been burned more by "obvious" features than risky ones. The risky ideas usually get questioned from every angle. The obvious ones often skip that process entirely.

  34. 1

    The post frames certainty as the enemy but the fix can't just be "question everything" because that's its own kind of paralysis. At some point you have to be certain enough about something to ship it. What's the actual line between productive uncertainty that catches bad assumptions early and unproductive uncertainty that stops you from building anything at all?

    1. 1

      Fair. The line for me: uncertainty is productive when it points at a specific assumption you can test cheaply. It's paralysis when it's vague dread with no test attached. Ship when the cheapest test is "put it in front of users."

      1. 1

        That's a cleaner distinction than the original post made. But "ship when the cheapest test is putting it in front of users" still requires knowing which assumption you're testing when you ship, otherwise you get signal but can't interpret it. How do you make sure you know what question you're answering before you put something in front of users rather than just shipping and hoping the feedback tells you something useful?

        1. 1

          The fix is deciding the question before you ship, not after. Before it goes out I write one line: "this tests whether users will X." If I can't finish that sentence, I'm shipping to hope, not to learn. When feedback comes in, I already know which assumption it confirms or kills. Shipping without that line is how you get data you can't read.

  35. 1

    really like this. "certainty is where you stop asking questions" is going to stick with me. i've definitely shipped the obvious feature and watched it sit there while some throwaway thing i almost cut got used every day. do you have a way you try to catch those blind spots before building, or is it mostly scars from getting it wrong enough times?

    1. 1

      The export button example is perfect. My rule now: build the thing I'm least sure about first, because that's where the real learning is. Certainty just means I already stopped looking.

  36. 1

    So true. It’s always way easier to hide inside the code editor and build the 'perfect' version we’ve convinced ourselves people want, rather than shipping a crude MVP and facing actual user behavior. We basically brand our own assumptions as 'obvious features' just to avoid the friction of questioning them. Unlearning your own certainty is easily the hardest part of building stuff.

  37. 1

    I've just launched a product that I'm not sure about, but I see it in apps that I use all the time where the most useable feature, or the feature that has the most function is abandoned or legacied out for what someone feels is in. I deal with Clickup a lot and they are solely focused on AI build now instead of further development in automations or linking functionality.

  38. 1

    This is so true. The risky part is when an idea feels obvious enough that you stop testing it.
    I’m learning this with my own SaaS too. Some features sound clearly useful in my head, but that doesn’t mean they are the thing users are actually waiting for.
    The better question is not “would this be nice to have?” but “would this make someone trust the product more, use it again, or pay for it?”
    That question makes a lot of “obvious” features look less obvious.

  39. 1

    I think the feature we're most confident about is often the one we've spent the most time building , so we stop questioning it . That's why getting feedback before writing too much code is so valuable - it challenges our assumptions before they become expensive.

  40. 1

    I think it depends on the type of game. If the waiting mechanic feels fair, some users will happily pay for convenience. But if it feels like the game is creating friction just to sell a solution, retention can suffer. I'd optimize for players wanting to support the game, not escape it.

    1. 1

      Right, the mechanic has to feel fair. If friction is obviously manufactured to sell the fix, people resent it and churn. Support-the-game beats escape-the-game.

  41. 1

    I’m just now building my first app—still in the building stage— my hope is to capitalize on instant gratification with in app purchases so people can skip the wait for extra lives, is this a decent strategy or should I take a different approach? Any suggestions would greatly be appreciated

    1. 1

      Skip-the-wait works if the wait feels natural, not punishing. If players sense you built friction just to sell the escape, retention drops. Make the free experience good, then let impatient players pay to speed up, not suffer their way out.

  42. 1

    The feature I was most sure about in my voice-AI agent was voice cloning — sounded like the obvious wow factor. Turned out clients didn't care at all; what actually mattered was that it never missed a call and greeted people in under 3 seconds. Cut the clone, doubled down on reliability, and that's what got me my first paying client. Certainty is usually just an untested assumption wearing a suit.

    1. 1

      "Certainty is an untested assumption wearing a suit." Perfect line. And your example nails it, the wow factor didn't matter, reliability did. Never missing a call beat sounding impressive. That's exactly it.

  43. 1

    Total truth bomb. Every flop feature I’ve shipped came from unchallenged certainty, and my biggest win was a tiny afterthought I almost cut entirely. Stopping to question your own sure instincts before writing code is such an underrated superpower for SaaS builders. Thanks for sharing this perspective!

    1. 1

      Thanks! The afterthought winning while the sure thing flops is the pattern every time. Questioning your own instincts really is the underrated skill.

  44. 1

    At SocialPost.ai the feature I was certain about was advanced scheduling controls, and usage data showed almost nobody touched them; a small AI caption rewriter we nearly cut became the most used feature in the product. The tell I now watch for on my own roadmap and in portfolio companies: if a feature survives every planning meeting without a single debate, that is the one nobody pressure tested. Certainty in the room usually means the customer was never in the room.

    1. 1

      "Certainty in the room means the customer was never in the room." That's the sharpest line here. And the no-debate feature being the untested one is a great tell, I'm stealing that. Scheduling controls vs the caption rewriter is the perfect example.

  45. 1

    Like this framing! The features that feel most obvious internally are often the ones most shaped by your own assumptions. Early users are useful not only because they find bugs, but because they show which parts of the product actually create clarity for someone who did not build it

    1. 2

      I really like the idea of treating confidence as a signal to investigate rather than a signal to build. One thing that's helped me is documenting the assumptions behind every "obvious" feature before development. It's surprising how often a feature depends on 3–5 assumptions that have never actually been validated. Even uncovering one weak assumption early can completely change the direction and save weeks of work.

    2. 2

      Yes, early users show which parts create clarity for someone who didn't build it. You can't see that yourself, you're too close to your own assumptions.

  46. 1

    Really helpful to read this. As a non-technical founder I keep going back and forth on how much to build vs validate first — how did you decide?

    1. 1

      My rule: validate anything you're building because it "obviously" makes sense. Build the small version, watch if anyone uses it before expanding. Cheapest validation there is. As a non-technical founder, usage beats opinion every time.

  47. 1

    "Certainty is where you stop asking questions" — this just reframed how I think about my Day 5 layer.

    I was 100% sure my "real payment signal" detector was the most important part of the pipeline. After reading this, I realize the part I'm not questioning is the Shopify migration idea itself — which is exactly the assumption I should be stress-testing before building.

    1. 1

      That's the real catch, you were stress-testing the detector but not the migration idea underneath it. The assumption you're not questioning is always the one to question first. Good catch.

  48. 1

    The problem always has been, is, and will be distribution. No matter how you look at it, find a solution to this recurring problem and have a profitable business. And you, as a company in the market, do you have any solution to this recurring problem? Or...

    1. 1

      Distribution is the real problem, agreed. My angle: build in public and add value in communities before selling. Slow, but it compounds. Still working it myself.

  49. 1

    I think certainty is actually more dangerous than uncertainty. When we're unsure, we validate. When we're confident, we skip validation because it "just makes sense." I've started forcing myself to ask, "What evidence do I actually have that users need this?" before building anything.

    1. 1

      "Certainty is more dangerous than uncertainty" is exactly it. Uncertainty triggers validation, confidence skips it. That one question, "what evidence do I actually have", kills most bad features before they're built.

  50. 1

    Happened to us with feedback capture. We were sure collecting feedback was the product, turns out nobody cared until the feedback actually went somewhere after it landed. Hard to question it though, it was the whole reason we started.

    1. 1

      Right, "nobody cared until it went somewhere after it landed." The capture felt like the product, but the routing was. Hard to question because it was your origin story, that's exactly when certainty blinds you most.

  51. 1

    The version of this I keep hitting: the feature I'm most sure about is usually one that adds a decision for the user, and those are the ones that flop. Dashboards, settings, stats screens — I'm certain people want them because I'd want them as the builder, and then nobody opens them. What sticks is whatever quietly removes a decision so the person doesn't have to think about it. My rule now is that certainty about a feature is a signal to ask who it's really for — me or the user. Half the time "obviously they need this" just means "I'd enjoy building this." So the question before writing code isn't "will they use it," it's "does this add a choice or remove one?"

    1. 1

      Since we're both in the accounting-integration space, curious what's been your hardest edge case? For me it's always fee/refund timing that posts late and breaks reconciliation.

    2. 1

      Great example. Dry-run felt pointless because its job is doing nothing, but it's what makes people trust the thing that does everything. Correctness doesn't earn trust, visibility does. Shipping it ON by default was the right call.

  52. 1

    Lived this exact pattern with my first Shopify app (it syncs orders into accounting software). The feature I was 100% sure about was the sync itself — fully automatic, zero clicks, that was the whole pitch. The thing I almost didn't build was a "dry run" mode that just shows what would be written to your books without actually writing anything. Felt like a waste of a week for a feature whose entire purpose is doing nothing. Turned out dry-run is what makes merchants trust the automatic part at all — nobody wants a robot writing into their accounting ledger sight unseen, so I ended up shipping with dry-run ON by default and letting people flip the switch after they've watched it behave. The "sure thing" was worthless without the "why would anyone build that". Your framing of certainty as the place you stop asking questions is exactly right — for me the blind spot was assuming trust would come free with correctness.

    1. 1

      Exactly, the doubt forced better thinking. Right now? Anything touching how much to automate vs. leave manual. I keep assuming people want full automation, but some want control at the critical step. Still validating that one.

  53. 1

    This. We validated zero overlap across 8 newsletters before drafting a single issue. The feature we were most sure about (niche segmentation) required the most scrutiny. That doubt forced better thinking. What feature are you second-guessing right now?

    1. 1

      Validating zero overlap before writing a single issue is the move most skip. And you're right, the feature you're surest about deserves the most scrutiny. Doubt forces better thinking.

      1. 1

        Right now? The personalization angle. We're using {{first_name | there}} in every email, but testing whether deeper segmentation by newsletter interests (rather than one-size-fits-all personalization) drives higher engagement. Early signal suggests it does, but too early to pivot.

        1. 1

          Smart to test before pivoting. One thing worth checking: whether the segmentation lift holds after the novelty wears off, or if it's just early-list enthusiasm. If it survives 3-4 sends, it's real.

          1. 1

            Good instinct — that's exactly the risk we're watching for. We're planning to hold the current segmentation steady through at least 4 sends before drawing any conclusion, specifically to filter out novelty effect. If it's still outperforming by send 4, we'll trust it.

            1. 1

              Sounds like you're running it right. Hold steady, let send 4 tell you. Good luck with it.

  54. 1

    this hit home tbh. when i started building BountyKai i was convinced vulnerability detection would be the feature everyone cared about.after talking to pentesters and bug bounty hunters, i realized the real pain was much earlier in the workflow. people were spending hours just understanding the application, mapping APIs and figuring out the business logic before they could even start testing.that completely changed what i prioritized. sometimes the feature you think you're building isn't actually the product.

    1. 1

      "The feature you think you're building isn't the product." That's it. The real pain was upstream, understanding the app before testing it. Talking to actual users is what surfaced it. You can't reason your way to that.

  55. 1

    One thing that’s helped me: forcing myself to write a one-sentence user story for the “obvious” feature and then asking, “when, exactly, does this moment happen in their day?” If I can’t picture that moment clearly, the feature is probably about my needs, not theirs. Have you found a lightweight way to validate those “obvious from day one” features without slowing down shipping too much?

    1. 1

      Love the "when exactly does this moment happen in their day" test. My lightweight version: ship the obvious feature as the smallest possible version, then watch if anyone touches it before building it out. Cheaper than research, faster than debate. Usage is the only honest validator.

  56. 1

    I think certainty is often a signal that we've stopped looking for alternatives, not that we've found the right answer.

    The features that create the biggest surprises usually aren't the ones that were difficult to build—they're the ones nobody thought needed validating because they felt obvious from day one.

    1. 1

      "Certainty means we stopped looking for alternatives." That's the whole thing in one line. And you're right the surprises come from the obvious features, not the hard ones, difficulty triggers validation, obviousness skips it. The feeling of "this is obvious" is the exact signal to stop and question it.

      1. 1

        I think that's the interesting part.

        The moment something starts feeling obvious, it often stops being treated as a decision and starts being treated as a fact.

        That's usually where the biggest strategic surprises begin.

  57. 1

    the part that clicked for me: the features i'm most "sure" about are usually the ones i'd use myself, so i skip the research. the risky ones get validated precisely because i'm not sure. so the certainty isn't really about the user, it's me describing my own workflow and assuming everyone shares it.

    honest example from my own product (affiliate software): i was certain people wanted a slick analytics dashboard. the screen they actually open every week is the boring "did this affiliate get paid the right amount" one. the flashy part I was sure about barely gets touched.

    1. 1

      That's the sharpest version of it, "certainty is just me describing my own workflow." Nailed it. And your example is perfect: the payment-accuracy screen is boring but load-bearing, because it touches money and trust. The analytics dashboard was the fun build, not the needed one. Money-critical always beats flashy. Did the boring screen change how you prioritize now?

  58. 0

    This is such a sharp observation,
    The features I'm most certain about are almost always the ones I end up cutting or rebuilding later. They feel obvious because they're based on my own assumptions, not real user pain. The ones I was unsure about usually become the most used.
    One example: I was 100% sure users would love a fancy analytics dashboard. Nobody touched it. The boring "export data" button I almost didn't build is what people actually use weekly.
    The pattern is clear now: certainty usually means I stopped asking questions. Now I force myself to validate the "obvious" features first.
    Great reminder, thanks for this post!

Trending on Indie Hackers
I built a startup-idea scanner. It just told me none of my 3,400 ideas are easy wins. User Avatar 77 comments “I’ll just post on Upwork” is not a client strategy. Here’s what I built instead. User Avatar 60 comments Building a Shopify bundles app for stores with real fulfillment: here's the wedge User Avatar 42 comments I Just Discovered My Analytics Numbers Are Mostly Fake. Here Is Why. User Avatar 38 comments I recorded myself using 200+ indie SaaS products cold. Here are the 7 conversion killers that keep showing up. User Avatar 38 comments The Capture Trap User Avatar 33 comments