I'm a 3rd-year CS major at the University of California, Irvine, specializing in AI/ML & Intelligent Systems, with a strong interest in full-stack development and computer vision.
(Last updated: Feb 2, 2026)
I have been a Software Intern at Canon since June 2025. Currently, I am engineering a multi-agent RAG Chatbot to assist service technicians and developing a document classification/extraction pipeline.
I'm also working on some personal projects and am a project coorindator for the Artificial Intelligence Club at U.C. Irvine.
- Machine Learning: GANs, Transformers, Reinforcement Learning, Deep Learning, LLMs, NLP, RAG
- Computer Vision: Signal Processing, Image Processing, Geospatial Analysis
- Web & Tools: FastAPI, Next.js, Docker, RESTful APIs, GitHub Actions, CI/CD
- Cloud: Azure, GCP
- Programming: Python, Java, JavaScript/TypeScript
- Development: Agile Development, Algorithm Design
Ever wanted to draw a picture with your running route? I'm building an algorithm that converts hand-drawn sketches into actual GPS routes on real streets.
- Uses Iterative Closest Point alignment to match your sketch to OpenStreetMap data
- Handles multi-part drawings and automatically figures out how to connect them
- Generates Eulerian circuits so you get a continuous, traversable route (no teleporting between streets!)
- Exports to GPX files you can load onto your watch or phone
(inspired by a reddit post a while back)
A Chrome extension that replaces every ad on the internet with LeBron James. Won 2nd place in the meme category at IrvineHacks.
- Intercepts ad network requests before they load using the declarativeNetRequest API
- Swaps blocked ads with iconic LeBron images and "Blocked by James!" sound effects
- New tab page shows his game schedule, highlights, and stats
- Triggers audio on user interactions to track how many ads you've "blocked"
- Built entirely in vanilla JavaScript and CSS
A reinforcement learning project that trains AI agents to play Crossy Road using deep learning algorithms
- Built a custom Gymnasium environment with roads, rivers, trains, and moving obstacles
- Implemented DQN, PPO, and A2C algorithms using Stable-Baselines3
- Phased curriculum and progressive training for difficulty scaling
- Used TensorBoard for tracking training metrics and analyzing performance
- Pygame visualization to watch or record the agent's attempts
A computer vision project where I implemented camera localization using stereo vision.
- Camera calibration pipeline for both intrinsic and extrinsic parameters
- 3D pose estimation through OpenCV and triangulation
- Interactive multi-view visualization to step through frames
- Validated results against ground truth measurements with error analysis
A workshop I organized for AI@UCI that walks through building neural networks from scratch. The goal was making the learning curve less steep.
- Progressive curriculum: linear classifiers → perceptrons → simple NNs → fully connected NNs → CNNs
- Visualizations show what's actually happening under the hood (decision boundaries, feature transformations, training dynamics)
- Hands on Jupyter notebooks with adjustable parameters and step by step instructions
When I'm not coding, you can find me:
- Surfing
- Playing golf
- On the ski slopes
- Photography (#teamCanon)
- Cooking up something new in the kitchen
Feel free to reach out on Linkedin!

