One of the most common questions I get about Dangercorn's pricing model is: "how do you make money off free?" The assumption embedded in the question is that free users cost something. For cloud SaaS, they usually do — cloud compute, storage, bandwidth, support. For Dangercorn's self-host tier, the marginal cost is zero, because the user is running it on their hardware.
This post is the unit-economics walkthrough. What each tier costs us to serve, what it contributes, and where the math breaks down.
Self-Host: True Zero Marginal Cost
A self-host user clones our public GitHub repo and runs the app on their infrastructure. We incur:
- $0 in compute — it's their laptop or server.
- $0 in storage — their disk.
- $0 in bandwidth — their network.
- $0 in support — support is not included in self-host. The README is the documentation.
The only way a self-host user costs us money is if they email us and we respond — an hour of founder time is worth something. We keep this bounded by (a) making the self-host README thorough enough that most questions self-answer, (b) explicitly saying "self-host tier does not include support," and (c) pointing paid-tier curiosity to a waitlist form.
Marginal cost per self-host user: effectively $0. Marginal contribution: $0. But they matter for other reasons — SEO, word of mouth, distribution.
Hosted Pro: Real Costs, Real Margin
Hosted Pro is $29-99/month depending on vertical. Let's take a $39 example (mid-range for our catalog).
Cost side, per customer:
- Compute: ~$0.50/month (shared Digital Ocean droplet, 50-100 customers per droplet).
- Storage: ~$0.20/month (S3 backups of customer DBs, assume 500MB average).
- Bandwidth: ~$0.30/month (negligible unless the vertical has heavy data).
- Stripe fees: $39 × 2.9% + $0.30 = ~$1.43.
- Email (transactional): ~$0.10/month via Postmark.
- Claude API (if vertical uses AI): ~$0.50-2.00/month depending on volume.
- Support: ~$0.50/month on average (infrequent tickets, quickly resolved with templates).
Total cost: roughly $3.50-5.00/customer/month.
Revenue: $39.
Gross margin: ~87-91%.
This is the standard SaaS gross margin. Nothing magical — we just have a normal margin profile for a small, mostly-automated operation.
The Subsidy Math
Here's the interesting part. The gross margin on Hosted Pro funds the development of the self-host tier. Every feature I ship on the hosted infrastructure also gets merged back to the open-source repo that self-hosters clone. The free tier's features are paid for by the paid tier's margin.
At 100 Hosted Pro customers across the catalog at an average $39/month, we're generating ~$3,500/month in gross margin. Jess and I take modest draws; the rest goes into development. The self-host tier is the development beneficiary, not cost center.
What Hosted Customers Actually Buy
They're not buying features. The features are the same across tiers. They're buying:
- Managed infrastructure. They don't want to run a VPS. They don't want to do backups. They don't want to patch Python. Paying us $39/month to do all that is rational.
- Managed connectors. MLS imports for agentdesk, Tilt integration for breweryops, Channel Manager sync for vacaypro. These integrations have per-customer API keys, per-customer auth flows, and per-customer rate-limit management. Way more work than the self-host user wants to do.
- Support. The moment something breaks, someone who knows the system should be reachable. On self-host, that's the user's job. On Hosted Pro, it's ours.
- BAA / compliance. For dentaldesk's HIPAA needs, the hosted tier signs a BAA. Self-host has to build their own compliance posture.
These are real goods. Customers who buy them are buying something of value, not being price-discriminated.
When Does the Math Break
Three scenarios where the unit economics collapse:
Support-heavy customers. If a Hosted Pro customer takes 8 hours of support per month, they're costing us $80+ at founder hourly rates. Margin is negative. Policy: if a customer is consistently a time sink, we refund them and part ways. Happens maybe once per year.
Claude-heavy verticals. Verticals where every interaction triggers a Claude call can see API costs of $5-10/customer/month. At $39 revenue, margin tightens but stays positive. At $19 revenue with heavy AI use, margin is uncomfortably thin. Fix is tier pricing appropriately: AI-heavy verticals price at $39+ minimum.
Compute-heavy verticals. Verticals like breweryops with Tilt integration do a lot of small frequent API calls. Hosting 100 of those on one droplet is different than hosting 100 coachboard users. We split heavy verticals onto their own hosts.
The Self-Host Conversion Rate
This is the question people ask: "what % of self-host users convert to paid?" Answer: we don't really track it because it's the wrong metric.
Self-host users aren't "leads." Most of them will never upgrade, because they don't need hosted. Their infrastructure works, they're getting value, they're happy. Pressuring them to upgrade would be user-hostile.
The value self-host users provide is: distribution, SEO through GitHub stars and forks, word-of-mouth ("I use this thing, it's free, try it"), and direct product feedback via GitHub issues. All of which compound over time.
The GitHub Star Economy
Each vertical's GitHub repo has between 30 and 2,400 stars. Total across the portfolio is somewhere in the tens of thousands. GitHub stars are a long-tail SEO signal — they get indexed, they correlate with discoverability for niche queries, and they create the social-proof version of trust that cold traffic needs.
None of that is revenue. All of it is distribution, which converts over long horizons.
Free-tier users are not the product. They're the distribution. Hosted-tier users are the revenue. Both are important, but conflating them leads to bad decisions in both directions.
What This Means at 220 Apps
If the portfolio achieves 20 hosted customers per app on average (it currently averages ~2-5 because we're early), that's 4,400 paying customers at a blended ~$45 average. Monthly revenue: ~$198K. Gross margin: ~87%. Net contribution: ~$172K/month. That's a viable family business.
The total self-host user base at that scale would be many times the hosted base — call it 50,000+ self-hosters across the portfolio. Distribution, SEO, network effects, none of which show up on the P&L but all of which make the paid tier sustainable.
Related
Why every app has a self-host tier. The 220-app thesis. Why we're not raising. Why the niche is the moat.
The Trade-Off We Accept
The honest cost of this model is that we never have a single product worth a venture-style outcome. There's no "sell Dangercorn for $200M" exit. The 220-app catalog is more valuable as a portfolio than any of its parts — but a portfolio is harder to value, harder to acquire, harder to fit into the standard exit mechanics.
This is fine for us. We're not building this for an exit. We're building it for the cash flow and the ongoing optionality. If a buyer ever wants any single vertical, that's a side conversation, not the goal. The catalog is the asset, and the catalog stays in the family.
The strategy works because we're optimizing for a different objective function than venture math implies. The math we run is "monthly net contribution sufficient for two adults and two kids in Seattle, indefinitely." The math venture runs is "exit at 10x in 7 years." Neither is wrong; they just don't share an answer.