Blog
Notes from the work — platform engineering, CI/CD migrations, multi-cloud, AI agents, and whatever NixOS rabbit hole I'm down this week.
-
One-button meetings: record, transcribe, summarize, done
Press a key, have your meeting, press the key again. Five minutes later a markdown brief lands on disk with TL;DR, action items, decisions, and the full diarized transcript — all produced...
-
Voice into the prompt: Groq, ydotool, and seven PRs
I wanted to talk to Claude Code instead of typing. Took seven PRs, two dead protocols, and one stale dconf key — but pressing a hotkey and watching the transcript appear in...
-
One model can't do everything
Why no single LLM is the right tool for every phase of a job, how AIFactory routes plan/code/QA across different models and providers — Claude, local Ollama, Bedrock, Gemini — and how...
-
Building SkillAi: CV keyword-match is a lie
Someone asked me to help with hiring, so naturally I built a platform instead. Here's why today's recruiting is mostly theatre, what SkillAi does about it, and the architecture choices I'm proudest...
-
Two weeks of SARC: wiring ServiceNow into three CI platforms
SARC is a reference platform for compliance-pipeline delivery — ServiceNow as control plane, Kosli as attestation data plane, the same flow running across GitLab, GitHub and Azure DevOps onto four clouds. Two...
-
Of Claude and chores
How I keep claude-code and claude-desktop fresh on NixOS today (custom derivations + hourly GitHub Actions watchers + an /update-claude-code skill), and how I'm going to close the loop with a scheduled...
-
A Telegram bot for the media stack
Bolted a Telegram bot onto the home media stack today — menu commands plus local-Ollama natural language plus inline-action notifications. Here's what shipped, why I didn't reach for Claude on the cloud...
-
Hello from a terminal-green corner of the internet
Why I finally gave the site a blog, what I plan to write about, and how the whole thing is held together with Jekyll and GitHub Pages.