Skip to content
View jonnypan2325's full-sized avatar

Highlights

  • Pro

Block or report jonnypan2325

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jonnypan2325/README.md

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)

Current work:

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.

Skills & Technologies

  • 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

Featured Projects

Strava Map Art Generator (In-Progress)

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)

LeShrine (2nd Place - IrvineHacks 2025 Meme Hack)

Devpost Repo

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

Crossy Road Reinforcement Learning (Project in AI/ML)

Repo

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

Camera Localization (Project in Computer Vision)

Repo

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

MNIST Neural Network Workshop (AI@UCI)

Repo Live Demo

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

Interests

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

Get in Touch

Feel free to reach out on Linkedin!

Pinned Loading

  1. LeShrine LeShrine Public

    Chrome extension in honor of LeBron

    JavaScript 1 1

  2. MNIST-NN MNIST-NN Public

    MNIST Hand Digit Recognition Walkthrough AI @ UCI

    Jupyter Notebook