An interactive data visualization allowing users to compare songs of different artists based on audio features provided by Spotify. The visualization is made in D3.js, supported by a serverless API on AWS.


LivingSpace analyzes big publicly available datasets (crime, restaurants etc.), driving time, and your personal preferences to create a visual recommendation of where in Atlanta you should look for a home.

Visualizing Billionaires

An interactive data visualization of the world's 1000 richest billionaires as listed by Forbes in 2014. The visualization was made using D3.js and is based on the following study by Caroline Freund and Sarah Oliver

Demo View code

Pond strengthens social ties within physically proximate closed communities (e.g. Georgia Tech) by instantly connecting users to have lunch or coffee with random strangers within their community who happen to be available at the same time as them. Through structured user research and iterative design we validated some of our assumptions and made some key findings to guide our app design to one that will accurately address our problem.

Design Process

Signpost is an experimental social network designed to enhance the interaction of people with the real world around them. We are currently finalists in the Mercedes-Benz South Africa Innovation Challenge. I led interaction design and app development. Signpost is based on the concept of interactive ephemeral markers, called "signposts", that can be planted in the world. Users can interact with signposts in various ways to e.g. let their friends know they are on their way to a signpost (one of these planned interactions was the inspiration for Ubitune). Signpost can be used to advertise events or specials, to tell your friends you are down to go grab a beer later, or to see what bars your friends are hitting tonight.

Video Pitch

Ubitune uses background location tracking and the Spotify music preferences of people present in a public space (like a coffee shop) to automatically play music suited to everyone's tastes. Ubitune is currently a semi-finalist in 2019's InVenture Prize. Ubitune's prototype was developed as a group project for CS 7470: Mobile and Ubiquituous Computing at Georgia Tech alongside Patrick Friedrich, McKenzie Murphy, and Khushman Patel. I did most branding (logo and name), led mobile app development in React Native, and was very involved in interaction design and ideation. The app is now available on Google Play.

See More

I worked as one of the lead developers on ABALOBI: a mobile app suite and initiative aimed at social justice and poverty alleviation in the small-scale fisheries chain. Abalobi enables artisanal fishers to sell fish to restaurants without the middleman, along with a traceability system allowing consumers to track the story behind their fish back to the fisher who caught it. During my time on the project, ABALOBI was featured in multiple major South African newspapers as well as primetime national television news show, Carte Blanche. Tech stack: Angular, Node.js, Ionic, MongoDB

See More
Computer Vision class projects

While taking CS 6476 under Prof James Hays at Georgia Tech, I've had the opportunity to build several interesting computer vision projects as class assignments. This included: face detection, scene recognition, local feature matching, camera calibration, and image filtering. All projects were implemented in Python.

Java Swing debugging lens

This was a graduate semester project for CS 6456: Principles of User Interface Software, presented by Keith Edwards at Georgia Tech. My partner, Domino Weir, and I created a debugging lens: a transparent, moveable, resizeable object that reveals additional information on the UI beneath it. The lens can easily be added to any Java Swing project to help UI developers with debugging.

View code
Chess opening data visualization

This group project for Computer Science 334 (web development and databases) visualizes the popularity of different chess openings over a number of years with interactive visuals using D3.js. The backend uses PHP with a MySQL database

Light 'Em Up

A native DJ-crowd interaction app allowing the crowd to show what genre of music they want to hear next. I developed the Android version for erstwhile mobile app development startup Craftr Apps, which had roots in Stellenbosch and New York City. The client was Chicago based DJ pair Light 'Em Up

See more
Vires Unitatis

In my final year I was the editor-in-chief of Vires Unitatis, the year old student newspaper of Eendrag Men's Residence. I was responsible for managing editorial staff and layout. I also designed infographics


Fishnotebook is a native Android application allowing fishermen to log the specifics of their catches (such as bait used, water temperature etc) in detail along with a picture and location. The app can also generate statistics about the logged catches to help you better plan your future outings. I'm an avid fisherman myself and developed most of it years ago, while I was still a 16-year-old in high school, for personal use.

Galactic Gunners

Our course project for Computer Science (E) 214 (Object-Oriented Programming in Java) was to develop our own version of a Space Invader's style arcade game using Princeton University's Standard Libraries. The idea was to demonstrate our ability to create a program using object-oriented programming principles.

View code
Undergraduate capstone project

I spent the second semester of 2017 working on my undergraduate capstone project under the supervision of Prof Jaco Versfeld from Stellenbosch University's Digital Signal Processing Group. The project mixes digital signal processing and forward error correction concepts by investigating the construction of binary linear block codes with FIR and IIR filters. The largest minimum Hamming distances achievable by such codes were investigated for various short code lengths and dimensions. All algorithms were implemented in MATLAB.

See more View code
Variable linear DC power supply

I designed, built and tested a standalone low power variable linear DC power supply powered from mains voltage for a third year electronics design course. The rectifier, adjustable voltage regulator, and adjustable current limiter circuits had to be designed and built using operational amplifiers and basic circuit components only (no ready-made ICs were allowed for these purposes). The output voltage and current limit is controllable with analog knobs as well as with a custom-built Python GUI running on a PC that interfaces with the circuit via an Arduino. The circuit includes an LCD screen which displays the output voltage and a current reading.

See more
Vehicle data analyzer + Android logging app

For my first year introductory programming course project we had to implement a simple program in C which analyzes vehicle trip data. The data consists of vehicle coordinates with timestamps, recorded at evenly spaced time intervals. We had to determine information such as average speed, distance travelled, points of interest visited, and plot the route followed on a map. I made the project a bit more interesting for myself by building an Android app which uses your phone's GPS to automatically log data to a CSV file in the correct format for analysis by the program developed in C.