Teaching Claude My Disney Lorcana Collection, Part 4: The Fix That Broke Things
A promo-card mapping that looked verified, shipped clean, and would have quietly added the wrong cards to a real collection. The bug, the revert, and the act...
Build logs, experiments, and things I broke along the way
A promo-card mapping that looked verified, shipped clean, and would have quietly added the wrong cards to a real collection. The bug, the revert, and the act...
A heuristic deck-building engine, two bugs that made 60-card decks structurally impossible to reach, and a perf bug that turned a sub-second tool call into a...
A CSV enrichment pipeline, a fuzzy card-matching engine, and what happened when I audited two competing open-source Lorcana MCP servers instead of building i...
Three tabs open just to answer 'can I build this deck': TCGPlayer for what I own, dreamborn.ink for the deck, a wiki for the card text. So I gave Claude the ...
Part 5 ended with a gap: nutrition, training load, and calorie balance — but no scale data. Withings body composition is now wired into every tab, and the AI...
A fourth MCP server, this time for the Withings scale. OAuth2 is clean, the API is stable, and the data — weight, fat%, muscle mass — slots naturally alongsi...
The Nutrition × Exercise tab compares what you ate the day before against how your morning run went. Turns out prior-day carbs and calories are better predic...
The Running tab ends with a cached coaching analysis. Generating it doesn't require ANTHROPIC_API_KEY in the dashboard env. It uses claude -p — the CLI alrea...
The general activity tab was fine for an overview. Running needed its own screen — three time windows, per-km splits, and every metric Strava exposes. Here's...
Adding MFP nutrition to the dashboard revealed that the MFP MCP was silently broken. Fixing it took longer than building the nutrition UI. Here's both stories.
The dashboard revealed that my published MFP implementation was broken. Every bypass failed. Then we found that api.myfitnesspal.com exists and has no Cloudf...
I have Strava and MyFitnessPal talking to Claude. The natural next step was a dashboard that puts everything in one place — not a chat, an actual screen I ca...
No public API, Cloudflare blocking the HTML scraper, and an undocumented mobile JSON API hiding in plain sight. Here's what the build actually looks like.
I already wired Claude to my workouts. Nutrition was the obvious next piece — except MyFitnessPal killed their public API in 2020.
I used Claude Code to build a Python MCP server from scratch, then let GitHub Copilot review the PR. What happened next was the most useful code review I've ...
The server works. Now here's the honest list of what it still can't do, where I want to take it, and what building in public actually felt like.
I've been using the Strava MCP server for a few weeks. Here are the prompts that worked, the things Claude found that surprised me, and how it's changed what...
OAuth is always the part nobody wants to explain. Here's the whole thing — plus how I designed the five tools and why I cut the other seven.
I wanted to ask Claude 'how did my training go this month?' and get a real answer. That meant building something.
Configure postfix to send mail with SES or Gmail
Configure naxsi WAF in your nginx webserver
Making nginx smarter when the AWS ELB changes the Public IP
Shell script to build every bitbucket pull request on Jenkins and comment the result
Build docker dynamically to solve problems with Udev and devicemapper