Content
Blog posts, videos, and playlists.
Blog Posts
View all posts
September 6, 2026·6 min readLeetcode Is Making Me Worse at Functional Programming
Reflections on how grinding Leetcode-style interview prep has eroded functional programming habits, and a plan to rebuild them.
careerfunctionaltypescriptprogramming
August 24, 2026·8 min readThe Strangest API I've Ever Interfaced With
A look at Overpass, OpenStreetMap's query API, and how it differs from REST, GraphQL, and SOAP, built through the lens of a real Next.js integration.
nextjstypescriptapi
July 18, 2026·5 min readSupercharging My Job Search with career-ops
A look at how the career-ops multi-agent CLI tool helps organize job applications, evaluate offers, and prep for interviews.
careeraitoolingclaude code
April 2, 2026·7 min readExploring OpenCode as a Claude Code Alternative
A look at OpenCode, an open-source AI coding terminal that supports any LLM provider — including self-hosted Ollama — and how its commands, skills, and configuration compare to Claude Code.
toolingclaude codeopencodeai
Playlists
View all 17 playlists
4 videosGo Anon Board
Build an anonymous message board REST API from scratch in Go using GORM and PostgreSQL.
5 videosNextJS Jobs Listings
Build a job listings application with Next.js featuring a card UI, search filters, and pagination.
8 videosNx Space Explorer
Build a full-stack space launch explorer using an Nx monorepo with NestJS, Next.js, GraphQL codegen, and Docker.
Videos
View all videos
Mar 21, 2025
Dynamically Create a Shacn Registry and Documentation with Next.js and Fumadocs

Apr 22, 2025
Use Shadcn Style React Components in ClojureScript

Apr 15, 2025
Dynamically Render Render Resume PDFs in Next.js Wtth react-pdf

Aug 22, 2022
Reagent Calorie Counter

Aug 17, 2021
Clojure Crash Course

Nov 10, 2021
Destructuring in Clojure