

Python
TypeScript
JavaScript
Node.js
Express.js
MongoDB
PostgreSQL
React
Next.js
Tailwind CSS
AWS
Docker
Git
PyTorch
Neovim
San Francisco, CA | July 2025 – Present
I work on the infrastructure that lets enterprise partners actually plug into our platform. I moved our dev, UAT, and production environments into a monorepo — which meant coordinating live deployment cutovers without stalling the rest of the team — and rebuilt the tooling around it so deploys are easier to trust and debug. Most of my time since has gone to integrations: a dialer platform that handles over a million customer records a day without locking us into a single vendor, plus connections out to messaging, payments, and data providers like Five9, Sinch, and Payscout. The problem I've enjoyed most was our import engine, where customer data arrives with relationships that have to be resolved in the right order. I modeled it as a DAG and sorted it topologically, so imports are deterministic instead of dependent on luck. That work became the backbone of Template Builder, which lets partners map their own file schemas without an engineer in the loop. I also rewrote our phone architecture for proper E.164 support end to end, which is what opened us up to customers outside the US.
Irvine, CA | January 2025 - May 2025
SimInsights builds VR training simulations, and the bottleneck was that every scenario had to be assembled by hand. I built a multi-agent LLM workflow that takes a plain English description and turns it into a working interactive 3D simulation, which cut scenario creation time by more than 5x and — more importantly — meant trainers could build their own without waiting on an engineer. On the side I migrated their legacy React site to Next.js, mostly for the routing and server-side rendering, which had the nice side effect of bumping their SEO visibility about 25%. I also dropped an LLM-powered support chatbot into the site and deployed the backend services tying the LLMs, HyperSkill, and AWS together.
Remote | September 2024 - December 2024
A European news platform where the goal was getting readers to articles they'd actually care about. I built the recommendation engine using collaborative filtering (SVD) over user behavior, with DynamoDB underneath, and set up the ingestion pipelines that kept it fed with fresh articles in real time. I also wired in OpenAI and NewsAPI so stories came with live summaries, and built out the responsive frontend in React and Vite.
Fremont, CA | July 2024 - September 2024
The hardware team was tracking networking inventory across spreadsheets, so I built them a real platform for it. The useful part was search — being able to pull up a unit by serial number instead of hunting through rows — which I built on DynamoDB with a React frontend. I sat down with the hardware engineers to figure out what they actually needed before building, which saved a lot of guessing.
Irvine, CA | January 2025 - March 2025
A research lab at UCI building tools for educators, partnered with the Chan Zuckerberg Initiative. I worked on a survey platform used by over 1,000 teachers — Next.js and Prisma on the data side, Tailwind on the interface — where most of the challenge was making research instruments feel simple to people who aren't researchers. It was a 7-person team, and my first real taste of working in a shared codebase with review cycles rather than solo.
Irvine, CA | September 2024 - March 2025
This was research into autonomous drones for emergency response — think Amber Alerts, where you need to find a specific car fast over a wide area. Plain object detection wasn't enough, since knowing something is a sedan doesn't tell you it's the sedan. So I paired YOLO detection with an image-embedding similarity search, matching what the drone sees against a reference photo. That combination pushed vehicle recognition accuracy up 71.7% and inference 33% faster. I trained the model on footage captured off a Raspberry Pi, ran the matching through a Flask service, and built a React frontend streaming live video so an operator could deploy and watch from anywhere.
A reinforcement learning agent trained on 300,000 episodes using Deep-Q Networks to master Minesweeper gameplay.
A chess engine with AI algorithms for move prediction and fully customizable UI with themes and visuals for player engagement.
A model that can predict a cars make, model, and body style from an image with 88.76% accuracy, analyzing 280,000+ images.
A social restaurant discovery platform serving over 3,000 users, with personalized recommendation models, social feeds, and containerized backend services deployed to DigitalOcean.
A retro pong game in C++ with Raylib, featuring classic gameplay, CPU opponent AI, and dynamic gameplay.
The calculator system, built on a Tiva microcontroller, uses a keypad for inputs. An LCD display is used to display all calculations being made.

A fast web crawler that improves data retrieval by 400% and filters out unnecessary sites. The search engine ranks results quickly with sub-30 ms response times.

Java-like syntax compiler with recursive descent parsing, semantic analysis, and optimizations like Dead Code Elimination for efficient x86 assembly generation.