Frontend engineer at Google, on the XProf team.
I make heavy interfaces feel light.
I build the UIs that sit on top of huge, complex systems: ML profilers, 100k-point charts, chip simulators. Right now that's the frontend for XProf at Google.
⌘ K to jump anywhere · . to start/stop profiling
harsh.main()Entry point. Currently running in Sunnyvale, CA.- Frame rate
- --
- Long frames
- --
- Uptime
- --
- Budget
- --
benchmarks: numbers from the field

01 — about.me
The human behind the trace
Hi, I'm Harsh. I build interfaces for systems that are big, fast and hard to see into.
At Google I work on XProf, the open-source profiler machine-learning engineers use to see where a training run spends its time. My job is to turn huge traces into something you can read at a glance.
The rest of my career has had the same shape. At Microsoft I built the Copilot experience in Power BI and charts that stay smooth past 100,000 data points. At Quadric I built canvas-based graph editors for chip simulation. At Rivian I wrote a simulator that stood in for real EV chargers and cut manual testing time by 90%. At Thomson Reuters I helped take test coverage from 10% to about 90%. And at Cal State East Bay I ran the university's web platform while earning my M.S. in Computer Science.
The part I care about most is the last 5%: the frame that doesn't drop, the shortcut that's there when you reach for it, the label a screen reader actually says out loud. Away from the keyboard I'm usually behind a camera or animating something in After Effects.
What I reach for
- Frontend
- ReactTypeScriptAngularJavaScriptNext.jsHTML & CSS
- Visualization
- D3.jsCanvasChart.jsMonacoMotion
- Data & state
- RxJSNode.jsgRPCRESTMongoDBDynamoDB
- Quality & shipping
- StorybookCypressJestCI/CDAWSDockerFigma
Off the clock
- Photographer on weekends
- Motion graphics in After Effects
- Built a pathfinding visualizer (Dijkstra, A*, BFS…) for fun
- Hot-reload junkie
02 — career.trace
Six stops, one thread: big systems, made legible.
Profilers, 100k-point charts, chip and EV-charger simulators. Pick a span to open it (or use ← →).
Front End Engineer at Google · XProf
Building the frontend for XProf, the open-source profiler ML engineers use to see where training and inference time goes.
- Build the frontend of XProf, Google's open-source ML performance profiler, part of the OpenXLA ecosystem.
- Work on the performance visualizations (trace viewer, profile dashboards and op-level breakdowns) for large training and inference runs across JAX, TensorFlow and PyTorch/XLA.
- Ship features and fixes in the open, on a public codebase the wider ML community uses.
03 — side.projects()
Weekend rabbit holes.
Before the day jobs, and in between them: hackathons, college builds and experiments.
Game of Thrones: Network Analysis
Graph analysis of every character in Game of Thrones: who connects to whom, each character's centrality, how a message spreads from the best-connected character, virality vs. seeding budget, and what PageRank says about who really matters.
- Python
- Gephi
- NetworkX
- Seaborn
- Pandas
- Numpy
Waste Product Management
A Flutter app for waste product management.
- Flutter
- Firebase
Animated Menu
- HTML
- CSS
- JavaScript
On Scroll Timeline
- HTML
- CSS
- JavaScript
YouTube-Transcriptor
Search inside a YouTube video: type a phrase and jump to the exact seconds where it’s spoken.
- NLP
- Django
- Python
Smart Vehicle Monitoring System
Affordable license-plate recognition that detects, identifies and logs vehicles at gated communities, tolls, office parks and parking lots.
- OpenCV
- Python
- TensorFlow
04 — contact.flush()
Let's make something fast.
I'm always happy to talk frontend, performance, data viz or photography, or to hear why your favorite easing curve is the right one. My inbox is open.