Blog
Notes on shipping products, with LLMs inside.
Real posts on full-stack work and building with LLMs: agents, RAG, MCP and working with Claude Code, written as I actually learn it.
← Back to homeSplitshape Is Live: Pacing Plans for Real Race Courses
Last week I officially launched Splitshape, a free web app that turns a race course, a goal time and race-day weather into a km-by-km pacing plan. Why I built it, how it works, and where AI does and doesn't belong in it.
RAG Pipeline Design: Chunking, Embeddings, and Retrieval Trade-offs
The design trade-offs I ran into building ragsume, a personal RAG project: how chunking strategy, embedding choice and retrieval method interact, and why there's no single right answer.
Building an MCP Server From Scratch: What I Learned
Notes from building job-search-mcp, a small MCP server, and what the protocol actually asks of you once you're the one exposing tools instead of consuming them.
Using Claude Code as a Daily Dev Tool: What Actually Changes
After months of using Claude Code daily across front-end and full-stack work, notes on what genuinely changed in how I build software, and what didn't.
Notes on Fine-Tuning with QLoRA
Working notes on QLoRA fundamentals from the AI Engineer Core Track: what problem it solves, how it differs from full fine-tuning, and why it's the practical entry point for fine-tuning on consumer hardware.
Agentic Workflows: From a Single Prompt to Multi-Step Tool Use
What actually changes when you move from a single LLM call to an agent that plans, calls tools, and reacts to results, and why that shift is closer to distributed-systems thinking than prompting.
From Front-End to AI-Powered Products: My Learning Path
Why a 10+ year front-end/full-stack developer is deliberately upskilling into LLMs, agents and RAG, and what the actual learning path has looked like.