The Problem
I've been into tech for over 20 years, and I genuinely enjoy firearms and the outdoors. At some point those two things collided into a genuinely annoying problem: there was no good way to track my own firearms, ammo, gear, documents, and range history without forcing everything into spreadsheets, scattered notes, and a folder of receipt photos I'd never find again.
Every app I tried was either a glorified counter (tap to increment, tap to decrement, done) or a data-entry chore that felt like filing taxes. Nothing treated a Duty firearm differently from a Personal one. Nothing understood that a range session, a cleaning, and a receipt were all part of the same story about the same gun. Nothing felt like it was actually built for someone who owns firearms. It felt assembled from a generic inventory-app template.
So about a year ago, I started building the thing myself.
The Build
Kalix started as a rough Python prototype, built with Tkinter, barely more than a way to keep a running count of rounds fired per gun. It worked, but it looked and felt like exactly what it was: a weekend project. Over the following months it was rebuilt from the ground up in Dart and Flutter as a genuine native mobile app. Not a website wrapped in a shell, not a spreadsheet with a coat of paint.
Every screen you see in Kalix today exists because I needed it myself first: Personal vs. Duty classification, ammo inventory that updates itself, range logs tied to the exact firearm and ammo used, shot-group analysis, documents attached to the gun they belong to, and reminders that respect the difference between "nice to have" and "this one has to work."
The Company
Based in Texas, USA, which is really just me. There's no support team, no outsourced customer service, no ticket queue. When you email support, you're emailing the person who wrote the code, and I'm the one who reads it and writes back.







