I'm studying electronics engineering at SFU. I like taking an idea, building a first version, and working through the problems until it does what I had in mind. That usually means some mix of electronics, mechanical design, and software.
Interested in: how interactive technology can make ordinary things more memorable and useful.
Automated card shufflerFIFA trophy centrepiece
Pip · project guide Press the antenna.
Projects
Things I've made.
Working prototypeSystem design▶Prototype in motion
School project 2025
Automated Card Shuffler
A working card shuffler built around one deceptively hard problem: getting the rollers to launch exactly one card into the same place every time.
I designed the mechanism, printed and revised the parts, then wired an Arduino, motors, sensors, buttons, and a remote. The cards found several new ways to jam along the way.
Tools & skills
ArduinoElectronicsCAD3D PrintingPrototyping
01 The challenge+
Moving the cards was easy. Getting the rollers to feed and launch exactly one card at a time, with enough consistency for the rest of the mechanism to work, was the real challenge.
02 What I learned+
Small changes to roller spacing and timing mattered more than big redesigns. Build, test, adjust, repeat.
▶Working FPGA demonstrationSystem architectureController state machine
School project 2025
VHDL Elevator Control System
A four-floor elevator controller written in VHDL and run on a DE10-Standard FPGA board.
Working with a partner, I built the top-level design, request scheduler, and seven-state controller. The finished system could queue one request per floor, keep serving floors in its current direction before turning around, and handle soft resets, hard resets, and an emergency stop.
Tools & skills
VHDLFPGAFinite State MachinesDigital LogicIntel Quartus
01 The challenge+
Keep the scheduler, controller, timers, physical inputs, and displays coordinated without losing a queued floor or leaving the elevator in the wrong state.
02 What I learned+
Breaking the system into smaller modules made complicated behaviour much easier to reason about and test. It was also satisfying to watch code turn into something I could control with real switches, buttons, and displays.
Installed on locationFitted compartments
3DLoading interactive model…
Coffee organizer — interactive 3D model
Commissioned project 2026
Custom Barware System
Custom organizers built after the off-the-shelf storage kept tipping over during service.
The organizers they had bought did not fit the cups and glassware properly, so they fell over several times a shift, made a mess, and looked rough behind the bar. I measured each station and container, designed fitted holders in Fusion, and refined the prototypes with staff feedback.
Tools & skills
Fusion 3603D PrintingProduct DesignClient Work
01 The challenge+
Replace unstable, poorly fitting storage without taking up more of the limited space behind the bar.
02 What I learned+
Watching the job being done was more useful than measuring the counter once and guessing.
A four-foot World Cup trophy centrepiece made for private events.
I split the shape into printable sections, assembled and filled the seams, then sanded, primed, and painted it. A lot of work went into making one very large gold object look like a single piece.
Break an organic shape into printable sections while keeping the finished structure rigid and the seams out of sight.
02 What I learned+
The fine details made the biggest difference. Filling and sanding the seams took more time than almost anything else, but that work is what made separate printed sections look like one finished piece.
Student dashboardParking tool
MY PARTBackendREST APIs · Prisma · Unit tests
Backend contribution
School project 2024
SFU HUB
A student-focused campus web app, built with a team to make everyday SFU information easier to find.
I worked mainly on the backend, building REST APIs, connecting data through Prisma, and writing tests while the team developed the rest of the app.
Tools & skills
TypeScriptREST APIsPrismaUnit TestingTeam Development
01 The challenge+
Keep several student tools behind one consistent, testable backend while working across a development team.
02 What I learned+
Clear API contracts made it much easier for everyone to work independently without breaking each other’s features.
Installed on locationHoneycomb construction
3DLoading interactive model…
Interactive 3D model
Commissioned project 2026
Service-Ready Can Holder
A fitted holder that keeps open cans organized and out of sight during service.
I designed it around the cans and the station where it would be used. It is a small part, but it keeps the bar cleaner and makes a repetitive task easier.
Tools & skills
CAD3D PrintingRapid IterationHuman-Centred Design
01 The challenge+
Keep the cans organized without making them harder to reach during service.
02 What I learned+
It took a few versions before the shape felt natural to use. Feedback from the bartenders mattered more than my first idea.
Hinged accessClean front view
3DLoading interactive model…
Interactive 3D model
Personal project 2026
Thermostat Cover
A hinged magnetic cover built because one tiny red screen insisted on lighting the entire room.
I modelled the enclosure to slide over the thermostat and block the display. A hinged panel keeps it accessible, and embedded magnets hold the cover closed.
Tools & skills
CAD3D PrintingHinged MechanismEnclosure Design
01 The challenge+
Block the light coming from the thermostat without reducing its functionality.
02 What I learned+
Different colours of the same material block light very differently. The first print made that clear.