Next workshop If you need the tech to explain it, you don't have a product RSVP now

2.3.2 - Why Cutting Features Is a Design Skill Most Builders Skip

Choose the feature cut: say what stays central, what gets removed and why the product becomes stronger because of that cut.

Feature cut

Are you cutting features that distract from the main user path?

The call

Cut before AI adds more. Otherwise every option AI generates becomes a feature and the product grows without getting better.

Why it matters

Cutting features is a design skill because every removal decision reshapes how users move through the product. AI can suggest many options quickly, but human judgement decides which cuts improve clarity and which create risk. The difference is between simpler software that works and smaller software that confuses users.

Explainer

A feature cut is not an omission by accident. It is a design decision that protects the core path from noise. Until you can name one core path, one feature to cut and one reason the cut strengthens the product, the product will keep expanding. AI can help add surface area fast, but it cannot decide what should stay out.

Make the feature cut concrete

Compare the broad version with a version you can actually test.

  • Too vague: We should probably keep the search tool simple.
  • Concrete enough to test: We are cutting query history from version one because the core test is whether a content creator can search with their saved context and act on a result in one session. History adds UI complexity without proving the context layer works.

The second version lets two people remove the same complexity from it.

candidate featurescontext-shaped searchquery historysaved searchessharingexport to CSVThe coredone really well
Cutting features is a design skill because every feature you keep dilutes the one that matters. You strike out everything that is not the core, not because it is bad, but so the core has room to be genuinely good.

Read more about how this works in Ways to get to a sharp answer. The full Sharpen prompt for the feature cut is below for members, join vibe2value to use it.

Check the feature cut

  • Pass: You can say what stays central, what gets removed and why the product becomes stronger because of that cut.
  • Fail: If the cut still sounds like we will keep it simple for now, it is not concrete enough yet.

Do not move into implementation or polish work until this passes.

What you'll walk away with

This post is about the framing decision: the words that pin down what this idea actually means for your build, before any code. You'll come out with your own knowledge-base/build/not-in-v1.md written and sharpened: the feature cut pinned down as a decision, three worked examples to map against your own surface and an AI prompt that pressure-tests it until two people would make the same call.

The code that brings these decisions to life lives in the build-in-public repos (subCancel, ghostMarketingFlow and flowRun), which are works in progress growing alongside the writing. We work through the code together each week in the free weekly workshops; that is where these ideas get put into practice with hands on the keyboard.

Working with AI? Start with build it with AI, the free guide for this kind of work, or browse all six ways at Working with AI.

In plain words

In plain words: this idea is about deciding what to leave out, not just what to add. Because AI can generate endless options, every one risks becoming a feature, and the product grows without getting better. Cutting the things that distract from the main path is a real design skill, and the judgement of what to cut is yours.

If you sign up, this idea continues with how it all fits together, a worked example, how to use it with AI, how to evaluate it on a real change, the risks worth naming and how to mitigate them, the key takeaways and a copy-paste AI prompt you can drop straight into your next chat. Examples are shown on the Cloudflare Workers stack with AI-assisted coding tools; the ideas apply equally on any other platform.