Anirudh Sahu

I write compilers for microcontrollers and fix bugs in the tools hardware people use.

Anirudh Sahu, ECE undergrad at NIT Bhopal (MANIT), class of 2030, based in Bhopal, India. I build across embedded systems, ML compilation for microcontrollers, and full-stack web.

Open to remote internships and freelance work.

Lead projectPaper in progress, target CODAI 2027

mcugrad

A deep learning framework written from scratch in stdlib-only Python, with autograd, plus an ahead-of-time compiler that turns a trained CNN into a single C99 file for microcontrollers.

The emitted file is self-contained: a static arena, no malloc, no libm. Generated code is bit-exact against an int8 simulator, checked with a 1000-model differential fuzz. It runs on RP2040 Pico and ESP32 boards and is benchmarked against TensorFlow Lite Micro and onnx2c.

Output
one .c file, C99
Memory
static arena, no malloc
Verification
bit-exact, 1000-model fuzz
Targets
RP2040, ESP32-S3

Open source21merged PRs in embedded and hardware tooling. Preparing for GSoC 2027.

Also merged: embassy-rs/embassy#7359, rp-rs/rp-hal#1016, cocotb/cocotb#5871, veryl-lang/veryl#3595.

Selected projects

Nyaya

Legal aid clinic for Madhya Pradesh. A citizen describes a problem in Hindi, Hinglish or English. Nyaya classifies it, works out the forum, fee and deadline, drafts and checks the filing, renders a PDF, and queues the case with a NALSA eligibility verdict. Covers consumer, police, tenant and labour cases.

Python, Streamlit, Claude API, SQLitenyaya.workwithani.techrepo

f1sim

F1 race strategy simulator. Learns tyre degradation from real timing data and simulates 10,000 races per candidate strategy. Backtested walk-forward against teams' real strategies over 34 dry races in 2024 and 2025 (544 driver comparisons).

Result: the pre-race plan was faster than the real strategy in 58% of cases (median +0.8 s), but the 95% confidence intervals include no difference from the teams.

Python Monte Carlo, bootstrap CIs, Next.js dashboard

Frame

Browser-only video editor for the finger-frame trend. A filter applies only inside the frame your hands make and switches on the beat, with word-timed lyrics and MP4 export, all on device.

React 19, TypeScript, WebGL2, MediaPipe, WebCodecs

Saakshi hackathon

Computer-based exam system built to survive relay and network failures and to make tampering provable. Every answer is signed and hash-chained; tampering is locatable through a Merkle register with an independent witness.

TypeScript, Electron, Node.js, RFC 9162 Merkle tree headsrepo

CivicLens

Civic complaint triage for Bhopal. Citizens report by photo, text or voice in English or Hindi. The system classifies, deduplicates nearby reports, ranks by danger and routes to the least-loaded team, with an officer dashboard and heatmap. 42 tests.

Next.js 15, Postgres, PostGIS, pgvectorNo public link

ResearchIn progress, unpublished

  • RV32IM RISC-V core written from scratch, verified with riscv-formal, RISCOF and Spike lockstep
  • int8 CNN accelerator for a RISC-V SoC
  • Preemptive RTOS for the RP2040
  • Power-fail-safe A/B bootloader for the RP2040
  • C99 LLM inference engine that runs on laptop CPUs and the ESP32-S3
  • Neural acoustic modem

Freelance

I also build websites for small businesses: fast, mobile-first, made from the business's real photos and menu, with WhatsApp ordering.

Start a project