$ ls ~/blog
Blog
Notes from real projects — shipping with AI, staying the driver, and the terminal-first workflow behind both.
I tried to build macOS on Linux — I just called it Sway
My Linux laptop went everywhere with me — until I sat on it and it broke in half. The MacBook that replaced it feels like the desktop I was trying to build from Sway, waybar, and dotfiles.2 min read · #macos #linux #workflowDo you understand the code your AI writes? I'm spending a year finding out
AI-assisted coding makes us feel faster and smarter than the evidence says we are. What psychology already knows about that gap — and why I'm making it my Honours dissertation.3 min read · #ai-assisted #metacognition #researchHow I use Claude Code without becoming its passenger
AI types most of my code. Staying the driver takes deliberate work: structuring problems, reviewing diffs, and owning outcomes.3 min read · #ai-assisted #claude-code #learningMy workstation: Linux, Sway, Neovim, tmux — and why the terminal is home
How I actually work: the Linux + Neovim + tmux setup behind this site, and why a text-first workflow makes me a better engineer.2 min read · #linux #neovim #workflowThe venue gate is a distributed system
Three years scanning tickets at a venue while building its software. Lessons on race conditions, queues, single points of failure, and designing for the person holding the phone.3 min read · #product #no-code #operationsOffline-first isn't a feature, it's an architecture
Building Exequ-Jobs: an Android app for technicians with no signal — local-first writes, a sync queue, presigned uploads, and basement-only bugs.3 min read · #android #kotlin #sync #architectureDetecting pilot fatigue in real time on a Raspberry Pi
What our capstone taught me about computer vision on a hard compute budget: eye-aspect ratio, sensor fusion, and why the edge had to do the thinking.3 min read · #computer-vision #embedded #python