Posts

Occasional writing when there's something worth saying. No schedule, no filler.

2026

sprint-dash: A Sprint Dashboard for Gitea

Gitea labels and milestones aren't enough for sprint tracking. So I built a read-only dashboard with FastAPI, HTMX, and SQLite.

#gitea #fastapi #htmx #open-source
.tmux-session files: let each project own its terminal layout

Drop a bash script in any project root to define its tmux session. No framework, no YAML, no dependencies beyond tmux itself.

#tmux #bash #dotfiles #workflow
Modular .bashrc with .bashrc.d/

Split your monolithic .bashrc into focused files. Combine with GNU Stow and different packages can each contribute their own shell config.

#bash #dotfiles #stow #shell
GNU Stow for Dotfiles

Stop symlinking by hand. Stow makes dotfile management actually pleasant—version control, modular packages, and clean machine sync.

#dotfiles #stow #linux #devenv
teax: Gap Filler for Gitea's CLI

The CLI companion for tea that handles issue editing, bulk operations, dependencies, and CI visibility.

#cli #gitea #open-source
Solo Dev Release Process: Safety Without Ceremony

PRs to yourself are theatre. Here's how I ship to production without branches or approval gates.

#devops #ci-cd #trunk-based
Building AI-to-Physical Products

The thesis behind DeckEngine, TriFold PDF, and the micro-SaaS portfolio.

#strategy #micro-saas