Memphis, TN · Software Architect
Brad Montgomery
I build the things that connect systems together — Python first, Rust when it needs to be a single binary, and a lot of data plumbing in between. Eleven of those are below, along with the numbers that show which ones people actually use.
- Forks
- 75
- Public repos
- 64
- Followers
- 221
- Featured span
- 2012–2026
Readings taken August 2026
Registry
Eleven projects, oldest still running since 2012.
django-querycount
Middleware that prints the number of database queries to Django's runserver console, colour-coded by threshold, so an N+1 problem announces itself while you work.
pip install django-querycount
django-redis-metrics
Name a metric — "Downloads", "New Users" — and record it. Redis stores every count at second, minute, hour, day, week, month, and year granularity so you can zoom out without re-instrumenting.
pip install django-redis-metrics
word2html
Point it at a .docx and get decent HTML back. Started as a joke about a chore done too many times; now the most-forked thing here.
uvx word2html doc.docx
django-rainbowtests
A custom Django test runner that gives you really colourful test output. Failures stop being a wall of grey.
pip install django-rainbowtests
claude-usage
A terminal dashboard for Claude Code sessions. A SessionEnd hook appends one JSON record per session to a local log; the CLI renders daily cost bars and a session table. Native binaries, no runtime required.
curl -fsSL .../install.sh | bash
python-ninethreesix
Password generation by the rules of xkcd 936 — a few common words beat one mangled one. Ships a CLI: run it, get wrench-fair-fascia.
uvx --from python-ninethreesix ninethreesix
streben
A cycling data app that runs on your own machine. Syncs Strava over OAuth, imports Garmin .fit files, and charts power, heart rate, and cadence. No socials, no signups — the database is a local SQLite file.
uv run uvicorn app.main:app
site
A static site generator built for one person's requirements: Markdown in, Jinja templates, the same URLs as the blog it replaced, and a single command to publish to GitHub Pages. Written because learning Hugo sounded like more work.
uvx --from git+https://github.com/bradmontgomery/site site
puttr
Send it a PUT request with a content key and it writes the value to a file, filed by year-month with a timestamp. The extension comes from your Content-Type header. Also answers to sendme.computer.
cargo build --release
w-kg
Cycling calculators. Enter your body weight to get power targets for each watts-per-kilogram zone, or a ride duration and workload to get a fuelling plan. Escaped from a CodePen.
npm run dev
No projects carry that tag.
Operator
He/him · Memphis, Tennessee
Years as a software engineer across several domains, a few more as an engineering manager, and more recently a software architect in financial services. Python is the default; the rest gets picked to fit the problem.
The through-line is data — pipelines, lakes, warehouses, and the unglamorous work of making systems agree with each other. Cloud since cloud was a thing. These days a lot of attention goes to LLMs and what people are actually doing with them.
Part-time, I teach programming, AI, and technical skills at Tech901. Formerly a Certified SAFe 6.0 Architect. Off-hours it is mostly bicycles.
- Language of choice
- Python
- Also fluent in
- Rust, JavaScript, SQL
- Domain
- Data engineering & architecture
- Teaching
- Tech901, Memphis
- On GitHub since
- July 2009
Other things that exist