← Back

Lifedex.app Launch!


July 3 2026

I built a website that lets you log the books you’ve read, the movies you’ve watched, and the places you’ve been. It stores everything in a JSON file. On your computer. That you own.

I am aware this makes me sound like I invented the spreadsheet in 2026.

It is, in fact, a spreadsheet. I just gave it a passport.

What is Lifedex

Lifedex is a Pokédex for your life. You add a book, it fetches the cover from Open Library. You add a movie, it fetches a thumbnail from Wikipedia. You add a place, it fetches a little OpenStreetMap tile so you can pretend you remember exactly where that café was. You add a title card because sometimes you just want to write “Summer 2026” in big letters and move on with your life.

Everything you add lives in one JSON file, sitting wherever you tell it to sit. Downloads folder. iCloud Drive. A USB stick you’ve labeled “DO NOT LOSE” in Sharpie. I don’t know. I don’t want to know. That is the entire point.

So it’s a note-taking app.

No.

It sounds like a note-taking app.

It is a note-taking app that is deeply, personally offended every time you call it a note-taking app.

Why local-only, why no account, why no login

Because I know exactly how “we’ll just store it in the cloud, it’ll be fine”. It ages like a bag of milk left in a hot car. Someone, somewhere, six years from now, gets an email that says “We are deprecating this service” and loses every book they’ve ever logged.

Based on your feedback, all new (JSON, viewing etc) features will be backwards compatible!

Lifedex has no backend. No database. No account. No login. No “Sign in with Google” button quietly harvesting your soul for ad targeting. There is nothing to breach, because there is nothing there — the entire app is HTML, CSS, and plain JavaScript files sitting on Cloudflare Pages, and your actual data never leaves your device unless you personally hand it to someone.

If the repo disappears tomorrow, if Cloudflare gets hit by a meteor, if I get run over by a garbage truck while ASCII-arting my cat — your JSON file still opens. It’s just a text file. It’ll outlive me, this website, and probably several JavaScript frameworks that haven’t been invented yet.

Isn’t that a lot of paranoia for a hobby project about books?

The “Wrap”

Once you’ve logged a few things, you can hit Wrap and it generates a shareable image — a little passport-style booklet with your entries, stamps, MRZ-looking chevron strips, the works. Good for posting the “here’s my year” carousel without having to explain to anyone what a JSON file is.

Built with zero third-party JavaScript. No image library, no CDN script, no “please allow this npm package to phone home so it can crop a rectangle.” Just the browser’s native <canvas>, doing what canvases have always been able to do, because apparently we forgot that was an option for about a decade.

On the subject of me not being a “real” web developer

As established in my last post, my actual job is Power Platform — drag, drop, connect, ship, repeat, inside somebody’s Microsoft tenant. Lifedex is what happens when that same brain gets let loose on a text editor with no guardrails and no ticket in Azure DevOps demanding it be done by Friday.

No build step. No node_modules folder large enough to have its own gravitational pull. Just files, doing the thing files do, which — it turns out — is still a completely valid way to make software in 2026. Who knew.

Are you going to keep adding features to this?

Probably. Slowly. Between actual client work and tomatoes.

Is this going to make you money?

Absolutely not. This is the opposite of a business plan. This is a guy logging his book habit in public because he thinks passports are funny.

Lifedex is live now, at lifedex.app ; Go log something. Or don’t — the JSON file doesn’t judge, and neither, particularly, do I.