Skip to content

Blog

Writing on topics I'm passionate about.

Ditching the Theme Toggle: System Theme Detection in Astro

How I built system theme detection for my portfolio — an inline script for flash prevention, React hooks for reactive switching, and Shiki dual-theme syntax highlighting.

astro react css dark-mode

Writing a Geocoding API in Go (Coming from TypeScript)

What it's like switching from TypeScript to Go for an API project — the good, the painful, and the surprisingly ergonomic PostGIS queries.

go typescript postgresql postgis

Why I Switched from Next.js to Astro for My Portfolio

I've rebuilt my portfolio three times: Gatsby, Next.js, and now Astro. Here's the journey and why Astro is the one that stuck.

astro nextjs gatsby portfolio

MCP in Practice: Connecting AI to Real Data Sources

What Model Context Protocol actually looks like in production — lessons from integrating MCP into Gameplan Network and Milli, beyond the hype.

ai mcp typescript ai-sdk

Running Local LLMs on Apple Silicon with MLX

A practical guide to running LLMs locally on Mac using MLX — what works, what's fast, and why local inference matters for developers.

ai mlx apple-silicon llm

Offline-First Audio Transcription with Whisper.cpp in the Browser

How I built Transcriber I Hardly Knew Her — a privacy-first transcription app that records and transcribes audio entirely in the browser using Whisper.cpp compiled to WebAssembly.

whisper webassembly react typescript

Shipping a React Native App While Sleep Deprived

Building Diaper Diaries — an Expo app that helps parents track and teach their newborns' bathroom patterns. Built out of necessity at 3am.

react-native expo typescript mobile

Going Native with Electrobun: Building a Desktop PDF Signer

Why I picked Electrobun over Electron for a desktop PDF signing app with PKCS#11 smart card integration, and what the Bun-native desktop experience is actually like.

electrobun bun react typescript

Building a 1000⭐ Open Source Prisma Tool

How prisma-erd-generator went from a weekend hack to 1000+ stars, 64 forks, and 23 contributors — and what I learned maintaining open source along the way.

open-source prisma typescript mermaidjs

Creating a GraphQL API while utilizing your REST API

Using an existing REST API we'll learn how to create a GraphQL API around our existing services instead of a complete rewrite of our API.

graphql rest api javascript

Understanding GraphQL through REST

Why GraphQL is a useful API specification

graphql rest api specifications

Upgrading from React 16 to React 17

The time has come to upgrade and although the team says there are no new changes, development speed will increase for many

react create react app fast refresh

Catching up a forked repo on GitHub

When contributing to open source repositories you often need to catch up your fork of that repository to submit a contribution. Here's how to do it

github open source git

Using Tailwind CSS with Gatsby

Tailwind takes writing CSS down to a fraction by providing many easy to use classes so you can focus on functionality over flash. In this walk through I'm going to be covering how to add Tailwind CSS to a Gatsby project

tailwind css gatsby react

Setting up scripts with Typescript

Everyone needs to script a process to become more efficient. If we frequently update a script it's nice to have documentation and completion. Typescript is a powerful tool to make lookup and updating quick and easy. Lets implement it!

javascript typescript scripting node