Building Persistwise, or How to Make a Blog Outlast the Platform
Hey everyone,
I have this bad habit with blogs. I start one somewhere that feels right, write for a while, then the platform changes, the export is a mess, and the old posts sit there like a burned CD nobody can play. Geocities. LiveJournal. A host that quietly folded. A newsletter tool that got bought. Same movie, different sequel.
The first idea was to build another blog engine. A nice little house for the writing. Then it hit me that the house is not the problem. I already have places I like to write, including my free Hey blog. What I did not have was a boring, stubborn librarian in the background whose only job is to keep a copy.
So Persistwise was born. No new editor. No comments. No growth dashboard. You keep blogging wherever you already do. You paste in the RSS feed. Persistwise watches, and when a new post shows up it files three copies: a public snapshot on the Wayback Machine, a durable CID on IPFS, and a local copy we actually control. One record per post. Original URL, where it lives now, when it was saved.
That is the whole pitch. Writing that outlasts the platform.
Why bother
Most of us do not lose writing because we are careless. We lose it because the web is a rental. The landlord changes the locks. The feed dies. The pretty URL 404s. Wayback is wonderful and still not a promise. IPFS is a handy extra link, not a magic vault. The copy on our own disk is the one I can still open if everything else gets weird.
I wanted something I would actually use as user zero. Quiet screens. Rails 8, Hotwire, SQLite, a job runner that lives in the same process. Typography, space, no SaaS chrome. Four rooms: home, feeds, archive log, account. If it needs a fifth room, we probably got distracted.
The goal is peace of mind, not a new identity as a writer. Keep posting on Hey, Substack, a little site, even a social RSS feed. Persistwise does not care. It is the mixtape you make after the radio show, so the songs are still yours when the station changes format.
How it got built
This one came together in a hurry, with a small crew that already knew their jobs. Claude sketched the Rails skeleton and the plan. Github took the private repo, the first commits, the permissions mess when SQLite met a volume that wanted to be root, signup, and Stripe. I handled the boring adult stuff: hosting, keys, price.
We looked at a few hosts and landed on Railway so the thing can stay up when this machine sleeps. SQLite sits on a volume. The worker polls feeds. Signup is live. It is not a science fair project in a drawer. It is a real tiny product.
There were a couple of classic 90s computer moments. The database file that would not open until we asked politely. The health check that 404ed because the server was listening to itself. The secret key that got buggered and had to be rotated like a locker combination after gym class. None of it was glamorous. All of it was the work.
Keep, $40 a year
Longevity and monthly billing fight each other. I did not want a $4 habit you cancel in February. Pinboard charges about $39 a year to keep a personal copy of every bookmark. A printed blog book in a preview sits around forty bucks. That felt like the right neighborhood for peace of mind.
So there is one plan. Keep. Forty dollars a year. A handful of feeds, Wayback, a local copy, a CID, the dashboard. No free tier except me, because somebody has to be user zero and I already pay in on-call Wayback failures. If someone stops paying, new captures pause. The archive they already have stays readable. We do not delete people for leaving.
Print-ready PDFs are later, not a second identity. When they exist you print them yourself. I am not becoming a mail-order book shop.
The honest goal is small. Cover the archiving costs. Make a little extra. Stay maintainable by one person. If a hundred people show up, the box pays for itself. If ten show up, that is fine. I still get my own writing saved, and that was the point.
What I hope it does
I hope Persistwise makes it easier to keep writing without a tiny voice asking whether this post will still be here in ten years. I hope it stays boring. Boring is a compliment when the job is survival.
I hope I do not build another editor by accident. The whole point is you already have one.
And I hope a few other people who have lost a blog to a dead host feel that little Ted Lasso lift. Believe in the work you already did. File a copy. Go write the next one.
Still early. Feeds, archives, and the quiet jobs will get better. For now the first version is up, Keep is forty a year, and I am on it as user zero. If you have a feed you care about, I would love for Persistwise to keep it.
Thanks for reading. Now I am going to go write something that is not about infrastructure, and let the librarian do the filing.