Portfolio | coding projects
The Labyrinth: Race to the End
  • Interactive & fully-randomized maze with unique solutions
  • Created a heuristic to maximize difficulty and randomness while ensuring the validity of the generated solution
  • Developed unique animations and visuals for more intuitive buttons and other interactive elements
  • Integrated support for all display sizes by writing algorithms that centered the most important visual elements
Languages Used:
Visualizing Shortest Path
  • Interactive visualization for how various shortest path algorithms operate
  • Supported Algorithms:
    • Naive
    • Dual Naive
    • A* Search
    • Dijkstra's
Languages Used:
  • I made a clock
  • Inspired by this Steam Wallpaper
Languages Used:
  • Developed the retro game called Snake where a snake is manuvered around a board without striking itself or the walls
Languages Used:
Dear Data Seminar
  • Online assignment portfolio for Statistics 24 students at Berkeley
  • Prototyped and designed an aesthetic and intuitive user experience with clean, simple animations
  • Implemented native support for mobile and desktop users by interatively adjusting element dimensions, positioning, and scaling
  • Created for UC Berkeley Division of Computing, Data Science, and Technology
Languages Used:
Play 2048
  • Created a dark-mode version of game 2048 that reduced eye-strain
Languages Used:
Spotify: Top Tracks Analysis
  • Data Analysis on Top & Viral Spotify songs on the global and national levels
  • Learned how to use Rest APIs and the related requests library
  • I processed, cleaned, and analyzed the data Spotify publicly provided to better understand what types of songs were most likely to go viral and be recommended to Spotify's general audience.
  • I concluded that tracks with explicit lyrics were generally ranked to be more popular than non-explicit songs.
Languages Used:
  • Designed a C-based Python library that paralleled NumPy functionality
  • Optimized matrix operations to run up to 900x faster than na├»ve C operations using unrolling, SIMD instructions, and parallelization
  • Made for Machine Structures (CS61c at UC Berkeley)
  • Spec Sheet
Languages Used:
A Game of Treats
  • Interactive & seeded 2D maze with a toggleable viewfinder and keyboard controls
  • Made for Data Structures (CS61b at UC Berkeley)
  • Spec Sheet
Languages Used:
  • Personal website & portfolio
  • I adjust this site every few years to practice my web design skills
  • This latest iteration leans heavily on glassmorphism
Languages Used: