Computer Engineering @ UBC · Systems & Hardware

I like building reliable, efficient systems across the stack – from FPGA/ASIC and real-time systems up through backend services and applied AI. This page is a snapshot of what I’ve been working on.

SystemVerilog · FPGA · VLSI Go · C/C++ · Java · Python React · Node/Express · SQL/MongoDB OS · Networking · Cybersecurity Machine Learning · Deep Learning

About me

I’m a fourth-year Computer Engineering student at UBC who enjoys understanding how systems work all the way down the stack. On the low-level side I’ve designed FPGA/ASIC-style hardware in SystemVerilog (DNN accelerators, multi-core cryptographic engines, DSP systems, and a small RISC machine), and studied computer architecture, operating systems, networking, and real-time systems.

On the software side I’m comfortable in Go, C/C++, Java, Python, and JavaScript/TypeScript, and have built everything from a custom TCP-like protocol over UDP and OS161 kernel extensions to full-stack apps with React, Node/Express, SQL, and MongoDB. I like taking complex systems apart, making them faster and more reliable, and then wrapping them in tools that are easy for other people to use.

Outside of tech I’m usually snowboarding, playing badminton or guitar, or hanging out with friends. I care a lot about curiosity, clear communication, and collaborative teams – and I’m always happy to connect with people building interesting systems.

Courses completed

A selection of relevant UBC courses by year.

Year 1 · 2020–21

Foundations in math, physics & engineering
  • APSC 100 – Introduction to Engineering I
  • APSC 160 – Introduction to Computation in Engineering Design
  • CHEM 154 – Chemistry for Engineering
  • MATH 180 – Differential Calculus with Physical Applications
  • PHYS 157 – Introductory Physics for Engineers I
  • APSC 101 – Introduction to Engineering II
  • MATH 101 – Integral Calculus with Applications to Physical Sciences and Engineering
  • MATH 152 – Linear Systems
  • PHYS 158 – Introductory Physics for Engineers II
  • PHYS 159 – Introductory Physics Laboratory for Engineers
  • PHYS 170 – Mechanics I

2021–22

Complementary studies & science
  • CRWR 200 – Introduction to Creative Writing
  • CRWR 230 – Introduction to Writing for Comedic Forms
  • EOSC 110 – The Solid Earth: A Dynamic Planet
  • EOSC 114 – Catastrophic Earth
  • LING 100 – Introduction to Language and Linguistics
  • PHYS 118 – Electricity, Light and Radiation
  • MATH 101 – Integral Calculus with Applications to Physical Sciences and Engineering
  • MATH 152 – Linear Systems
  • PHYS 170 – Mechanics I

Year 2 · 2022–23

Core systems & software
  • CPEN 211 – Computing Systems I
  • CPEN 221 – Software Construction I
  • CPEN 281 – Technical Communication
  • MATH 220 – Mathematical Proof
  • APSC 107 – Introduction to Engineering Co-op
  • CPEN 212 – Computing Systems II
  • CPSC 221 – Basic Algorithms and Data Structures
  • ELEC 201 – Circuit Analysis I
  • MATH 200 – Calculus III
  • MATH 256 – Differential Equations
  • CPEN 291 – Computer Engineering Design Studio I (2023 Summer)

Year 3 · 2023–24

Operating systems, HCI, ML & networking
  • CIVL 250 – Engineering and Sustainable Development
  • CPEN 331 – Operating Systems
  • CPEN 441 – Human Computer Interfaces in Engineering Design
  • CPSC 320 – Intermediate Algorithm Design and Analysis
  • MATH 302 – Introduction to Probability
  • CPEN 322 – Software Construction II
  • CPEN 455 – Deep Learning
  • CPSC 304 – Introduction to Relational Databases
  • ELEC 331 – Computer Communications
  • CPEN 311 – Digital Systems Design (2024 Summer)

Year 4 · 2024–26

Architecture, security, ML & capstone
  • APSC 110 – Co-operative Education Work Term I
  • APSC 210 – Co-operative Education Work Term
  • APSC 450 – Professional Engineering Practice
  • CPEN 411 – Computer Architecture
  • CPEN 442 – Introduction to Cybersecurity
  • CPEN 481 – Economic Analysis of Engineering Projects
  • ELEC 402 – Introduction to VLSI Systems
  • CPEN 491F – Capstone Design A
  • CPEN 355 – Machine Learning with Engineering Applications
  • CPEN 432 – Real-Time System Design

Projects

Click a project to see more details.

Dot-Product-Based DNN Accelerator

SystemVerilog · ASIC Flow · Timing & Power

Designed a 4-element 16-bit pipelined dot-product engine for deep neural network workloads.

  • Implemented RTL in SystemVerilog, verified with ModelSim testbenches.
  • Synthesized with Design Compiler to hit a 1 GHz timing target.
  • Ran place-and-route in Innovus and sign-off checks (DRC/LVS) in Calibre.
  • Performed post-layout simulations with SDF back-annotation and VCD-based power analysis.

Hardware-Accelerated RC4 Cipher Decryption

SystemVerilog · Cryptography · Parallel FSMs

Built a hardware engine to demonstrate vulnerabilities of the RC4 stream cipher via brute-force key search.

  • Designed modular FSMs communicating via a start/finish protocol for key scheduling and decryption.
  • Implemented a multi-core controller that manages four parallel decryption units for higher throughput.

Advanced FPGA-Based DSP System

FPGA · Nios II · Multi-clock DSP

Implemented an FPGA system combining soft processors, DDS, LFSR, and modulation schemes.

  • Integrated a Nios II soft core with custom HDL modules for ASK, BPSK, and FSK modulation.
  • Handled multiple clock domains safely using synchronizers and clock-domain crossing techniques.

FPGA iPod Controls with LED Meter

SystemVerilog · Embedded Audio · PicoBlaze

Developed an FPGA-based music controller with a visual audio strength indicator.

  • Created FSMs for flash memory addressing and synchronized audio playback.
  • Minimized glitches by storing outputs within sequential state variables.
  • Used a PicoBlaze core to compute and display signal strength on LEDs.

FPGA Tone Organ

SystemVerilog · Quartus · Audio

Simple FPGA-based tone player mapping switch inputs to musical notes.

  • Implemented a reusable frequency-divider module for generating audio frequencies.
  • Verified functionality with simulation testbenches and SignalTap II analysis.

Java / Oracle Database Manager

Java · SQL · Relational Design

Full-stack application with a Java GUI for managing an Oracle database.

  • Designed a normalized relational schema and implemented performant SQL queries.
  • Used joins, selections, and division operations to support complex data insights.

AI-Enhanced Chat App

JavaScript · WebSockets · OpenAI API

Real-time chat application with voice-to-text and accessibility-focused AI features.

  • Parsed key phrases from transcribed audio to dynamically construct OpenAI API calls.
  • Routed requests to GPT-3.5 instead of GPT-4 when possible, cutting costs by ~98% while improving latency.
  • Hardened endpoints with input sanitization to reduce XSS attack surface.

Network Routing Protocol Simulations

Python · Algorithms · Networking

Python simulations of Link State and Distance Vector routing protocols.

  • Modelled routers maintaining tables, handling topology changes, and forwarding messages.
  • Verified correctness of path costs, forwarding behavior, and unreachable-node handling.

IdeaList – Hackathon Project (nwHacks)

Node.js · WebSockets · MongoDB · OpenAI

Collaborative idea-generation and voting platform built during a hackathon.

  • Designed backend with Node.js + Express and real-time WebSocket updates.
  • Integrated OpenAI GPT-3 for feedback and analysis on user-submitted ideas.
  • Modeled project and idea data with MongoDB + Mongoose for flexible querying.

Automated Cover Letter Generator

LLM Ops · Prompt Engineering

Custom GPT configuration to generate tailored cover letters for job applications.

  • Built a reusable instruction set and template with placeholders for skills, projects, and company details.
  • Curated a project/skills database so the system can automatically select relevant content.
  • Generated 50+ customized letters, saving dozens of hours of manual writing.

Custom TCP-like Data Transfer Protocol

C · Networking · Congestion Control

Reliable data transfer protocol implemented over UDP, emulating TCP behaviour.

  • Developed sender/receiver programs using a sliding-window mechanism for flow control.
  • Achieved >70% bandwidth utilization under ideal conditions and fair sharing across flows.
  • Extensively tested under varying loss rates to validate robustness.

OS161 Operating System Extensions

C/C++ · OS · Synchronization

Major kernel work for the OS161 teaching OS.

  • Implemented locks, condition variables, and semaphores to enable multithreading.
  • Reworked the virtual memory system with a software-managed TLB and multi-level paging.
  • Reached a 99.9% pass rate on provided system tests.

Electronic Thermostat Control

Embedded · Analog · Control

Digital thermostat system with PWM fan control around an NTC thermistor.

  • Calculated temperature with 0.1 °C precision over a −2–67 °C range.
  • Improved fan motor reliability via a voltage regulator and BJT-based logic.
  • Logged temperature data to an SD card using Arduino scripts.

Custom Linux Shell

C · Unix · Process Management

C-based shell supporting foreground and background processes.

  • Managed up to 32 concurrent processes with robust suspension/resumption.
  • Implemented signal handling for SIGINT, SIGSTOP, and SIGQUIT to maintain stability.

Multi-User Twitter Content Management System

Java · Twitter API · Cryptography

Java-based social media curation and management tool.

  • Integrated Twitter API for content retrieval and interaction.
  • Used AES and Blowfish to protect sensitive data.

Turing-Complete 16-bit RISC Machine

SystemVerilog · FPGA · CPU Design

Custom 16-bit RISC CPU on FPGA, including datapath, controller, RAM, and registers.

  • Used Quartus for synthesis and ModelSim for RTL simulation.
  • Built testbenches for each module and the integrated system.
  • Supported a subset of ARM64-style instructions for real-time execution.

Predictive-Text Search Engine

Java · NLP · Probabilistic Models

Experience

Co-op and internship roles.

Corvus Energy

Software Engineering Intern
September 2024 – August 2025
  • Resolved 15+ critical issues in battery charging assemblies via test-driven debugging and Go concurrency optimizations, improving stability by ~40%.
  • Acted as the sole on-site software engineer during BlueWhale system commissioning for the ECO Liberty vessel, integrating Modbus with the ship’s EMS and completing 100+ acceptance tests with ABS/USCG.
  • Rebuilt the WebCBM configuration platform with a React/TypeScript front end and optimized C#/Go back end, cutting load times by ~70%.
  • Automated industrial PC setup with Go + Bash scripts, standardizing manufacturing workflows and reducing setup time by ~70%.

Dinoct Inc.

Cybersecurity & AI Engineering Intern
May 2024 – August 2024
  • Developed and tested Python scripts to automate analysis of cloud security alerts, applying CI/CD practices such as automated testing.
  • Trained and fine-tuned an AI model to interpret alerts and suggest causes and mitigations based on security frameworks.