Blog
Essays, project retrospectives, and notes from building things.
-
Building Namna: A Financial Independence Planner for Filipinos
I built an offline iPhone app that estimates when your money could be enough — starting from Filipino take-home pay and local vehicles like MP2, PERA, SSS, and GSIS. Here's why, and what I learned along...
-
Wrap, Don't Reimplement: Building obsidian-cli.nvim
I built a Neovim plugin for Obsidian as a thin wrapper over Obsidian's official CLI — not a Lua reimplementation of the vault format. Here's why 2,000 lines beat 4,500 lines once the official CLI shipped....
-
sajj: Can a Couple of AI Agents Handle Your Workflow?
I've been getting the 'can AI handle my workflow?' question enough times to want a serious answer. So I built a free tool that decomposes any business process, scores each step against four criteria, and generates...
-
citruszest-ghostty.nvim: One Palette for Neovim and Ghostty
I wanted my terminal and my editor to use the exact same 16 colors — not just close enough, the same hex values. So I shipped a Neovim colorscheme that shares a palette with Ghostty.
-
My First App Store Rejection, and Why I'm Okay With It
I spent four weekends building my first Apple Watch app with an accompanying iPhone companion. Designed it, coded it, submitted it, and got rejected under Guideline 5.2.5 — a trademark issue. Here's what I learned, and...
-
pyworks.nvim: Zero-Config Python Notebooks in Neovim
I built a Neovim plugin that brings Jupyter-like notebook workflows to the terminal with zero configuration. Here's why I created it and how it works under the hood.
-
Automating tmux Setup with dev-session-manager
I got tired of manually creating the same tmux windows every time I switched projects, so I built a tool to automate it and published it as a Homebrew tap.
-
Automating MCP Server Management for Phoenix LiveView
Most Claude Code CLI MCPs work great once configured, but server-dependent MCPs like Tidewave need to connect to specific project endpoints. Here's how I automated the connection management for seamless project switching.