AboutExpertiseProjectsJourneyBlogContact
Discuss
AboutExpertiseProjectsJourneyBlogContactDiscuss

Yao David Logan

Software Engineer fullstack specialized in SaaS, business automation and scalable web/mobile platforms.

NavigationExpertiseProjectsJourneyBlogContact
LinksGitHubLinkedInEmail
© 2026 Yao David Logan. All rights reserved.
From MVP to traction — 8 patterns to avoid shipping a sleeping B2B SaaS
Back to blog

Business

Xin@

From MVP to traction — 8 patterns to avoid shipping a sleeping B2B SaaS

YDLYao David Logan8 min readMay 23, 2026

CategoryBusiness

Read8 min read

PublishedMay 23, 2026

Views400

Shares0

Comments0

Contents
  1. 011. The context
  2. 022. Promise vs product
  3. 033. Pattern 1 — Sell before you code
  4. 044. Pattern 2 — Sell before it works
  5. 055. Pattern 3 — Time-to-value under 5 minutes
  6. 066. Pattern 4 — Pricing before features
  7. 077. Pattern 5 — Product observability from day 1
  8. 088. Pattern 6 — Tech that doesn't kill you
  9. 099. Pattern 7 — Sell to the agency, not the CTO
  10. 1010. Pattern 8 — Annual prepayment
  11. 1111. Pitfalls to avoid
  12. 1212. The 5-product verdict
  13. 1313. Closing

Sell before coding, time-to-value under 5 min, pricing before features, product observability, native multi-tenant: what separates SaaS that take off from those that sleep.

Shipping a B2B SaaS as an agency is less a tech question than a product discipline question. Five products in eight months — here's what separates those that take off from those that sleep.

1. The context

At Ubuntu Consulting, I shipped five B2B SaaS products in eight months: Prospect-Pro AI, RunWeek, HomeEnergy, MailCraft and a data enrichment platform. Three found rapid commercial traction. Two never took off despite impeccable tech.

The difference didn't come from code. It came from how we approached the MVP-to-traction transition. This article condenses the patterns I saw work.

2. Promise vs product

A technically working MVP has zero value if the promise isn't clear. The promise is what you say in one sentence to a prospect.

Good promise: "We automate B2B prospecting with AI scoring — 60% more conversion, 15 hours saved per week."

Bad promise: "We have a modern lead management platform with artificial intelligence."

The first promises a quantified result. The second describes a category. Of the five products, those without a clear promise stayed technical PoCs.

3. Pattern 1 — Sell before you code

The first product that worked (Prospect-Pro) started with 12 user interviews before a single line of code. Format: 30 min, two questions:

  1. "Describe your current prospecting, step by step"
  2. "What's the most painful thing in all that?"

No mention of the planned product. Just listening. Out of 12 interviews, 8 described the same problem — manual Excel files, 6-month-old contacts, generic messages that don't work.

That became the product brief. Tech followed.

Conversely, the two products that didn't take off started with "we saw a tech opportunity" without preliminary interviews. Result: six months of dev on features nobody requested.

4. Pattern 2 — Sell before it works

Before the functional MVP, we sold three licenses on a "Wizard of Oz" demo: real interface, hand-cranked backend. Customers didn't know — for them, the app worked. For us, it validated that people were ready to pay for that precise outcome, regardless of implementation.

This pattern (Wizard of Oz MVP) takes guts but avoids months of wasted dev. If nobody pulls out their card on the demo, the product has no market — regardless of the tech you'd have written.

5. Pattern 3 — Time-to-value under 5 minutes

On RunWeek, the first try sent users through 14 minutes of setup (Garmin connection, HealthKit authorization, parameter selection, history import). We lost 70% at step 3.

Funnel redesign:

  • No account at start — user tests with demo data
  • Optional auth at the moment of saving
  • Minimal import at first login (last 7 days, not 5 years)
  • Everything else in background, transparent

After redesign: time-to-value at 3 min 20 sec. Activation rate ×4.

Rule: every second of friction between install and first "wow" costs retention. Measure that time. Lower it like a product sprint of its own.

6. Pattern 4 — Pricing before features

Classic mistake: stack features, then figure out how to sell them. Better: define pricing first, only add features that justify a tier.

On HomeEnergy, three tiers:

  • Free: 1 simulation, result without action plan
  • Pro (€29/month): unlimited simulations + action plan + PDF export
  • Advisor (€89/month): multi-client + agency branding + API

Each feature developed asked itself: "does it justify a tier or enrich an existing one?" If neither, we cut.

Result: compact roadmap, readable pricing, free-to-pro conversion at 8% (vs typical 1-3%).

7. Pattern 5 — Product observability from day 1

Without data, you're improvising blind. Three things to instrument from the MVP:

7.1 Activation funnel

Each key step between signup and first "wow" is tracked. On Prospect-Pro:

Plain Text
1[Signup] → [Onboarding step 1] → [First search] → [First export] → [First contact sent]
2 100% 78% 52% 38% 22%

The biggest drop (step 2 → 3) signaled a confused onboarding. Redesign → drop halved.

7.2 Cohort retention

For each cohort (signups from a given week), track % returning the following weeks. Without this, you confuse growth with churn.

Plain Text
1 W+1 W+2 W+4 W+8
2Cohort W12 65% 48% 35% 28%
3Cohort W14 72% 58% 45% 38% ← palpable improvement

7.3 Conversational NPS

Not the automated 30-day NPS that teaches nothing. Conversational NPS: call the first 10 paying customers, ask "what would make you leave us?" and "what would make you commit more?". Answers guide the roadmap better than any form.

8. Pattern 6 — Tech that doesn't kill you

On the tech side, three principles to avoid shooting yourself in the foot:

8.1 Default stack, exoticism only if justified

Next.js + PostgreSQL + Tailwind covers 90% of B2B SaaS. Pointless to chase an experimental framework to do the same slower and riskier. The more common the stack, the easier to hire and collaborate.

8.2 Multi-tenant from start

A B2B SaaS serves multiple clients. Isolate data by tenant_id everywhere, from line one. Cost: 5% more effort. Benefit: no painful migration at the 50th client.

SQL
1CREATE TABLE leads (
2 id UUID PRIMARY KEY,
3 tenant_id UUID NOT NULL,
4 name TEXT NOT NULL,
5);
6CREATE INDEX ON leads (tenant_id, created_at);
7CREATE POLICY tenant_isolation ON leads
8 USING (tenant_id = current_setting('app.tenant_id')::uuid);

8.3 Feature flags for everything risky

Every non-trivial new feature ships behind a flag, activatable per tenant. You can test on 3% of clients without risking the other 97%. On MailCraft, this pattern avoided three production rollbacks.

9. Pattern 7 — Sell to the agency, not the CTO

Commercial reality of B2B SaaS in West African and French markets:

  • The decider isn't the developer
  • The decider wants a pitch, a number, a testimonial
  • The decider signs on tangible, not on elegance

So: product pages with a client story told as narrative, more effective than a feature table. Visible logos. Pricing displayed (not "contact us"). 2-click clickable demo.

B2B SaaS sites doing "mystical premium" without visible pricing filter out 80% of qualified prospects who go see a transparent competitor.

10. Pattern 8 — Annual prepayment

On paying tiers, offer monthly + annual with ~20% discount. Multiple effects:

  • Stronger client commitment (less churn)
  • Boosted cash flow (upfront payment)
  • Useful filtering (annual payers are the most engaged)

On Prospect-Pro, adding annual/monthly side-by-side raised CAC payback from 11 to 5 months.

11. Pitfalls to avoid

PitfallSymptomFix
Code before listeningFeatures nobody wants10+ user interviews before code
Time-to-value > 10 minMassive onboarding dropMeasure and reduce each step
Hidden pricingPre-contact dropDisplay transparent pricing
Feature before business modelIncoherent pile-upPricing first
No product observabilityBlind decisionsFunnel + cohort + conversational NPS
Late multi-tenantPainful migrationtenant_id from initial schema
Selling to engineeringNobody signsSell to business decider
No annual prepayTight cash flowVisible annual option

12. The 5-product verdict

Across the five Ubuntu products:

ProductTractionMissed pattern
Prospect-Pro AIStrong—
RunWeekMediumInitial onboarding too long
HomeEnergyStrong—
MailCraftStrong—
Enrichment platformWeakNo user interviews before code

The three that took off share: preliminary interviews, short time-to-value, visible pricing, native multi-tenant. The two that stagnated skipped one of those steps.

13. Closing

B2B SaaS isn't a tech problem. Tech is the means. The problem is finding a clear promise, validating it pre-sale, shipping short time-to-value and instrumenting retention.

If starting today: six weeks of discovery before the first code sprint. Three visible pricing tiers. Multi-tenant from day 1. Tracked activation funnel.

The rest follows. Otherwise, your SaaS joins the graveyard of technically impeccable MVPs that nobody bought.

Comments

Reader reactions

No comment yet

No spam — email is only used to verify your identity.

·

Be the first to share your reaction.

←PreviousObservability for a fintech platform — logs, metrics, traces and auditTech · 9 min readNextClean code and technical debt — nine months teaching fullstackRetour d'experience · 9 min read→
Next conversation

Turn this reading into a product decision.

If this topic feels close to a real product problem, I can help on diagnosis, architecture, backend, interface and automations that make a platform usable in production.

Format
Full-time, freelance, long mission
Focus
SaaS, API, back-office, automation
Discuss the topicDownload CV

Newsletter

Get the next technical notes.

A short selection on SaaS, backend architecture, business automation and product quality. No noise, only applicable ideas.