AVAILABLE · Senior Frontend Engineer · Bengaluru ↔ Singapore

I make pixels
move at the speed
of the market.

12+ years turning high-frequency chaos into sub-100ms calm — across trading floors, digital banks, and design systems.

Shivraj Srinivas
subject // live feed
EXHIBIT A · THE THESIS

A “20–25× faster” claim
you can actually run.

On a CPU-heavy charting workload at Grasshopper, I cut render time by 20–25× — Web Worker offloading, OnPush change detection, lazy module boundaries, all locked in as CI performance budgets. Here’s what that feels like. Hit the button.

trading-chart.render() — frame trace unoptimized
Speedup 1.0× frames now land over budget
— msavg frame
dropped /s

Same data, same device. The only thing that changed is the engineering. Click below to feel the difference.

git log --author='shivraj' --since=2014

A career, shipped
as releases.

Every role was a deploy to production. Reverse-chronological, like a good changelog — newest on top.

$ cat /stack — sorted by reach-for-it frequency

The instrument panel.

Deep where it counts — frameworks, rendering internals, and the performance toolchain that makes the needle move.

PROOF · NOT A SKILLS CHECKLIST

I don’t just list frameworks.
I write them.

The price tape below is live — a random-walk ticker running in this page, hand-written in vanilla JS. The tabs show the same widget the way each framework actually wants it written: state, lifecycle, cleanup. Same logic, five dialects.

GHC · live tape 100.00 running in this page
SELECTED WORK · THINGS THAT SHIPPED

Proof, not promises.

shivraj@portfolio: ~/contact
➜ ~ whoami # the short version
Senior FE who’d rather show you a frame trace than a buzzword.
Got a hard rendering
problem? Let’s talk.
➜ ~ ./reach-out