Blog
Two kinds of writing: deep-dives into my Kaggle competition solutions, and notes on the ideas I break down while learning in public.
Competitions
Kaggle Solutions
In-depth write-ups of my competition approaches — the architecture, what actually worked, and honest post-mortems.
A three-engine hybrid solver for the ARC Prize 2026 (ARC-AGI-2) — and an honest look at why symbolic search scores exactly zero on the benchmark built to defeat it.
A per-puzzle CompressARC solver that trains a tiny network from scratch on each puzzle at test time — plus the systems engineering to pack thousands of steps into Kaggle's 12-hour limit.
A candid RTS write-up: how the live ladder kept demolishing my self-play "improvements", and why adopting a stronger base agent was the real win.
Turning a student's written math explanation into a top-3 misconception prediction with DeBERTa-v3 — LB 0.925 / CV 0.930+ and a multi-model ensemble (105-upvote starter).
From regex + random forests to a Qwen-32B pipeline that extracts dataset DOIs from papers and forces a Primary/Secondary call with logits-processor-zoo.
Learning in public
Notes & Tutorials
Concepts I’ve broken down while learning — infrastructure, MLOps, and ML fundamentals.
A beginner-friendly walk through layers, checksums, manifests, registries, and why they beat dumping tarballs in S3.
Let’s build a RAG pipeline from scratch using Llama 3 and DeepSeek-R1.
A step-by-step guide to using MLflow for managing ML experiments and deployments.
Let’s understand how to use KFold cross-validation.
A deep dive into the world of Large Language Models, their architecture, and real-world applications.