Welcome To My Website!

Richard Dang

Computer Engineering @ University of Waterloo

About Me


My name is Richard and I am pursing a degree in Computer Engineering at the University of Waterloo. I love all things computer related and am always searching for new things to learn!


When I'm not at school or work, I'm always working hard to pursue my passions. I am an avid fan of Android and love customizing my smartphone. Outside of technology, I enjoy road cycling cross country distances with friends.

GEO Semiconductor Inc.

My first co-op term was at GEO Semiconductor Inc. I worked with the following technologies:

  • Languages: Python and C
  • Tools: SVN, JIRA, TestLink and Crucible
  • Hardware: Engineering Boards and Camera Sensors


My second co-op term was at Flipp. I worked with the following technologies:

  • Languages: Ruby, Python, SQL
  • Tools: Git, JIRA, Testrail and Jenkins


My most recent co-op term was at Hubdoc. I am currently learning and working with the following technologies:

  • Languages: Javascript and SQL
  • Tools: Node.js, Backbone.js, Nightmare.js and Postgres


Atom Leetcode

Atom Leetcode is an atom package that gives programmers the ability to code Leetcode problems straight from their text editors. Users have the option to select the difficulty of the problem and the language they wish to code in or search for a specific question. In addition, certain test cases will automatically be populated for testing purposes and community contributed solutions for each problem are available.

Alexa Buddy

Alexa Buddy is an Amazon Echo app that allows the user to browse Reddit using vocal recognition software. It uses the Reddit API in order to access subreddits posts. Users can ask Alexa Buddy to read them post titles and it will filter out negative posts using the Indico sentiment analysis API. Users may ask Alexa Buddy to read these negative posts if they choose to do so. Hackathon project won "Best Hack Against Online Harassment".

Step Tracker

Step Tracker is an Android app made to act as both a pedometer and compass. It keeps track of the number of steps taken and the direction heading of the user. The pedometer was implemented using a finite state machine and sensor event handlers. In addition, there is the option to reset and enter step length depending on the user. The app also provides a visual graph of the XYZ axes and a map of a room in which the app was designed to traverse without crossing walls.


Tetristry is a Chemistry themed game which introduces students to the basics of chemical compound nomenclature. Pieces representing elements of the periodic table are dropped at random. The dropping pieces can be moved left and right. The goal of the game is to clear as many pieces as possible before the timer runs out. If the pieces exceed the game board height, the player loses. This game contains full Java documentation in addition to class and activity diagrams in UML.

Address Book

Address Book is a database program which allows users to create, open, and save address books. Users may modify records by adding, updating, or deleting them. Each record consists of four entry fields: first name, last name, email and phone number. They can also traverse between records and view saved entries. Correctly entered names and phone numbers will automatically be formatted by the program accordingly.


Boggle is a game in which the player lists as many words that contain three letters or more by using an assortment of letters found in a 4x4 grid. Words can only be formed from adjoining letters, either vertically, horizontally or diagonally. No single letter can be used more than once to make a word. The game also keeps track of player highscores.


Hangman is a game in which a random computer related word is generated and the player must enter letters before guessing the word. The player has limited number of guesses and for every incorrect guess, a body part is added to the "Hangman". Once the "Hangman" is completed and the player has not yet guessed the correct word, they lose. There are two levels included and hints are included in the easier level.

Intelligent Car

The Intelligent Car is a vehicle that is able to traverse a maze using an Arduino board along with a gearbox, motors, a light dependent resistor and an H-bridge integrated circuit chip. The maze is a set of black lines on a white surface so the LDR can be utilized in order to direct the vehicle by reading the amount of light reflected off the surface of the maze. The H-bridge is used in order to control the direction of the motors.

Traffic Lights

The traffic light system model mimics a real T-intersection. The components implemented include a servo motor acting as a gate, a traffic light system with pedestrian cross light, and streetlights. The gate uses IR sensors to detect motion, the cross light is triggered by a button that changes the timing of the traffic lights and the streetlights turn on and off using and LDR to check the brightness of the surrounding environment.












Android Studio


Contact Me

Questions? Concerns? Leave me a message and I'll get back to you as soon as I can!