Hi, I'm Krithik.

krithik smol me smol me :)

With an idea, grit, agency, and a bit of luck — tech gives you a chance to make something and put it out into the world. That's the part I find exciting. Exciting to make. Exciting to watch people use.

Walter Isaacson's The Innovators made it concrete. The revolutions weren't built by anointed geniuses — they were built by normal people, mostly in pairs and small groups, who got obsessive about a real problem and figured it out in rooms nobody was watching. That's the part I want to be in.

The storytelling around it — the characters, the rivalries, the absurd moments — is honestly part of why I love it too :) But the work is the thing.

What follows is how I got here, what I'm working on, and how I think about building with LLMs.

How I got here

A few things I tried — and what each one actually gave me.

"Making money on the internet is easy — just run ads."

Started a digital marketing agency at 19 from my dorm. Mom was the first investor. It was hard. I learnt cold outreach, sales calls, trial runs, demo calls, closing calls, service delivery, handling angry customers, payments, ops, running these calls on a proper schedule, speaking clearly, and making people take a 19-year-old seriously. Dragged it to $4K/mo and ran it for an insane 8 months during the pandemic.

→ This is where I figured out how a business actually works, end to end. Every job since has made more sense because I had to do payroll once.
Consulting will teach you rigor and put you in touch with what enterprise really looks like.

Joined ZS straight out of college. Pretty chill, apart from the occasional 18-hour shifts pulling deliverables out and checking for mistakes we and our managers were hallucinating out of paranoia. Owned post-launch optimization on an enterprise platform handling $32M in rep payouts — triaged tickets, found patterns, shipped fixes, killed ~35% of support volume over two quarters.

→ Got my first real taste of teamwork under pressure, what rigor actually costs, and what it means to ship something into a client's actual workflow.
Wurq + Heiland — fitness tech, IMU sensors, and a German investor.

Worked at Wurq (fitness tech startup inside Harvard i-lab) — IMU sensors + mobile app to help athletes track recovery, strength, and performance. Owned the ML pipeline for pose correction: inference latency 490ms → 67ms, edge processing cut per-inference cost ~28% against the cloud baseline. Peter Heiland (an investor at Wurq) liked the work enough that I kept building on his project after the internship — collaborated with teams in Frankfurt and Milan on a similar build.

→ Shipped my first real ML into production, found out what working across timezones takes, and felt what it's like when someone bets on you twice.
At Matic Robots.

On the production line. I assemble and QC the crown module — cameras, IR sensors, microphones — run functional tests against spec, triage defects, document failure modes for engineering. Building small software automations and fixing UIs where needed. Occasionally collaborating with engineering on data collection and process improvement. Closest I've been to physical hardware shipping at scale.

→ Seeing in real time what happens when the spec meets the actual unit on the bench — which test steps catch real defects, and where the process leaks.

What I'm working on now

Free time is where I go at least two levels deeper than the job requires. Math, code, the actual mechanism — I beat on it until I can recall it cold without notes. Three projects right now. They look like three different things. They're the same practice.

LLM inference, end to end →

Llama 3.1 8B on an H100. From the moment you hit enter to the moment the token shows up — tokenization, embedding, all 32 transformer layers, the decode loop, KV cache, prefill vs decode, the 150 tok/s ceiling and where it comes from.

I'd been using LLM chatbots since 11:38 AM PST, Nov 30th, 2022 and at some point it bugged me that I'd been using these things for years and still couldn't tell you what actually happens between hitting enter and the tokens showing up. So I sat down and worked it out.

Search engine in Rust, from scratch → 3 new pieces

Started chapter-by-chapter through Manning's Introduction to Information Retrieval. Inverted index, BSBI block construction, VByte + gap encoding, spell correction with trigrams and Jaccard and Levenshtein, TF-IDF with cosine, tiered indexes, proximity scoring. Eleven articles in.

Now running BM25F over AWS documentation — 14,266 markdown files across 18 services. Field-aware scoring across title, headers, code, body. CamelCase + underscore tokenization so API_RunInstances hits "run instances" too. Next: PageRank from the cross-link graph, then an evaluation harness.

A Claude skill that refuses to let me fake it →

Built before I opened the IR textbook. Grounded in Justin Skycak's Advice on Upskilling. Load-bearing claim from the book: learning is a positive change in long-term memory. If I can't retrieve it cold without help, I haven't learned it.

The skill quizzes me on what I'm supposedly learning. If I peek, the rep doesn't count. If I'm fuzzy, it shrinks the next interval. Annoying. Also working. It's the reason the inference article and the search engine work exist — both required learning a domain from zero in a few weeks.

How I think about building with LLMs

The default move in most AI integration work right now is backwards. People reach for LLMs first, then carve out the places they fail. I think the resilient version is the opposite.

Start by removing the psychological safety of "we have an LLM." Get very, very clear on the outcome you're producing and for whom. Decompose the system into self-contained sub-steps. At each step, articulate clearly what needs to happen — almost a heuristic-based approach. Then ask: is there a cheaper, faster, deterministic option that solves this specific thing? Use it where there is. Reach for an LLM only on the residual — the part nothing simpler handles.

This yields stronger systems. It actually unlocks economic value, instead of duct-taping LLMs across the whole stack and calling it AI. And it forces clarity of thinking — because the clearer and more specific you are about the outcome at each step, the sharper the LLM call ends up being when you do reach for it.

The other piece: AI amplifies what you already know. The gap between someone who understands the fundamentals and uses LLMs in their workflow vs. someone with surface knowledge using the same tools is already a couple of orders of magnitude. Combine it across domains and the gap widens fast. So I build the fundamentals from scratch — the search engine in Rust, the inference deep-dive — and then point LLMs at problems with the kind of clarity that only comes from understanding the layer underneath.

The through-line

Every project above did the same thing: helped someone solve something that actually mattered to them. The pharma rep needed the platform to just work so she could go sell. The film fan needed the search to understand what she meant, not what she typed. The robot needs to tell the kid from the toaster.

What I bring is people, engineering, and clear thinking — pointed at problems that matter. I figure out what's actually getting in the way, get the right people moving in the same direction, and either build the thing myself or work alongside the people who do.

The work I want to do next is the same work, applied to the layer where it's happening fastest right now: applied AI, close to customers, technical enough to build, business-minded enough to scope. APM, forward-deployed, technical product. Building the thing and shaping how it goes to market at the same time.

Other things

I read a lot, mostly non-fiction. Right now: Ramesh Menon's modern rendering of the Mahabharata. Recently finished his Ramayana and Krishna: The Blue God. Last year I went through Walter Isaacson's The Innovators and Neil Postman's Amusing Ourselves to Death. (I thought I understood the Mahabharata — turns out I understood myself more.) Full list on Goodreads.

Played chess for the team at VNIT and at Northeastern. Still play, badly, online.

Italian painter Giampaolo Tomassetti's Mahabharata series. I keep coming back to Parthasarathi — Krishna as Arjuna's charioteer on the eve of Kurukshetra, the exact moment before the Gita. An Italian painter rendering this scene with Caravaggio's light is the kind of cross-cultural crossover that shouldn't work and does.

A recent paper on raga music and emotional regulation. The premise — that specific ragas in Indian classical music act on specific emotional states in reproducible ways — is something I'd heard from family for years and always filed under folk wisdom. Turns out there's a literature. Still working through it.

Also — I dance. It shows up in how I think about building systems more than you'd expect: pushing, pulling, letting things flow, holding back, letting them build up, releasing in phases. A lot of creative inflows and outflows.

The contrarian question

Peter Thiel has a famous interview question: what important truth do very few people agree with you on? It's a hard one — takes some thinking to answer, and some nerve to commit to in public. If you have one, I'd love to hear it.

Anonymous. I read all of them. The ones that stick with me show up below, without your name attached.

anonymous · max 500 chars · I curate what appears below 0 / 500

nothing here yet. be first.

Talk to me

If you made it this far — I'd love to hear from you. Building something interesting, hiring, or want to push back on anything I wrote here. Pick whichever is easiest.