Blog

Perspectives on machine learning in cardiology, cardiovascular risk prediction, and the future of AI in clinical practice

Benchmarking Five Embedding Models for a Keyword Relevance Filter

Benchmarking Five Embedding Models for a Keyword Relevance Filter

July 5, 2026 8 min read

I compared five open embedding models to filter keyword lists down to a single niche. The top scorer wasn't the model I shipped, one wrong threshold made the best model look worthless, and the largest gains came from things the encoder never sees.

Read More
EmbeddingsNLPMachine LearningBenchmarking
Teaching Claude to Make Slides That Look Like Mine

Teaching Claude to Make Slides That Look Like Mine

June 16, 2026 9 min read

There's a recognizable look to AI-generated conference slides — the rounded teal cards, the icon-in-a-circle, the drop shadows. I took one of my own talks, had Claude reverse-engineer its design system into a reusable skill, and tested whether the skill could regenerate a deck in my style instead of the default one.

Read More
ClaudeSkillsSlidesDesignAcademic
Fine-Tuning a Local LLM to Write in My Academic Voice

Fine-Tuning a Local LLM to Write in My Academic Voice

May 27, 2026 13 min read

How I trained an 8B Llama on my own cardiology papers, from extracting prose out of Word docs, to a first attempt that failed because I trained on single sentences, to a working model that drafts abstracts, methods, and discussions in my style on a Mac.

Read More
LLMFine-TuningMLXModalAcademic Writing
Reconstructing a Mixbook Movie with ffmpeg

Reconstructing a Mixbook Movie with ffmpeg

May 23, 2026 12 min read

How I traced Mixbook's animated Movie feature to its data API, found that the browser builds the video instead of storing it, and rebuilt a downloadable MP4 from the raw photos and music with crossfades, Ken Burns motion, and the original title text

Read More
Reverse EngineeringffmpegVideoLottieDeveloper Tools
Adding Localization and RTL Support to a Next.js App

Adding Localization and RTL Support to a Next.js App

May 22, 2026 8 min read

Notes on adding multiple languages and right-to-left support to a Next.js app, covering logical CSS properties, locale formatting tags, LLM-assisted translation, and two hydration bugs to watch for

Read More
LocalizationNext.jsi18nTailwind CSSDeveloper Tools
Keeping Claude Code in Sync with Your Supabase Schema

Keeping Claude Code in Sync with Your Supabase Schema

May 8, 2026 12 min read

AI coding agents write a new migration file every time they change a table. Here's how a single pg_dump snapshot in the repo keeps Claude Code in sync with the current Supabase schema.

Read More
SupabaseClaude CodePostgresDatabaseDeveloper Tools