I rebuilt Benjamin Franklin's 250-year-old self-improvement system as an app. It's free.

Franklin tracked his character with a notebook and a grid. I rebuilt it this week, made it local-first, and open-sourced it.
In 1726, Benjamin Franklin made himself a little book. Thirteen virtues, one to a page, and a grid of dots. Every day he marked a black dot against the virtues he'd failed. He worked one virtue at a time, cycled through the whole set, and bet that the dots would thin out over the weeks.
That's it. A notebook, a pen, and the nerve to mark your own faults.
I rebuilt it as an app this week. No notebook required. It's free, it's open-source, and your data lives entirely on your own machine. Here's what it is, how I built it, and where to get it.
What it is
It's a daily tracker for Franklin's method.
Three things happen each day. You mark a fault. You write one line about what went wrong, or what went right. Then you look at the charts.
The charts are the whole point. Franklin made a specific, testable claim: work the system and your faults diminish each cycle. The dots get fewer. Most self-improvement advice you can't check. This one you can. The app draws your fault count over time so you can see whether Franklin was right for you, or whether you're stalling.
It ships with 23 virtues. Franklin ran 13. I kept all of his and added 10 of my own, so the set fits the life I'm actually trying to build, not just his. Then I had AI order the whole list by dependency, so each virtue comes after the ones it rests on. You build the prerequisites before the thing they make possible, and the cycle ends on the hardest one. None of it is fixed. The virtues live in a config file you edit, so you can run Franklin's 13, my 23, or your own. It's your practice, not mine.
How I built it
Pure Python standard library. No pip install, no build step, no accounts, no signup, no cloud backend. The only thing it fetches from the network is the chart library (Chart.js), loaded from a CDN to draw the graphs.
That last part matters more than it sounds. A self-improvement tracker holds the most private data you own — where you think you're failing. So the design rule was simple: that data never leaves your machine.
Your log is a plain text JSONL file sitting in the folder. One line per entry. You can open it, read it, edit it, back it up, or delete it with a text editor. No proprietary format, no database you can't inspect. On launch the app builds a SQLite index from that file for fast charts, but the text file is the source of truth. The index is disposable. The file is yours.
Local-first, private by design, and small enough that you can read the whole thing in an afternoon.
I built it fast, in public, using the same kind of AI setup I'm building my consultancy around. That's the part I want to sit on for a second.
Why I'm posting this
I'm planning to launch an AI-automation consultancy. The idea: find the slow, manual, repetitive work inside a business and replace it with something that runs itself.
People assume "AI tooling" means a chatbot bolted onto a website. It doesn't. The real shift is this: one person can now design, build, and ship a finished, working tool in a few evenings. Not a prototype. Not a demo that falls over. A real app with a clean data model, a config layer, and charts, released under a proper license.
This tracker is proof of that. It's stdlib-only, local-first, and MIT-licensed. I built it for myself, scratched my own itch, and shipped it. It's the same engine I'm aiming at business operations. The output just looks different.
If I can turn a 1726 notebook into a working app in a week, the slow process eating your team's hours is not safe.
Get it
It's on GitHub, MIT-licensed, free to use, fork, and tear apart:
github.com/nikos33-dev/virtue-tracker
Clone it, edit the config to make the virtues your own, and run it. It's plain Python, so there's nothing to install and nothing to trust except the code in front of you.
There's also an optional, read-only coaching layer if you want it — a skill that reads your log and reflects patterns back at you, without ever writing to your data or sending it anywhere. Skip it entirely and the tracker still does its job.
The takeaway

Franklin's method is 250 years old and still good. The only thing that changed is that building a tool to run it used to take a craftsman and a printing press. Now it takes one person and a good AI setup, working in the open, for a week.
If you're a builder, a founder, or you just like sharp little tools — go star the repo, try it, and fork it into your own system. Then tell me what you changed.
And the same toolkit scales: the grind still done by hand inside a business is exactly the kind of problem I'm building the consultancy to solve. Same toolkit. Bigger problem.