Last updated 11 October 2026

I design and build data platforms, distributed systems, and the tooling around them - SDKs, APIs, contracts - plus open source on the side. Mostly JVM (Scala, Java, Kotlin) and Python, with a growing Rust and Go habit. I write about it on my blog , occasionally show up at conferences to say the same things out loud, and sometimes help the people running the show when they need an extra pair of hands behind the curtain.
Some things I’ve built: flowforge is a data engineering framework that runs Scala’s type system as a lie detector on your pipeline, backed by an arXiv Research paper I wrote to prove the claim: compile-time-data-contracts . proof-gate puts LLM-written pipeline code through five checkpoints before a human wastes a coffee on it, and I help build llm4s and toon4s , which shave up to 60% off an LLM prompt’s token bill. datacrate makes the same bet in Rust: a pipeline runs faster with no garbage collector around to pause and think about it. abortable-bytes makes a cancelled cloud upload actually stay cancelled, and scalasql with datapipelines-essentials-python are the older, unglamorous repos, a contribution to an existing Scala ORM and a Python/Spark ETL toolkit, from before any of this had a compiler to enforce it.
Off the clock: a Mumbaikar with three-dozen-plus watches (HMT, Seiko to a 1960s Swiss Enicar), a diesel Ford Freestyle, a raag for every hour, and fluent-to-rusty across six languages - the rubber duck still outlistens my colleagues.
Contributions
3,553 contributions in the last year; 3,008 in 2026 so far. 45-day streak right now; personal best: 154 days!
Activity overview
Punchcard · last 365 days
Recent posts
- Build static first: when Hugo and GitHub Pages are enough, and when Cloudflare helps
- Stop reviewing for correctness only: a complexity-first design doctrine (and the skill/plugin that enforces it)
- From कड़वा to süffig: how Natur Radler changed my Bier map
- Type-safe Python design: patterns a Scala developer uses to stop runtime surprises
- Build the harness, not the code: a staff/principal engineer's guide to AI-agent systems
Greatest hits
- From कड़वा to süffig: how Natur Radler changed my Bier map
- Production error handling: When our LLM pipeline threw "Unknown error" in logs
- Build static first: when Hugo and GitHub Pages are enough, and when Cloudflare helps
- Effect polymorphism in Scala: write once, choose your runtime later safely now
- Kleisli for data engineers: the category trick that makes pipelines compose