← Return to Field Notes

Field Notes · Build Log

Field Note #0: Why I Built Kalix

Spreadsheets, a Python tally counter, then an Armory dashboard on my Home Assistant smart home. How a firearms guy with 20+ years in tech ended up building the vault he couldn't find anywhere else.

The early Kalix prototype on a Home Assistant dashboard with shot and cleaning counters, next to the Kalix vault and target analysis today

Every Field Note so far has been about what Kalix does. This one is about why it exists at all, and it's a personal one. Call it note number zero: the one that should have come first, told straight from me.

Two hobbies, one headache

I've been into technology for more than 20 years, and I genuinely enjoy firearms and the outdoors. For a long time those two worlds stayed in their own lanes. Then they collided over a problem that sounds small until you live with it: keeping track of everything.

Not just the firearms. The ammo on the shelf, the holsters and mags and optics, the range days, the cleanings, the receipts, the paperwork. All of it lived in a spreadsheet, a pile of scattered notes, and a folder of receipt photos I could never find when I actually needed one.

If you own more than a couple of firearms, you probably know the feeling. The information exists. It's just everywhere except where you're looking.

I went shopping first

Building an app was not plan A. Plan A was downloading one.

I tried them. Most fell into one of two buckets. Some were glorified counters: tap to add a round, tap to subtract one, done. The rest were data-entry chores that felt like filing taxes, dozens of fields before you could save anything.

What bugged me most was what none of them understood:

  • A duty firearm and a personal one aren't the same thing, and shouldn't be tracked the same way.
  • A range session, a cleaning and a receipt aren't three separate records. They're chapters of the same story about the same gun.
  • Your collection is nobody's business but yours. It shouldn't need an account on someone else's server.

Nothing felt built by someone who owns firearms. It felt assembled from a generic inventory template with a gun icon on top.

So I built a tally counter

The first version of Kalix was humble. A rough desktop program written in Python with Tkinter (a basic toolkit for making simple windows and buttons), barely more than a running count of rounds fired per gun, plus a cleaning counter so I'd know when one was due.

It was clunky. It looked like exactly what it was: a weekend project. But it did something none of the apps I'd tried had done. It answered the question "how many rounds since I last cleaned this one?" without me digging for it.

That was the moment. Not a big launch-day feeling, just a quiet okay, there's something here.

Then I moved it into my house

Being the tech guy, I also run a smart home. The brain of it is Home Assistant, a free, open-source platform that runs on a small computer at home and ties everything together: lights, locks, sensors, cameras, thermostats. Instead of a dozen separate apps from a dozen companies, you get one dashboard you design yourself. And it all runs locally, inside your own four walls, not on somebody else's cloud.

So I thought: if my house already has a dashboard, why shouldn't my safe?

The desktop prototype moved into Home Assistant and became a page I called the Armory. Every firearm got its own card. My RIA TM22 had a photo, a shot counter, a "last cleaned" counter, an ammo picker set to whatever I was feeding it that day, and quick links to its cleaning and maintenance notes, full specs and owner's manual. Come home from the range, tap the counter, done. It lived right alongside the rest of the house, and honestly, it felt pretty great.

It also proved the idea in a way the desktop version never could. I wasn't opening a program to track my guns anymore. It was just there, part of everyday life.

By the way: if Home Assistant sounds fun, here are three of my favorite YouTubers who got me hooked. Smart Home Solver (Reed) makes it easy for beginners, Paul Hibbert reviews smart-home gear with a wicked sense of humor, and Smart Home Junkie (Ed) has step-by-step tutorials anyone can follow. They're a great place to start if you want a smart home without Big Brother (Apple, Google, Amazon) watching your every move.

Outgrowing the smart home

Home Assistant is brilliant at what it was made for. But it was made for lights and thermostats, not a firearm vault, and the cracks showed fast:

  • Every new firearm was a mini project. Each counter had to be built by hand: a name, an icon, minimum and maximum values, a starting count, an internal ID. Adding a new pistol meant real setup before it could count a single round.
  • It only knew numbers. Counters can count, but they can't tell you that a range day, a cleaning and a receipt all belong to the same gun's story.
  • Nobody else could use it. It lived on my home server. To share it with a friend, they'd need their own Home Assistant setup and my patience.

The Armory dashboard was the best prototype I could have asked for. It showed me exactly what the real thing needed to be.

Starting over, for real

"The real thing" meant starting over. A home dashboard wasn't going to fit every owner, and a website squeezed into an app was never going to feel right with cold hands at the bench.

So Kalix was rebuilt from the ground up as a genuine native phone app. Every screen in it today exists because I needed it myself first:

  • a Personal and Duty vault, so each firearm lives where it belongs;
  • ammo that updates itself when you log a range session;
  • range logs tied to the exact firearm and ammo you used, with shot-group analysis;
  • documents attached to the gun they belong to;
  • reminders that know the difference between "nice to have" and "this one has to work".

The About page has real screens from the early prototype days next to the app as it is today. The jump is a little embarrassing, in the best way.

What Kalix stands for

A few rules came out of those early days, and they haven't changed:

  • Your vault lives on your phone. No account, no automatic upload, no background sync to a Kalix server. The core of the app works fully offline. The Privacy page spells it out.
  • Built by an owner, for owners. If a feature doesn't make sense at the bench or at the range, it doesn't ship.
  • One person, no ticket queue. Kalix is built in Texas, and "the team" is me. When you write to support, you're writing to the person who wrote the code.

Where Field Notes comes in

Kalix keeps growing, and these notes are where I'll share the how and the why as it does. The Build Log covers the behind-the-scenes side. If you want to see where the journey has gone since the Armory dashboard, How Kalix Got a Second Skin and Chasing Smooth are good next stops.

Thanks for reading note zero. If Kalix started for the same reasons you're here, I'd love to hear about it.

Posted in Build Log · Origin Story · Prototypes · Home Assistant · Behind the Scenes