me coaching biking at whistler!

Matt Goguen


B.A.Sc. in Computer Engineering

Noteworthy Projects


Click on a project to read more!


About Me


My name is Matt Goguen. I am a fourth year student at the University of British Columbia in Vancouver, Canada, studying Computer Engineering.

I am searching for full time opportunities starting January 2020. Click below to download a copy of my resume!


I am passionate, hardworking, and responsible. I strive for perfection in everything that I do, whether I'm coaching students in mountain biking, racing for the UBC Sailing Team, or building a piece of software or hardware! If you would like to know more about me, please check out my social media links in the contact section below, or arrange a meeting.

Contact Me


Please feel free to contact me via any of the following methods. My social media sites are linked at the bottom of this site, so feel free to check me out there as well!

Also, please note that I am a dual US-Canadian citizen, so I will not need any visa assistance for either country. I have addresses in both countries, and am looking for work in either!

If you would like, you can also contact me via the form below.


Designing a Microprocessor


In a computer architecture course, I had the opportunity to design my own microprocessor. I did so on the Altera De1-SoC FPGA board using Verilog and basic schematics for the building blocks of a microprocessor, such as the ALU, registers and datapath. In the end, I was even able to write ARM assembly to give basic commands to my processor!

Close Project

Building an FPGA iPod


Using my De1-SoC and QSys, a feature of Altera's Quartus logic design software, I rapidly designed and implemented a simple iPod. My iPod featured start, stop, fast forward, and reverse buttons. I could also change the sampling frequency of the audio to make some basic distortion effects. Only one song could be loaded into memory at a time, so it wasn't the most practical iPod ever, but it was a fun project nonetheless!

Close Project

Developing LiveWired

An iOS Speech Transcription App


With the help of some classmates, I developed LiveWired, an iOS audio transcription app. LiveWired is intended to be used in meetings in place of a notetaker. Using Apple's Siri voice recognition, the app transcribes speech and saves the transcriptions for easy viewing and markup later. LiveWired was my first app, and in the process of building it I learned a lot about Swift and XCode.

Close Project

Building a Hardware Accellerated VGA Driver and Touchscreen Control


While designing another app, dubbed EasyChef and intended to be a smart cookbook, I built a VGA driver and programmed a touchscreen to interface with my De1-SoC and serve as the app's display. The VGA driver was built in VHDL, and consisted of a finite state machine capable of draw commands for any line (using Bresenham's line drawing algorithm) or for any rectangle. Later, in software, I added to this driver to include support for drawing circles, shaded textboxes, and a full library of other interesting things. I then programmed a basic touchscreen to work with this graphics library I had created and run the EasyChef application.

Close Project

Porting EasyChef to Android


After building EasyChef on the De1-SoC and basic touchscreen, I wanted to speed the app up and add more interesting features, so I ported it to Android. Developing in Android was much faster and easier thanks to my experience with Java, though learning the Android platform took a little time. Eventually, with the addition of a web server and data scraping features, EasyChef had over 500 unique recipes taken from BBC GoodFood. The app also included Facebook Login and some interesting recipe filters.

Close Project

Creating a Custom Computer Vision Feature


The final piece of EasyChef consisted of adding a computer vision component. I wanted to be able to take pictures of cooking ingredients with an Android device and be able to filter all recipes based on whether or not they included that ingredient. To do this, I used Keras, a wrapper for Tensorflow, to build a custom layer on top of the ResNet50 model included in Keras. I built a lightweight Google Image search scraper to download large batches of traning images quickly, and then built a dataset of roughly 3000 images of six categories; tomato, orange, aspargus, raspberry, egg, and bell pepper. Eventually my model could recognize these categories with over 80% accuracy, which was sufficient for my prototype. Ideally this model would be extended to recognize any cooking ingredient, but I did not have the time or computing power to do such a thing!

Close Project