Back to blog
#pricing#local-first#indie-dev

The $0 infrastructure behind Zowl

Zowl runs on your Mac. Your API keys. Your machine. My infrastructure cost after you download it is zero.

The $0 infrastructure behind Zowl

My monthly server bill is $0

Not "close to zero." Not "$5 on a hobby Droplet." Zero. I don't run servers for Zowl. There is no Zowl backend. There is no database with your account in it. There is no cluster in us-east-1 that I'm nervously monitoring at 2am.

Zowl is a native macOS app. It runs on your Mac. When you set up a pipeline and it sends prompts to Claude or GPT-4, those API calls go from your machine directly to the provider. I'm not in the middle. I'm not proxying your requests. I'm not skimming tokens.

Your keys. Your machine. Your bill. I'm just the guy who built the orchestrator.

Compare this to literally anything else

Think about what most developer tools charge you for. You pay $20/month, $30/month, sometimes $50/month for a wrapper around an API. The tool takes your prompt, adds some system instructions, forwards it to the same models you could call directly, and charges you a markup on top of the token costs you're already paying.

They need to charge monthly because they have monthly costs. They're running the proxy. They're storing your conversations. They're managing user accounts, handling auth, maintaining uptime on infrastructure that sits between you and the model.

I don't have any of that. So why would I charge you for it?

The economics nobody talks about

Desktop apps have incredible economics. I'm not saying this to brag. I'm saying it because more developers should know.

Here's what my cost structure looks like:

Compute: Your Mac. Cost to me: $0.

Storage: Your filesystem. Your PRDs, your pipeline configs, your logs. All on your SSD. Cost to me: $0.

AI tokens: Your API keys, billed to your account at Anthropic or OpenAI. Cost to me: $0.

Bandwidth: App updates through standard distribution channels. Cost to me: negligible.

Support: Me, answering emails and fixing bugs. Cost to me: my time. But that's the same whether I charge monthly or once.

The total ongoing cost of a Zowl user after they download the app is essentially nothing. I don't provision anything. I don't scale anything. I don't get paged at 3am because a database is running hot. There's no database.

This is why the one-time price works

People sometimes ask how I sustain a business without recurring revenue. The answer is simple: my costs don't recur, so my revenue doesn't need to either.

Every SaaS tool with a monthly subscription is playing a game where customer lifetime value needs to exceed customer acquisition cost plus ongoing infrastructure cost. They need you to stay subscribed for at least 4-6 months to break even. That's why they make cancellation flows annoying. That's why they email you three times when you downgrade.

I don't have that math. My break-even point on every customer is the moment they click "buy." There's no retention game. There's no churn metric I'm sweating over. If you buy Zowl and use it for 10 years, great. If you buy it and use it for a week, also great. I already got paid and I'm not spending anything on your behalf. This approach is the flip side of why I charge once instead of monthly, and it ties into the subscription fatigue problem that motivated the pricing model.

Local-first isn't just a philosophy

I see a lot of developers talk about "local-first" as an ideology. And sure, there are good philosophical reasons to keep your data on your machine. Privacy. Ownership. Control.

But there's also a brutally practical reason: it's cheap.

When your app doesn't need a backend, you don't need a backend team. You don't need DevOps. You don't need to think about database migrations, or load balancers, or CDN configs, or SSL certificate renewals, or any of the thousand small fires that come with running a web service.

I'm one person. I built Zowl in Swift. It runs on your Mac. When I want to add a feature, I write code, build it, ship an update. I don't coordinate deployments across three environments. I don't run staging servers. I don't have a #incidents Slack channel because there's nothing to have incidents about.

The time I don't spend on infrastructure is time I spend on the product. That tradeoff is worth more than most people realize.

What I actually pay for

I want to be honest about the non-zero parts. I'm not running a business on air.

I pay for a domain name. I pay for a simple landing page. I pay for code signing and notarization so macOS doesn't flag the app as untrusted. I pay for the occasional tool or service that helps me build and distribute Zowl.

All of that adds up to maybe a couple hundred bucks a year. It's fixed overhead that doesn't scale with users. Whether I have 10 customers or 10,000, those costs stay roughly the same.

Compare that to a SaaS product where every new user means more storage, more compute, more API calls, more support tickets about "why can't I log in." The cost curves are completely different.

Why more indie devs should build desktop apps

I talk to a lot of indie devs who default to building web apps. It's what they know. It's what the ecosystem pushes you toward. Every tutorial is "build a SaaS." Every template is a Next.js app with Stripe and a Postgres database.

But if your product doesn't need to live in the cloud, you're taking on a ton of complexity and cost for no reason. You're choosing the hardest possible delivery model for software that could just be an app on someone's computer.

Zowl started as a bash script on my Mac. It became a native Mac app. At no point did I need a server. At no point did the user's data need to leave their machine. The architecture fell naturally into "this is a local tool" and I just... let it be that.

The result is a product I can sell for a one-time price, that costs me nothing to deliver, and that works even if my entire web presence goes down tomorrow. Your copy of Zowl doesn't care if zowl.app is online. It's software you own, running on hardware you own, calling APIs you pay for directly.

That's the whole pitch. No infrastructure. No recurring costs. No middleman. Just a Mac app that does its job. Explore this model at Zowl.