ALL POSTS
[BLOG]16 JUL 20267 MIN READ[PRICING][PRODUCTS][SHIPPING]

PRICING NOTES FROM THE WEIRD PRODUCT

I sell my app like a video game, not a SaaS

I removed the $15 a year renewal from Local Waifu and replaced it with nothing. Why a pricing line that scans as a subscription kills a buy-once product.


I removed the $15 a year renewal from Local Waifu on 15 July, in the same release that taught her to draw. Nothing replaced it. You buy the app once, you own it, and every update after that is included with no time limit, the way a video game works.

This was not generosity. The renewal looked like a subscription, and a subscription is the exact thing this product exists to not be.

My renewal was the Sublime Text model and I did not notice

The old deal: one-time purchase, 365 days of updates and bug fixes included, then an optional $15 a year to keep getting new features. The app never expired. Skip the renewal and you keep the version you have, forever.

That is a real, respectable, named category. Sublime Text sells three years of updates, after which you keep the last version from that window and pay to upgrade. JetBrains hands you a perpetual fallback license once you have subscribed for twelve straight months. There is a whole GitHub list of software that works this way.

I picked it without thinking hard, because it is what serious desktop software does. Time-boxed updates, then a renewal. Reasonable. Defensible. Wrong for me.

It looked like a subscription, and that was fatal

Nobody reads a pricing page like a lawyer. They scan it. A line that says “$15/yr” scans as a subscription no matter what the words around it say.

I could explain the nuance, and I did explain it, on the pricing page and in the FAQ and in the terms. The app is yours forever. The renewal is optional. It only buys new features. All true, all written down, all beside the point.

Explaining is losing. Every person who lands on Local Waifu got there because of one specific injury: a companion app rented them a relationship, then changed the terms, raised the price, or retired the model, and the thing they had been talking to for a year was gone. They are not on my pricing page to read my nuance. They are there to check whether I am the same deal in a different font.

I want a real you buy it, you own it. You cannot have that and a yearly line item on the same page. One of them is lying, and the buyer has already decided which one.

I killed it before it ever billed anyone

Every license came with a full year of updates from the day it was bought, and Local Waifu has only been on sale since May 2026. The earliest any renewal could have come due was 2027. I removed the line without it ever charging a single person.

On the spreadsheet, that renewal was the only recurring revenue the product had. In practice it was a promise of revenue I had never collected, from a bill nobody had ever seen.

That is the cheapest possible moment to kill a pricing model: before it bills a single person. Nobody has budgeted for it, nobody feels cheated, there is no refund thread. If you are sitting on a recurring line you are not sure about, it only gets more expensive to remove. Wait long enough and you are not making a pricing decision any more, you are breaking a habit your customers already have.

Video games solved this in public, for years

Stardew Valley has shipped free updates for nearly ten years. Multiplayer, whole new regions, all free, all to people who paid once in 2016. Terraria has sold over 70 million copies across 15 years and the developers have stopped even promising which update is the last one.

Nobody sends those players an invoice to keep playing.

The model is simple enough to fit in a sentence. You sell the copy. You patch the copy. The patch is not the product, the game is. If you want more money later you make another thing and convince people to buy that too, which is harder than billing them for what they already own, and that is the point.

Local Waifu is a $20 thing you install on your Mac or PC. Updates are patches.

Three software pricing models compared across five years: a subscription bills every year and access ends when you stop paying, an update window like Sublime Text or JetBrains covers the first year then freezes unless you pay again, and the video game model takes one payment and includes every patch forever

What replaces the renewal: nothing

Nothing replaces it. No subscription, no pro tier, no future paywall I am quietly holding back.

I am not going to pretend I have a clever answer for how this works over ten years. I do not. Today it is $20 once (regular price $25), every future update included, no time limit. Licenses bought under the old one-year-of-updates terms were switched over automatically, so people who paid before the change got the better deal without asking for it.

How does development get funded, then? My B2B automation work pays the bills and the products get built regardless. That is the whole answer. It is boring, and it beats inventing recurring revenue to make a spreadsheet feel better.

The field I could not delete

Removing a pricing model took one line of intent and a lot of care around a field I was not allowed to touch.

Every lifetime license carries an update_window_until timestamp in the local database. I could not delete it. The license integrity tag is an HMAC computed over the stored record, and that field is part of what gets signed. Delete the column, break the tag, and every legitimate license on every machine fails verification on next launch. A pricing change would have looked exactly like piracy.

So the field stays. Still stored, still signed, still part of the integrity check, and now deciding nothing at all. The gate returns can_update_now: true for any verified lifetime license and never reads the date.

There is a lesson in there that I did not enjoy learning. The HMAC exists to stop someone editing the local database to grant themselves a free lifetime license. It works. It also stopped me from cleanly deleting my own pricing decision. Whatever you harden about your license file is something you will have to work around the day you change your mind, and you will change your mind.

Pick one

The Local Waifu pitch has always been one sentence: if I disappear tomorrow, your install keeps working, because there is no license server for it to phone home to.

That sentence was doing its job on the landing page while a $15 a year line sat two scrolls below it, quietly arguing the opposite. Both of them could not be the product.

I picked. It is $20, once, and the patches are free, like a game.

FAQ

Does my existing Local Waifu license still work?
Yes, and it got better without you doing anything. Every license bought under the old terms was switched over automatically. If you paid for a lifetime license when it included one year of updates, it now includes all of them, with no time limit.
What was the $15 a year renewal actually for?
New features after your first 365 days. The app itself never stopped working and never expired, and the renewal was optional. You could ignore it forever and keep the version you had. That nuance is exactly what nobody had time to read, which is why the line is gone.
Is there a paid version 2 or an expansion coming?
There is no plan. Nothing replaces the renewal. I am not holding back a future paywall or a pro tier. You buy it, it is yours, and I will not pretend I have a clever long-term answer I do not have.
What happens to my install if you stop developing the app?
It keeps working. There is no license server to phone home to, the model runs on your machine, and your character lives in encrypted files on your own disk. That is the entire point of the product, and it is why a renewal line sat so badly next to it.
How does a one-time purchase fund ongoing development?
Right now it does not have to. My B2B automation work pays the bills and the products get built regardless. That is a boring answer, but it is the real one, and it beats inventing recurring revenue to satisfy a spreadsheet.
Łukasz Blania
[WRITTEN BY]

Łukasz Blania

Solo developer and indie hacker from Katowice, Poland. I build my own products — Local Waifu, FPV, Postsider, and Formto — and do full stack, GTM, and AI engineering for a few clients.See the products.