DEV Community

Cover image for Sell Templates vs SaaS — 12 Months of Real Numbers
Chris F A
Chris F A

Posted on • Originally published at applighter.hashnode.dev

Sell Templates vs SaaS — 12 Months of Real Numbers

Sell Templates vs SaaS — 12 Months of Real Numbers

If you're an indie hacker on the "SaaS by default" hype train, this is the counter-post.

We ran a React Native template shop (Applighter) for twelve months instead of building the SaaS everyone told us to build. Below are the actual numbers, the trade-offs, and the decision framework we now use.

TL;DR

  • Templates: higher AOV per sale, ~zero infra, zero pager, bounded support, no compounding.
  • SaaS: compounding MRR, real churn, real pager, real infra bill, real feedback loop.
  • Neither is passive. Both are full-time jobs. Pick based on what kind of job you want.

The 12-month table

Metric Templates (us) Solo SaaS (previous project)
Avg deal size $148 $19/mo (~$228 annualized)
Refund / early cancel 3.4% ~5%
Support tickets / sale 0.6 3.1 / active seat / yr
Monthly infra ~$40 ~$620
Time to first $ Day 11 Day 47
Weekend incidents (12mo) 2 19
Churn N/A 7.1% / mo

The template stack

Every Applighter template ships with the same base:

# Every template is:
# - Expo SDK 54
# - React Native + TypeScript
# - NativeWind styling
# - Supabase (postgres + auth + storage + edge fns)
# - Stripe for in-app monetization
# - EAS Build ready
Enter fullscreen mode Exit fullscreen mode

The tech consolidation matters commercially. When every product uses the same base, upgrades are a single sweep, not a per-product project.

// modules/services/AIService.ts — swappable AI backend
export interface AIService {
  transcribe(audio: Blob): Promise<string>;
  chat(messages: Message[]): Promise<Message>;
}
// Concrete: OpenAIService, AnthropicService, etc.
Enter fullscreen mode Exit fullscreen mode

That interface is the reason we can promise "swap GPT-4o for Claude with a config change" and mean it. It's also the reason support tickets stay bounded — we don't get "your AI provider is broken" tickets because the provider is the buyer's choice.

Where SaaS beats templates

Compounding revenue. A template sale today doesn't pay you next month. A SaaS seat sold today at 3% monthly churn pays you ~33 more times. That's the whole reason people build SaaS. It's real and it matters.

Feedback. SaaS users are in your product daily. Template buyers vanish into their own codebase. You learn less than you'd think.

Pricing power. Raise SaaS prices annually. Templates are mostly a one-shot pricing decision.

Enterprise ceiling. SaaS scales into six- and seven-figure ACVs. Templates cap somewhere around a few $k per license.

If your product genuinely requires a hosted component — real-time collab, an API you route traffic through, a data pipeline the buyer can't self-host — templates are not viable. Build the SaaS.

Where templates beat SaaS

Infra is a rounding error. ~$40/mo covers our site, DB, and email. A SaaS at even modest scale needs multiples of that before month one.

Support is bounded by the sale. SaaS support scales with active seats forever. Template support scales with new sales and drops off after week two per customer.

No pager. No servers = no wakeups. Our only two "on-call incidents" in a year were us breaking our own site.

Zero data liability. We hold no customer PII beyond orders. Breaches don't propagate.

Pricing that fits on a napkin. Buy once, own forever, get updates. Try writing that on a SaaS pricing page.

The revenue mix

Stream Share
Template licenses 71%
Bundle upgrades 18%
Custom / enterprise 8%
Affiliate + referrals 3%

Notice: no SaaS component. We prototyped a hosted "template runner" for a week and killed it — the moment you host something, your infra + support burden explodes.

The uncomfortable parts

Revenue is spiky. No MRR floor means a slow week hurts. We use a rolling 4-week average for any decision that matters.

Marketing is the whole job. No retention means every dollar needs a new buyer. If you hate writing, posting, and networking, don't sell templates.

Piracy exists. Templates hit nulled sites within a month. Buyers who pay ≠ people who pirate. File DMCAs, move on.

The math

  • Solo dev: ~1920 productive hours/year.
  • Each template sale ≈ 30 min of amortized effort.
  • SaaS attempt with same input ≈ 45 seats × $19/mo × 12 = ~$10k ARR at month 12.
  • Template shop crossed that in month 3.

Templates front-load payoff. SaaS back-loads it. If your runway is short and your compounding assumption is optimistic, front-loading is safer.

Related reads on this blog

External refs

  • Expo docs — the runtime under every template we sell.
  • Supabase RLS guide — the reason we can ship a real backend inside every template without hand-holding.
  • Basecamp's Once — the sharpest existing counter-argument to SaaS-forever.

Verdict

Sell templates if:

  1. You can write code other developers will pay for on first look.
  2. You're willing to be a full-time marketer.
  3. You want the money now, not later.

If any answer is no, build the SaaS — and price for the pager.

Top comments (3)

Collapse
 
vollos profile image
Pon

The napkin price says own forever, get updates, and Expo majors land roughly every year. Does that update promise run indefinitely because the shared base makes each sweep cheap, or does each template generation get a defined support window? Twelve months in you must have data on what an upgrade sweep costs you per product.

Collapse
 
publiflow profile image
PubliFlow

The breakdown of support tickets and on-call hours really highlights why shipping a SaaS requires a fundamentally different mindset than selling one-off templates. When you sell a template, the customer relationship usually ends at the sale, but with a SaaS, you are constantly managing churn, feature requests, and infrastructure scaling. I noticed this exact shift in operational overhead when we were structuring PubliFlow to handle Supabase auth and billing out of the box, realizing how much boilerplate just distracts from the core product. Given the refund rates you mentioned, do you think the lower ceiling of template sales is actually worth the peace of mind compared to the relentless grind of SaaS metrics?

Collapse
 
martiniuss profile image
Martinius

Killing the hosted template runner after a week is the most instructive line here, everyone building a template shop eventually gets tempted by "what if we host it" and the infra + support explosion you named is exactly what's waiting. Curious what the $40/mo covers, if a chunk of it is the shop itself: I got that line to zero by making delivery a private repo invite. Store is static on github pages, checkout is a stripe payment link, a scheduled action invites the buyer's github account after payment. The nice side effect is your napkin line "buy once, own forever, get updates" stops being a promise you fulfill by email, updates are just git pull. And refunds auto-revoke access, which quietly kills the buy-refund-keep pattern, though pirates gonna pirate either way, no delivery model fixes that. Engine's MIT: github.com/Honorboxx/honorbox The 0.6 tickets per sale number should be framed on the wall of every "just build SaaS" thread.