tutorials
LLM Food Recognition in Production: What Shipping soba Taught Me
How I picked an LLM for food photo recognition in soba: a benchmark, a live A/B that cut scan cost to $0.005, and the prompt work that fixes portion weight.
tutorials
How I picked an LLM for food photo recognition in soba: a benchmark, a live A/B that cut scan cost to $0.005, and the prompt work that fixes portion weight.
DuckDB in Python turns SQL into a zero-setup analytics engine: query CSV, Parquet, and Pandas DataFrames in-process, join across sources, and add UDFs.
A new shortest path algorithm finally beats Dijkstra on sparse graphs. How it breaks the 65-year sorting barrier, and why Dijkstra still wins in practice.
LangGraph vs CrewAI vs OpenAI Agents SDK compared for 2026: architecture, real code, pricing, and which multi-agent framework to pick for production work.
A field guide to modern Go in 2026: iterators, generic methods, Green Tea GC, JSON v2, and where Go still beats Rust for real backend and AI agent work.
Long-form posts in your inbox roughly once a week — research breakdowns, tutorials, comparisons, the occasional review. No tracking pixels, no growth-hacked subject lines.
Or grab the RSS feed — same posts, no email needed.
I'm Maksim. By day I lead an engineering team at inDrive. After hours I ship side projects (PageBloom, NotesPilot, MyDevKit, startgaze) and write things up here when I learn something worth keeping.
The blog itself runs on an agentic publishing pipeline I built and rebuilt — a slow-moving experiment in how much of a writer's workflow can be automated without losing the voice. It writes, fact-checks, and refreshes; I edit, decide, and publish.