# Akshay Bhardwaj > Director of Data Science & AI · Gurugram, India Employee #2 and first data scientist at an industrial AI startup in 2019, leading its AI org since 2024. I still write production code, and most of the job is measuring things before I believe them. Petroleum engineer by training: AlphaGo's move 37 got me into AI, and I taught myself the rest. Business is the part I'm learning. Now: Shipping an agent platform at work, and about to fine-tune a small open decision model on my laptop. 7+ yrs (one startup, four roles); 8 → 24 (the AI team I grew this year); 24 s (to generate a three-step agent from plain English). ## Selected work Most of it from the day job, at an industrial AI startup where software watches turbines, compressors and pumps for large energy operators. - **Agent platform (TurboAgents).** A platform where a plain-English job becomes a governed, running agent. Most AI agents are one-off scripts with no limits and no record of what they did. On this platform, a recurring job described in plain English becomes a scheduled agent with spending limits, access control and a full run history from its first run. Any bounded job that can be described in a sentence can be run, watched and audited. Numbers: 24 s · ~$0.05 to generate a three-step agent from plain English; 1.2 s for a revoked agent key to stop working, in gateway testing; 8 ms median overhead the gateway adds to a model call, over 110 real calls. My part: co-led across two squads, with the largest share of the commits. Owned the vision and the security review. - **ML platform.** A platform that trains, checks and watches its own models. Industrial ML fails quietly. A machine-learning model trained on a compressor's startup noise will pass its metrics and still be wrong about the machine. So we built the whole loop, from raw sensor data to retraining. Nothing ships until it clears the data checks and a vision model has read its plots. Numbers: 25–50 h → 3–5 h to review a trained machine-learning model; ~2 yrs → ~3 mo of history needed before a machine-learning model can ship; 13 plots a vision model reads before anything deploys. My part: the design of the whole loop, from the drift framework in 2021 to the review and routing stages, and a large share of the code. It runs on Ray clusters and is cheap to run by design: a small head node stays up, and workers start when a machine-learning model is requested and shut down when the job ends. Training data comes straight from the data lakehouse. The team I lead builds and runs it; one of its data scientists wrote the feature-selection pipeline. - **Alert triage agent.** An agent that investigates an alert the same way every time, then judges. When a diagnostic rule fires on a machine, an engineer needs the same questions answered before deciding to act: what the rule checks, which sensors tripped, what they read, and what happened last time. A free-roaming agent skips steps and varies run to run. This one gathers the evidence in a fixed order that code derives, then makes a single model call to judge from that evidence alone. Numbers: 9 steps in an order derived from what each step needs, never chosen by a prompt; 1 tool the only thing the model can call, and it runs the whole chain once; 4 outcomes raise a service request, monitor, discard, or undecided. My part: I directed most of the triage agent's design, and made architecture calls on the assistant around it over a few sprints. Product engineering built the assistant and runs it. - **Data lakehouse.** Telemetry in open tables, so any model can be retrained on the data it first saw. Data scientists need one row per machine per timestamp, with thousands of sensor columns. The source stores one row per sensor reading, in the same database that serves live data, so analysis was slow and competed with the live system. The lakehouse copies changes into open Iceberg tables and serves the reshaped view on request. Numbers: 5.4× faster yearly backfill; ~2 min to read a year of 10,000-sensor data; ~$0.30 per run. My part: built the first Iceberg version, which reached production as the raw-data layer before a rewrite replaced it with change capture. For the serving layer I shaped the architecture, scoped it, worked out the usage patterns and held the latency and cost targets. A data engineer built it. - **Anomaly detector test bench.** Built it myself, 2026. Anomaly detectors are hard to compare when real data has no answer key. This bench generates realistic sensor data, injects faults at known times, and scores every detector at the same budget of one false alarm a day. It covers 11 fault types, 7 detectors and 6.3 million points. Every part is a swappable class in one file: the detectors, the fault generator and the scorer. A registry picks up any new detector, so adding a test needs no other change. The first version was built alone in under a week. - **Curve digitizer.** Set the approach and architecture. Equipment makers publish performance data only as graph images, so engineers click points along each curve by hand. A vision-language model reads the axes and units and checks them geometrically. A segmentation model finds each curve, including where curves cross, and a person can paint strokes to refine it. Ten stages of signal processing, ending in a spline fit, turn the pixels into numbers, scored by R² with 0.95 as the bar for a good fit. Used in production, internally. - **Cheap models, safe where code computes.** Measured it. Two production agents were instrumented to swap models and measure cost, latency and accuracy. A small model replaying and a larger one judging cut cost 2.6×. Cheap models are fine for narrating facts that code already computed. They aren't fine for judgment. One run cost $0.0165 and produced nothing; it stays in the record, and it's why every run now has a cost ceiling. - **Serving at a twentieth of the cost.** Built it myself, 2021. I replaced one-pod-per-model serving with many machine-learning and deep-learning models on shared machines. Hosting went from $4 to $0.20 per model per month, and 30 instances became 1. ## Capabilities - **Hands-on at every altitude:** Production code and the team that runs it, often in the same week. Work: A platform where a plain-English job becomes a governed, scheduled, traced agent. A three-step agent takes about 24 seconds and five cents to generate. Agents are validated specs, not generated code, so a machine can check what they can do. Co-led across two squads, with the largest share of the commits. Team: Data science and AI team tripled from 8 to 24 in 2026, hired and measured against a level framework, KRAs and interview loops that I wrote from scratch. Own time: Ouroboros, a pipeline built for my own use. A set of skills I wrote turns an idea into a locked spec, QA writes the tests from the spec before any code exists, and an agent team builds in isolated containers, one owner per file, ending in a pull request. On a small CLI spec, one run passed 36 of 36 tests in 7m51s. The repo also logs the runs that failed. - **Measure first, trust after:** A model, a vendor or my own code: the before and after come first. Work: Model swaps get decided by measurement. Moving one agent from Gemini Flash to an open-weight Llama 70B, with the prompt tuned through cross-model review, cut its cost 13× and its run time 27%, and an automated check found every figure in its reports unchanged. That's safe because code computes the numbers and the model only narrates them. On a judgment task the same swap dropped a signal the physics needs, so it was rejected. Own time: Red-teaming built into how my own code ships. Eight AI reviewers, each from a different angle, audited my hiring platform MeritWise and found cross-tenant data access bugs and missing row-level security. Every finding was fixed and re-audited. Later changes, like shared workspaces, went through three rounds of cross-model review, each catching real defects before any code shipped. Governance: Named approver on the company's AI governance policy, which follows NIST AI RMF and ISO 27001, and interim owner of the governance function. Vendor AI decisions go through an adversarial audit that treats the vendor's claims as unproven. - **Hard things, said plainly:** In writing, in a training room, or in the short version a busy reader needs. Writing: An 8-part teardown of Ray's internals, from the scheduler to what happens when nodes die. The failures stay in. Writing + code: Attention is a Potluck (https://blog.akshayworks.com/posts/attention-is-a-potluck), plus a transformer built from scratch (https://github.com/akshayb7/transformer-from-scratch-pytorch) in raw PyTorch. Teaching: An hour-and-a-half AI training for about 50 people across the company, with every live demo working. One-on-one sessions with each team came first, so it was pitched at three levels of literacy instead of one. ## Stack - **Models:** Claude, Gemini, GPT, Llama, Qwen, PyTorch, XGBoost / LightGBM - **Open-weight & local:** Hugging Face, Ollama, FLUX, Whisper - **Agents & LLMOps:** LangGraph, Temporal, MCP, LiteLLM, Langfuse, Promptfoo, Claude Code, Codex, Antigravity - **Data & ML platform:** Ray, Dagster, MLflow, Apache Iceberg, Spark, Athena, Glue, Polars, TimescaleDB, Celery - **Cloud:** AWS, EKS, S3, SageMaker, IAM, Lambda, SQS / SNS, Kubernetes, Pulumi, Docker, GitHub Actions - **Web (own projects):** Next.js, FastAPI, Supabase ## Lab - **MeritWise:** AI hiring: resume scoring with model fallback, interview questions and full tracing. An 8-agent security audit of my own code scored it 5.7 out of 10. Every finding got fixed. Numbers: live in production. https://meritwise.ai/ - **Transformer from scratch:** The original architecture in raw PyTorch, with no libraries, annotated for the next reader. It's the companion to "Attention is a Potluck". https://github.com/akshayb7/transformer-from-scratch-pytorch - **Startup equity calculator:** What your options are worth across exit scenarios, with a full liquidation waterfall. Small, finished and live. https://huggingface.co/spaces/akshay7/startup-equity-calculator - **faceless-ai:** Folklore goes in, a narrated video on YouTube comes out. Three quality gates that don't use an LLM reject bad output and force retries. The last two uploads ran end to end with nobody touching them. Numbers: 608 tests · 3 public videos. https://youtube.com/@theunwrittenfolklore - **Ouroboros (private · demo on request):** One rule matters most: one file, one owner. In my own runs, builds succeed ~85–90% of the time with it and under 20% without. AI reviewers lock a spec from the idea, then a Docker-isolated agent team builds it into a merge-ready PR. One run against an outside repo timed out twice and lost work, because it only committed at the start and the end; that drove the fixes after. Numbers: 36/36 tests on a full build in 7m 51s. - **Raphael OS (in progress · private):** A personal agentic OS for my skills, notes and dev setup, split into identity, tracing, memory and event planes. One trace ID follows a run across every sink. Numbers: 159/159 tests · phase 1 done. - **More:** Also: three merged pull requests to Hugging Face's datasets library back in 2020, adding a Swahili language-modelling corpus (https://github.com/huggingface/datasets/pull/1524), an OPUS translation set (https://github.com/huggingface/datasets/pull/1490) and the WinoBias benchmark (https://github.com/huggingface/datasets/pull/1469). Plus a handful of automations that run my digests and syncs, and 61 Claude Code skills I use every day, from architecture review to the design rules this page follows. ## Writing - Blog: https://blog.akshayworks.com - RSS: https://blog.akshayworks.com/feed.xml Ray Architecture Deep Dive: - Why Ray? From Python Scripts to Distributed Clusters (Nov 2025): https://blog.akshayworks.com/posts/why-ray-from-python-to-distributed - Inside Ray: What Happens When You Hit Start (Nov 2025): https://blog.akshayworks.com/posts/ray-runtime-init-to-first-task - Tasks, Actors, and the Execution Model (Nov 2025): https://blog.akshayworks.com/posts/ray-tasks-actors-execution-model - Scheduling and Resource Management (Dec 2025): https://blog.akshayworks.com/posts/ray-scheduling-resource-management - Shared Memory, Zero-Copy, and the Object Store (Jan 2026): https://blog.akshayworks.com/posts/ray-object-store-zero-copy-memory - Ray's GCS: The Brain Behind the Cluster (Mar 2026): https://blog.akshayworks.com/posts/ray-gcs-brain-of-the-cluster - When Nodes Die: Ray's Fault Tolerance (Mar 2026): https://blog.akshayworks.com/posts/ray-fault-tolerance-recovery - Production Ray: Patterns, Mistakes, and Lessons (Mar 2026): https://blog.akshayworks.com/posts/ray-production-patterns-lessons AI Engineering: - Harness Engineering: The Model Is Half the Car (Jul 2026): https://blog.akshayworks.com/posts/harness-engineering The Codex: - Attention is a Potluck (Apr 2026): https://blog.akshayworks.com/posts/attention-is-a-potluck - The Seat Ribbons (Apr 2026): https://blog.akshayworks.com/posts/seat-ribbons - Eight Friends at the Buffet (Apr 2026): https://blog.akshayworks.com/posts/eight-friends-at-the-buffet Local AI Image Generation: - Running AI Image Generation Locally on Apple Silicon (Mar 2026): https://blog.akshayworks.com/posts/running-image-gen-locally-apple-silicon - Why Your AI Images Look Pixelated (Mar 2026): https://blog.akshayworks.com/posts/why-ai-images-look-pixelated-quantization-distillation-inference ## How I lead - **Week: Building and research ~35%:** Prototypes, hands-on code, and reading and testing new papers and models. - **Week: Technical direction and delivery ~30%:** Architecture calls, unblocking teams, and getting clients and teams to actually use the AI. - **Week: The team ~20%:** Hiring, levels, one-on-ones and feedback. - **Week: AI governance and the board ~15%:** Policy, vendor reviews, and the AI metrics the board tracks. - **What I'm like to work for:** I grew the AI team from 8 to 24 this year. Every role has a written level, and every interview round tests one signal. An empty seat beats a hire above what the scope justifies. - **What I'm like to work for:** No "great job". Praise names the exact call you made, and criticism comes with the fix. - **What I'm like to work for:** I've reshaped the org three times as the team tripled, each time with the reasoning and the risk written down. - **Where I work now:** Across the whole company, not only my team: data and platform engineering, security, DevOps, product, operations and revenue. I also own AI governance. - **Still learning:** the business side. Engineering and product are where I'm strong. Pricing, sales and go-to-market are the instincts I'm building now, in public with MeritWise. ## Timeline - **2024 – now: Director of Data Science & AI · Mechademy:** AI strategy, org design, the ML platform, the agent platform and AI governance. - **2022 – 2024: Principal Data Scientist · Mechademy:** I set the team's review and evaluation standards, and put GenAI into production early. What I built: A RAG copilot that matches new alerts against validated past events, so engineers stop re-analysing the same anomaly. It saves 200+ hours per client per month. Natural language to SQL to a live chart, with every query scoped to the user's access. Agents that read client spec sheets and write platform configs, cutting onboarding work. Anomaly detection that can start from ~7 days of history, then adapts to daily noise and slow drift. - **2021 – 2022: Senior Data Scientist · Mechademy:** The infrastructure year. I rebuilt the bones the current platform stands on. What I built: The original domain-specific AutoML framework. Machine-learning model creation went from ~2 months to ~2 days. Multi-model serving on shared machines: ~95% cheaper, 30 instances down to 1. Moved orchestration off Airflow: pipelines ~50% faster, infrastructure ~70% cheaper. Designed the drift framework that still gates retraining, and moved the core store to a time-series database. - **2019 – 2021: Data Scientist, employee #2 · Mechademy:** No ML practice, no baselines, no ingestion. I built the first predictive-maintenance models for turbomachinery, the first cloud services and CI/CD, and hired our first ML engineer, who's still there as ML Lead. Co-authored an SPE paper in 2019 too. - **2019 – 2024: Data Science Consultant · freelance, alongside:** NLP for an edtech platform: topic modelling, sentiment, gibberish detection and keyword extraction. - **2017 – 2018: Data analyst · steel, then oil & gas:** Production analytics across steel mills, and before that, real-time drilling data for up to 22 rigs. - **2012 – 2016: B.E. Petroleum Engineering · MIT-WPU, Pune:** Top of the class. Then AlphaGo played move 37, and I spent the next five months teaching myself AI. ## What I want next - **Want:** I want to own AI end to end, as Head of AI, CTO or technical co-founder, at a company where AI is the product and a wrong answer costs something real. - **Best fit:** Past the demo, with real stakes: industrial, regulated or money-moving. Stage matters less than whether a wrong answer costs something. - **Where:** Remote, or I'll relocate for the right team. - **Also:** Advising a few teams taking agents into production. - **What I'd like from you:** Someone who's closed deals and set prices, so I stop guessing on MeritWise. - **Not a fit:** Pure research labs, or leadership roles with no hands-on work. ## Contact - **Email:** akshay@akshayworks.com - **LinkedIn:** https://www.linkedin.com/in/akshayb7 - **GitHub:** https://github.com/akshayb7 - **Blog:** https://blog.akshayworks.com