> projects

Things I've built on my own and for courses, from mobile apps down to hardware and FPGAs.

  1. may 2024 — present
    personal project

    Krumbz Recipe App

    A React Native recipe app that matches the ingredients you have on hand to 1,000+ recipes you can cook.

    • Built a Go REST API with 25+ endpoints and JWT authentication on PostgreSQL, containerized with Docker and deployed on Google Cloud Run.
    • Built ingredient matching that combines string-matching algorithms with an agentic LLM pipeline for semantic reasoning over recipes.
    • Lets users set macronutrient goals and add ingredients with their camera.
    React NativeGoPostgreSQLDockerCloud RunLLMs
  2. may 2024 — may 2025
    personal project

    Breadboard CPU & Custom Instruction Set

    A working 8-bit CPU built on breadboards from 74LS-series logic-gate ICs, with a variable-speed clock.

    alu of the 8-bit breadboard cpu
    alu of the 8-bit breadboard cpu
    • Built an ALU supporting addition, subtraction, shifts and logic operations from simple logic gates.
    • Implemented memory, a 4-register file and a program counter.
    • Designed a custom 13-instruction ISA with bespoke opcodes to load and run multi-step programs.
    Digital logic74LS ICsISA design
  3. jan 2024 — may 2024
    ece243, university of toronto

    Rocket Projectile Simulator

    A physics-based projectile simulator disguised as a rocket game, running bare-metal (no OS) on a Nios II soft processor on a DE1-SoC FPGA.

    start screen
    1/4 start screen
    • Players pick a planet (gravity, air resistance), launch angle and velocity, then watch the trajectory and telemetry; make orbit to win.
    • Wrote C drivers for a 640x480 60 Hz VGA display with double buffering.
    • Wrote a PS/2 keyboard driver for player input.
    github ↗CNios IIFPGAVGAPS/2
  4. jan 2024 — may 2024

    OpenStreetMap City Mapper

    A C++ city map application for Linux with a GTK GUI and turn-by-turn directions.

    • Renders streets, street names, buildings and points of interest with panning and zooming.
    • Uses over 2 million data points for 10+ cities from OpenStreetMap.
    • Finds directions between any two points with Dijkstra's shortest path algorithm.
    C++GTKLinuxAlgorithms
  5. sep 2023 — dec 2023
    ece241, university of toronto

    FPGA Human Benchmark Games

    Human Benchmark-style reaction-time and chimp-memory games built entirely in Verilog/SystemVerilog on a DE1-SoC FPGA.

    • Implemented a double-buffered VGA display pipeline.
    • Added PS/2 mouse input with an on-screen cursor for point-and-click gameplay.
    • Showed the top reaction time, in ms, on the 7-segment display.
    github ↗VerilogSystemVerilogFPGAVGA