document podcastpapers into two-voice podcasts2026
Read the note →
notes / qwen3.5-4b on mac mini
no MLX
13.13 tok/s
MLX
27.71 tok/s
~2.1× faster · 4m39s → 1m43s total
field noteslocal AI benchmark
AI Engineer (contract) · Novo Nordisk · Sep 2026 – present · Remote
A research ecosystem that answers with receipts
An end-to-end system for market researchers: an agent to do the research, a governed store for what gets verified, an index over that store, and a dashboard with a chatbot that answers from the web and from internal documents in under 30 seconds.
< 30sper curated answer
Web + internalsearched on every query
Citedverified link or internal path
The problem
Market researchers work across public medical literature and internal research. Answers are only useful if a researcher can trace them back to a source, whether that's a public paper or an internal document.
What I'm building
Research agent. A chat platform where researchers run medical research and work through internal material with an agent.
Verified store. Files a researcher has checked are saved to SharePoint, so only reviewed material flows downstream.
Dynamic document index. A Qdrant index built over that collection, with metadata filtering and a hybrid retrieval approach, updated as the collection grows.
Dashboard. Built on the information in the verified collection.
Dashboard chatbot. Runs a live internet search and a search over the internal index, then curates one answer per query within 30 seconds, with verified links or paths to internal documents.
Design principles
Verification is the gate, not an afterthought. Only files a researcher has verified are indexed, so the chatbot's internal answers inherit that trust.
Hybrid retrieval with metadata filters. Scientific and internal documents mix exact terms with conceptual questions, so a single retrieval mode leaves gaps; filters keep results scoped.
Citations are mandatory. Every answer points to a URL or an internal path, so a researcher can check it in one click.
AI agentsRAGQdrantHybrid retrievalSharePointLive web search
Founder & solo engineer · Bellance OS · Jul – Sep 2026 · Remote
A salon intelligence platform that proves its own value
A multi-tenant platform for salons that learns which services go together at each outlet, recommends only what has worked before, and records the revenue each recommendation actually produced. Built and shipped solo to a pilot outlet.
~2,100CI-gated tests
₹330K+recoverable leakage found
4 monthsof real salon data analysed
The problem
Salons leak revenue they can't see. Generic "customers also bought" advice doesn't hold across outlets, and owners won't act on suggestions they can't see paying off.
What I built
Platform. A TypeScript monorepo with a tRPC API, recommendation engine, WhatsApp rail, POS and a React PWA, over a two-store PostgreSQL architecture, on containerized staging.
Service-relationship graph. Built per outlet from billing history, learning co-purchase and adoption patterns, and surfacing only pairings with historically proven lift.
Owner approval. Recommendations go to the owner first; nothing reaches a client without their sign-off.
Intervention-outcome ledger. An append-only ledger that attributes measured revenue to every recommendation.
Design principles
Per-outlet, not global. Each salon's clientele is different, so the graph is learned per outlet.
Proven lift only. A pairing has to have worked historically before it's suggested, which keeps recommendations few and credible.
Append-only ledger. Outcomes are recorded, never edited, so the revenue story can be audited.
Adversarial AI workflow. I built and audited the codebase with a multi-agent setup: an architect, an adversarial challenger and a security auditor.
Founding Engineer · Knowl · Nov 2025 – Jan 2026 · Bengaluru
An AI-native backend at a million requests a day
As founding engineer I owned the whole path: what the API promised, where it ran, and what happened when a model call was slow, wrong, or down.
1M+API requests / day
+45%detection accuracy
EC2 + GKEhybrid cloud
Contracts first
A FastAPI gateway with Pydantic-validated contracts at the edge of every service, across a reactive microservice architecture on hybrid AWS EC2 and GKE. Validating at the boundary means a malformed request dies in microseconds instead of surfacing as a confusing model output four services later.
Holding the line under load
Redis-backed rate limiting and throttling in front of the expensive paths, tuned against P95 rather than averages, because the tail is what takes a service down.
The agent that reasons, then falls back
An autonomous agent that infers a user's preferred communication language from their name: LLM reasoning and demographic knowledge first, then a multi-strategy fallback ladder when confidence is low. Prompt engineering on the reasoning step lifted accuracy by 45%.
Trade-offs
Two deployment stories. Hybrid EC2 + GKE kept stateful services on predictable instances while bursty agent workers scaled on Kubernetes.
Visible, bounded failure. Rejecting a request early beats degrading every request in flight.
Uncertain is fine, silently wrong is not. LLM reasoning is slower and pricier than a classifier; it earns its place because the fallback ladder catches the low-confidence tail.
PythonFastAPIPydanticRedisAWS EC2GKELLM agents
Member of Technical Staff 2 · VMware / Arista, VeloCloud SD-WAN · Jul 2021 – Oct 2025 · Bengaluru
Seeing 200,000 edge devices at once
Four years building core features in C and C++ for a production SD-WAN platform used by enterprise customers at scale: appliances with limited memory, production C, and no tolerance for anything that slows packet forwarding.
200K+edge devices with live visibility
10K+malicious attempts blocked / month
5 → 90%legacy C test coverage
Interface tracking, from the kernel up
Comprehensive network interface tracking with real-time and historical statistics, extracting data directly from the kernel and exposing it in user-facing dashboards. Before this, support was guessing when a customer link degraded.
Advanced Threat Protection
Delivered ATP on VCE Edge devices using Webroot capabilities, integrating IDS/IPS, threat intelligence and URL filtering, mitigating 10,000+ malicious connection attempts a month.
IPv6 DHCP Prefix Delegation
Designed and implemented dynamic IPv6 prefix allocation for remote sites across large SD-WAN deployments, giving customers globally routable addressing with zero NAT.
Latency visualisation
A platform to measure and visualise packet-processing latency across internal functions, turning performance debugging from guesswork into a graph.
Tests, and what they unlocked
Led the introduction of a unit testing framework into legacy C code, taking coverage from 5% to 90% and enabling full CI automation. It meant months of refactoring code nobody wanted to touch, and it's what finally let CI gate a release.
CC++Linux kernelTCP/IPIPv6IDS/IPSSD-WANCI
Side project · May – Jun 2026
Document Podcast: papers you can listen to
Turns scientific documents into natural, two-speaker podcasts in English and Danish.
2speakers per episode
EN + DAlanguages
The hard part: long-form consistency
Short dialogues are easy; a long conversation drifts, repeats itself and can change voice between audio chunks. I tackled it with staged script generation, repetition checks, and voice continuity across audio chunks.
Stack
Python and FastAPI, OpenAI for the script, and Cartesia for text-to-speech. An earlier local-first version ran entirely on Apple Silicon with MLX inference (Qwen3 4B), scholarly retrieval, an LLM quality gate and Kokoro TTS.
I benchmarked the same coding prompt on Qwen3.5 4B and 9B models on a 16GB Mac Mini, with and without Apple's MLX backend.
13.13tok/s without MLX
27.71tok/s with MLX
~2.1×faster, 4m39s → 1m43s
What I found
Runtime optimisation mattered nearly as much as model size. And as a project grew, generation slowed and the model lost track of earlier context. The cause wasn't the model, it was the KV cache eating memory as context filled. A smaller model with headroom can beat a bigger one on real work.
Software Developer Intern · Ushur · Dec 2019, May – Jun 2020 · Bengaluru
Tracing and tooling for microservices
Two internship stints on developer tooling for a microservice platform.
Distributed tracing agent (Dec 2019)
A Java-based agent that traces the whole chain of events in complex interactions between microservices. It used Javassist for bytecode manipulation and was integrated with Jaeger to show call flows visually.
Dynamic bean injection API (May – Jun 2020)
A RESTful Spring Boot API that injects beans matching the class name given in the payload, integrated with the ELK stack for centralised logging to help identify problems in the application.