Blog

Thoughts on software engineering, systems design, and technology.

dev: Two Weeks of Rapid Evolution

How dev evolved through four major releases in two weeks, adding project scaffolding, tree views, plugins, and composable path lookup.

CLI Go Developer Tools Claude Code

Introducing dev: a CLI for navigating your projects

How I built dev, a small CLI tool that enforces an opinionated directory structure for all your repos and lets you fuzzy-navigate between them.

CLI Go Developer Tools Claude Code

Running Apache Kafka in KRaft mode

What I wish I had known when migrating Kafka clusters from ZooKeeper to KRaft mode. An introductory overview of KRaft architecture and what actually changes.

Apache Kafka KRaft Distributed Systems

Make time for what matters

How I discovered time blocking during my college days and created a minimalistic web app to help make time for what's important.

Time Management Productivity Web App

Navigating OpenAI's JSON-Structured Outputs: Limitations and Solutions

A practical guide to working with OpenAI's JSON-structured outputs, including common limitations and solutions based on real-world experience.

OpenAI API JSON Schema Pydantic

Website Revamp and AI Development Experience

Reflecting on my website revamp journey and experience with AI-assisted development using Cursor IDE.

website development AI development personal growth

Building an AI-Powered Personal Finance App

Exploring the development of a personal finance app that combines double-entry accounting principles with AI-powered expense classification.

AI/ML Personal Finance Double-Entry Accounting