How We Run SaaS With Zero Hosting Costs Using Cloudflare Workers
People ask us the same question every time we tell them our software is one-time purchase: "How do you keep the lights on?"
The answer is stupid simple: there are no lights to keep on. Our entire backend infrastructure runs on Cloudflare Workers' free tier. Our monthly hosting bill is $0. Not "almost zero" — literally zero dollars.
This post is a full technical breakdown of the architecture that makes one-time purchase software economically viable. If you're a developer thinking about building products, this is the playbook.
The Problem With Traditional SaaS Infrastructure
Most SaaS companies run on AWS, GCP, or Azure. Here's what that typically costs for a small-to-medium application:
| Component | AWS/GCP/Azure Cost | Our Cost |
|---|---|---|
| Compute (EC2/App Engine/VMs) | $50-500/mo | $0 |
| Database (RDS/Cloud SQL) | $30-200/mo | $0 |
| CDN/Static Assets | $10-50/mo | $0 |
| Load Balancer | $18-25/mo | $0 |
| SSL Certificates | $0-10/mo | $0 |
| Monitoring/Logging | $10-50/mo | $0 |
| Email (SES/SendGrid) | $10-30/mo | $0 |
| Total | $138-865/mo | $0/mo |
Those costs are why SaaS companies charge monthly. They have to — their infrastructure bills are recurring, so their revenue must be too. The subscription model isn't a business innovation; it's a cost structure consequence.
Eliminate the recurring costs and you eliminate the need for recurring revenue. That's the entire thesis behind JRD Connect's pricing model.
The Cloudflare Workers Architecture
Here's the stack, component by component:
1. Frontend: Electron Desktop Apps
Our products — Scan0tron, JRD Garage, SiteSweep — are desktop applications built with Electron. They run natively on Windows and macOS.
Why desktop? Because desktop apps don't need a server to render UI. The application lives on the user's machine. There's no server-side rendering cost, no bandwidth charges for serving pages, and no scaling challenges during traffic spikes — because there are no traffic spikes. Each user runs their own instance locally.
Desktop-first also means offline capability. Your tools work even when the internet doesn't.
2. Backend: Cloudflare Workers
When our apps need to talk to a server — license validation, payment processing, email delivery — they hit Cloudflare Workers.
Cloudflare Workers run on Cloudflare's edge network across 300+ data centers worldwide. They're serverless functions written in JavaScript that execute in under 10ms. And on the free tier, you get:
- 100,000 requests/day — That's 3 million requests per month
- 10ms CPU time per request — More than enough for API endpoints
- Workers KV — Key-value storage with 100,000 reads/day free
- Global distribution — Your API is fast everywhere, not just us-east-1
- Free SSL — Automatic HTTPS on custom domains
- Zero cold starts — Unlike AWS Lambda, Workers are always warm
100,000 requests per day is an enormous amount for a desktop software business. Each user might make 10-20 API calls per day (license check on launch, occasional sync, payment processing). That means the free tier supports roughly 5,000-10,000 daily active users before we'd need to upgrade.
3. Database: Workers KV + D1
We use Cloudflare Workers KV for key-value data (license keys, configuration, feature flags) and D1 for relational data when needed. Both are included in the free tier.
Workers KV is eventually consistent with global replication — meaning a license key activated in New York is readable from Tokyo within seconds. For our use case, eventual consistency is perfectly fine. We're not running a stock exchange.
Most data lives locally on the user's machine. The cloud backend only stores what's absolutely necessary — license info, anonymized analytics, and payment records. This is a privacy advantage too: we don't have your business data on our servers because we don't need it.
4. Payments: CardPointe
Payment processing goes through CardPointe's hosted payment page. The payment form is served by CardPointe (not us), processed by CardPointe (not us), and the card data is stored by CardPointe (not us). We receive a webhook confirming the transaction and activate the license.
Our role in the payment flow is essentially: receive confirmation, write license key to KV, send activation email. Three operations. Microseconds of compute.
5. Email: MailChannels via Workers
Transactional emails — purchase confirmations, license delivery, password resets — are sent through MailChannels via a Cloudflare Worker. MailChannels offers free email sending for Cloudflare Workers users. No SendGrid subscription, no AWS SES costs.
We send maybe 20-50 emails per day. The free tier handles millions.
6. Static Site: Cloudflare Pages
This website — jrdconnect.com — is a static HTML site hosted on Cloudflare Pages. Free. Unlimited bandwidth. Unlimited requests. Global CDN. Automatic deployments from git.
No WordPress. No CMS. No database-backed dynamic pages. Just HTML, CSS, and JavaScript served at the edge. The site loads in under 1 second from anywhere in the world.
Why This Works (And Why Others Don't Do It)
The reason most companies don't run this architecture isn't technical — it's incentive misalignment.
- VC-backed companies need MRR metrics. Investors want to see Monthly Recurring Revenue because it makes valuations predictable. One-time purchase revenue is "lumpy" and harder to model. VCs hate lumpy.
- Cloud-native architectures create cloud dependency. If your product is a web app, you need servers 24/7. Desktop apps shift compute to the user's machine, eliminating that dependency.
- Most developers don't know about edge computing free tiers. The Cloudflare Workers free tier is absurdly generous. Most developers default to AWS because that's what they know, then charge subscriptions to cover the bill.
- One-time pricing requires capital efficiency. You can't burn money on marketing and make it back over 24 months of subscription revenue. Every sale has to be profitable on day one. That's actually a feature, not a bug — it forces discipline.
The dirty secret of SaaS: most of your subscription fee goes to infrastructure, investor returns, and sales teams — not product development. When you eliminate all three, a one-time $49-99 price point is not just viable, it's profitable.
The Math: Traditional SaaS vs Our Model
| Metric | Traditional SaaS | JRD Connect Model |
|---|---|---|
| Monthly infrastructure | $200-1,000/mo | $0/mo |
| Revenue per customer | $30-100/mo recurring | $49-99 one-time |
| Months to profit per customer | 3-12 months | Immediately |
| Customer churn impact | Revenue loss | None — already paid |
| Server scaling costs | Grows with users | Stays at $0 |
| Breakeven users | 20-100+ users | 1 user |
We're profitable from customer number one. There's no "scale to survive" pressure, no runway clock ticking, no pivot-to-enterprise-to-raise-prices desperation move. Sell a product, make money, repeat.
Can This Scale?
The most common pushback: "This only works while you're small."
Let's do the math. If we outgrow the Cloudflare Workers free tier (100,000 requests/day), the paid plan is $5/month for 10 million requests. Ten million. Per month. For five dollars.
To hit 10 million requests/month, we'd need roughly 15,000-20,000 daily active users. At $49-99 per sale, that's $735,000 to $1,980,000 in revenue generated by those customers. The incremental cost to serve them? Five dollars a month.
Even at scale, the hosting cost is a rounding error. The architecture doesn't just work while we're small — it gets more economically efficient as we grow.
The Takeaway for Builders
If you're building a software product and defaulting to a subscription model because "that's how SaaS works," take a step back and ask why.
- Do you actually need servers running 24/7, or could your product be a desktop/mobile app?
- Does your backend need to run on AWS, or could edge functions handle it?
- Are you charging monthly because your costs are monthly, or because everyone else does?
- Would your customers prefer to pay once and own the product forever?
The answers might surprise you. The technology exists to build profitable software businesses with zero recurring infrastructure costs. Most people just don't realize it yet.
See the products built on this stack
Scan0tron, JRD Garage, and SiteSweep — all one-time purchase, all running on $0/month infrastructure.
Browse ProductsRead more about our approach: Why We Don't Charge Monthly Fees covers the business philosophy, and How SiteSweep Scores Locations shows one of these products in action.
— Jay Durango, JRD Connect