
As a front-end engineer with 16 years of experience, I build web and desktop applications that are user-friendly, performant, and scalable using React, TypeScript, Next.js, Vue, Electron, and Node.js.
Most recently I have been focussing on agentic AI products, integrating LLM APIs into production flows and building guardrails.
I care about UI craft, performance, and shipping reliable products end to end. I move fast in ambiguous, early-stage teams and work AI-native.


- Worked as an independent contractor for a leading US cabinet manufacturer with 10+ sister companies. I was a part of the brandsites ...
- Worked as an independent contractor for a leading US cabinet manufacturer with 10+ sister companies. I was a part of the brandsites team responsible for the online presence of the client. Created a unified codebase for all websites, implemented theming, and developed features like Budget Calculator, Room Viewing Experience, Product Pages, and innovative marketing pages.
- Worked on the portal for retailers to manage inventories and handle orders.
- Assisted in UX work, including the creation of new designs for 2 websites.
- Built Trace, an internal Electron dev tool, and delivered projects for Google's evaluation team.
- Contributed to an internal LLM agent harness and runtime platform for running and evaluating LLM agents in reinforcement-learning (RL) gym environments; debugged and fixed failures that surfaced during agentic actions (agents executing and completing tasks in the gym) to improve run reliability, and took several RL-gym projects to production.
Founding front-end engineer building Functionals.ai's agentic AI product from zero to launch with the CEO and CTO. Owned the agen...
Founding front-end engineer building Functionals.ai's agentic AI product from zero to launch with the CEO and CTO. Owned the agent-facing UI end to end and integrated LLM APIs into production flows, including the surfaces that display agent progress and tool activity. Built guardrails around structured LLM output: schema validation, automatic re-requests on malformed responses, and predictable turn-state so the UI always reflected a clean, validated result.