Blog
Writings & Thoughts
Sharing what I learn along the way.
Building an App That Refuses to Guess
I built a financial planning tool for my own situation and then started turning it into a product. The rule that shaped it: when a required fact is missing, say so, rather than producing a confident number.
What Launching Billing Taught Me About Getting Paid
ResuPals went from a free client-side tool to a product with accounts, plans, and Stripe. Every hard lesson was about the gap between a payment starting and the money actually arriving.
Taking the Machine Fingerprint Off Agent Output
Three portable agent skills that strip the tells out of AI prose and code. Why the signal sits above the word level, why every rule carries an evidence grade, and why I refused to build it against a detector.
Electra v1: The Agent Orchestrator I Built to Find Out What I Wanted
An always-on host running a Telegram-fronted agent gateway and a task orchestrator, dispatching coding agents across isolated identities. It worked well enough to show me what I actually needed instead.
Measuring a Room and Keeping the Disagreements
A weekend floor planner built because a sectional was arriving and I needed to know if it fit. The useful part was refusing to resolve measurements that did not agree.
Rebuilding Ephemera as a Zero-Knowledge Secret Sharing App
Ephemera v2 is a ground-up rebuild. Client-side AES-256-GCM encryption with keys the server never sees, a reveal gate that stops link previews from burning one-time secrets, real tests, and a migration path that upgraded the live database without downtime.
Building the Throwaway Version First
I spent a weekend building an MVP of an app I actually want to make properly, with no intention of shipping it. The point was to find out which decisions were real.
Generating a Thousand Years of History, and the People Living in It
Procedural history written as a prefix on an existing change log, and a population that is derived on demand rather than stored. Two problems that turned out to have the same shape.
Agentic Coding in a Production Monorepo: The Harness Matters More Than the Model
How I actually use coding agents like Claude Code and Codex day to day - and why guardrails, not prompts, are what make them safe in a real codebase.
Space, Time, and Knowledge: Modeling a World as One Graph
How a character creator turned into a world engine, and the three-axis model that made almost every feature after that a question of where a new entity sits rather than what new system to build.
Google Maps for a Fantasy World, and Why I Did Not Build That
Infinite zoom from a continent down to a single room sounds like a tile pyramid. For a procedurally generated world it is a trap, and nested documents are the better answer.
Deploying Ephemera with Coolify and Traefik
A deep dive into deploying a Next.js application with PostgreSQL on a self-hosted Coolify instance, troubleshooting Traefik routing, health checks, and Docker networking.
I Scraped Every Rental Listing in a City to Pick a Neighborhood
A weekend tool that pulled rental listings into SQLite, tracked price changes over time, and told me which listings were actually a good deal instead of just new.
Building ResuPals - A Privacy-First Resume Builder
How I built a fully client-side resume and cover letter builder with friendly mascot characters, focusing on privacy, ATS compliance, and user experience.
Building My Homelab - Virtualization with Proxmox
How I built a production-grade virtualization platform using Proxmox VE to run multiple isolated services with VM lifecycle management and operational best practices.
Self-Hosting with Coolify and Cloudflare
How I deployed my portfolio and other web applications using Coolify as a self-hosted PaaS with Cloudflare for DNS and TLS.
Secure Remote Access with Tailscale
How I use Tailscale to create a secure overlay network for remote administration without exposing management ports to the internet.
Scaling Minecraft Servers to 100+ Concurrent Players
Lessons from running community Minecraft servers at scale, including performance tuning, monetization, and operational workflows.
Building Observability with Prometheus and Grafana
How I built a monitoring stack with Prometheus metrics, Grafana dashboards, and Discord alerting to maintain visibility across my infrastructure.
Network Segmentation with Unifi
How I designed my home network around security boundaries and controlled ingress using Unifi networking gear.
Building a Cosmic Portfolio with Next.js
How I designed and built a unique portfolio website with an animated black hole background using Next.js and Canvas.
Building a Minecraft Server Consulting Business on Fiverr
How I ran a freelance consulting business helping clients build, optimize, and scale their Minecraft servers.
5 TypeScript Tips I Wish I Knew Earlier
Practical TypeScript patterns and techniques that will level up your code quality and developer experience.
Running Atomic Linux on Framework 16 with Bazzite
My experience running Bazzite, an immutable Fedora-based OS, on a Framework 16 laptop for development and systems work.
React Performance Patterns That Actually Matter
Practical performance optimization techniques for React applications, focused on real-world scenarios.