Jason Du

iOS developer, Snowboarder, Gamer

The majority of my work has been in Swift. I am also familiar with Objective-C and Java. Here is a list of my personal projects as well as projects I have done in Hackathons.


Smart Nutrition tracker with a personality

Nutrily was created at CalHacks and won IBM's API prize out of 53 teams. Nutrily allows users (primarily children or parents of children) to track what they eat each meal, whether through scanning a barcode or taking a picture of their meal. The app keeps track of how much of each food group (fruits, protein, dairy, etc.) the user has eaten that day, and a dynamic message box displays suggestions according to these statistics, scrolling through several generated messages each time. Users can also choose "characters," which affect the theme and tone of these messages. By eating healthy, users gain points and advance levels. Nutrily essentially turns what’s often seen as the chore of healthy eating and tracking into a fun, interactive game.


Feat the family

Incentivized healthy living for kids

Feat the family is an iOS app created at Foodhackathon in 24 hours. The problem that we were trying to solve is how to teach parents and children healthy living. We solved this by giving kids tasks to do to earn points. From the points that they have gathered, they are able to redeem them for cool prizes. One of the tasks kids are asked to complete is to log foods that they have eaten. We used Clarifai's visual recognition API in order to seamlessly identify and log the food. I accessed the USDA national nutrient database and presented the nutritional information in a fun way so kids understand what they are eating. By analyzing the past foods that kids have eaten, we can provide tasks such as create a meal with custom recipes with Spoonacular's API.



Revolutionizing the way dining should be

Eats is an iOS app that I developed in 24 hours at Money 20/20. Eats creates quality interaction between diners and servers, significantly increasing customer satisfaction. This drives growth of valuable repeat visits. Eats optimizes ordering by helping diners know what’s great. It showcases menu-item photos to reduce ordering uncertainty risk, displays pertinent health-related info and ensures orders get transmitted correctly to the kitchen. The Eats app alerts the server whenever the diner needs attention, helping eliminate stress and frustration with service issues. Leveraging Ingenico mPOS card readers, EATS streamlines check-out experience with more accurate and timely settlement, further increasing diner satisfaction.

Hackathon.io Github

Picture for a Change

Add stickers on pictures for a cause

Picture for a change is an iOS app that I soely developed from the ground up for NHacks. My app won Best use of Clarifai's API and I received a DSLR camera and skateboard. NHacks' theme of sharing is extremely important to me and I was inspired by one of the biggest Apps, Snapchat which allows users to add "stickers". I was also inspired by Facebook and their filters during Gay Pride and Paris Attacks. Unfortunately, there was no good way to pick and choose which filters you wanted to share, which is why I developed Picture for a Change. Picture for a Change allows users to take and share pictures and add a filter or sticker for a cause that they support. I have a wide selection of stickers for the user to choose from including charities, politics, and world wide events. I used Clarifai's API to analyze the picture to display relevant stickers related to the picture. Pictures of the people using this app can be found here.

Devpost Github

Sepr - Real Estate Prices

Find sold prices of homes in Ontario

Sepr is an iOS app that I soely developed and published to the App Store. Sepr displays home information for homes in Ontario in a beautiful layout. It currently has over 2000 downloads in only two months of its release. This was one of my biggest projects and I learnt a lot of fundamental concepts in swift through building this App. I used Google Maps API to search for a location. I worked with core data to save the location of homes. I also designed the UI/UX of the app so that the app looks and feels amazing. The challenge I faced while creating this app was that there were too many markers to display. I researched and tried many different clustering APIs and found that FBAnnotationClusteringSwift worked best. I also implemented a filter to search for homes with certain attributes.

App Store


Visual recognition of fish species

Mazu is an iOS app that I made during Fishackathon Toronto 2016 and received second place overall. It is an iOS app that recognizes fish species using IBM Bluemix visual recognition. The user is able to see all their catches in the form of a graph. The user is able to sync up all the data that was collected and push it to our Firebase database. We trained the visual recognition API using 50 positive pictures of a species and 50 negative pictures of visually similar fish in order to create an accurate classifier. Mazu is able to detect invasive species and sends a warning to inform users to not release it. The challenge we struggled with was to integrate the visual recognition custom classifiers with my iOS app. I solved this by using Alamofire and made a post request to their Api.

Devpost Github


Discover top rated restaurants based on past weather history

WeatherEats is an iOS app that I made during Yackathon 2016 hosted by Yelp. It is an iOS app that displays all the top-rated restaurants in the area based on a weather filter chosen by users. I used a python script to obtain past weather history for every day from 2005-2016 and found the average weather (Clear ,Cloudy ,Rainy, Snowy) everyday. I then extracted all the 4 and 5 star reviews, and mapped the reviews to the weather history. I created a new data set by mapping every business with the weather that showed up the most in the reviews and visualized it in the app. I used custom annotations and apple's built in MkMapView to display the data. The challenge I faced was that it was very difficult to merge the weather data with yelp's data set because the filesize was way to big. We solved this by reading in the file line by line in a python script.

Devpost Github

Ultimate TicTacToe Ten

Play the ultimate game of Tic-Tac-Toe

Ultimate TicTacToe Ten is an iOS app that I made when I first started learning Swift. It is also my first App that I submited to the App Store and it has received over 1000 downloads to date. I was inspired to make this game after reading this post. Ultimate Tictactoe is a game of Tictactoe where you have to win three games of Tictactoe in a row. You can only play in the big square corresponding to where your opponent played in the small squre. When you are sent to a field that is already decided, you can choose anywhere to play. I designed the layout in Photoshop and implemented autolayout so that the UI looks nice on all platforms. I used a collection of buttons for the board to determine where the user clicks. I implemented the logic in the game by enabling and disabling the buttons to specify where the user can click.

App Store Github

The Personality Test - 16 Emotional Types

Find out your personality Type

The personality test is an iOS quiz app that determines your personality based on the multiple choice questions. I created this app to learn about animation and asthetics. I animated the background of the app to switch between two gradients. I also animated the circular progress label so that it rotates depending on how far the user progresses in the quiz. I finally animated the questions to fly in when the user is going to the next page. I had difficulty with creating questions for the quiz and how to rank the user's selection to figure out what personality type they are. I solved this by doing a lot of research regarding personality types and I created a ranking system based on the user's selection.

App Store

Police Count

Data about Police Killings

Police Count is an iOS project that I worked on in my free time. Police Count keeps track of police killings in the States. I created this app because I keep hearing about shootings going on in the states and I want others to realize what is happening. I used The Guardian's data from their project The Counted and a third party API to fetch the data. I learnt how to create and animate beautiful graphs while making this app. The challenge I faced was that I wanted to plot all the killings on a map. The data provided is only in addresses and not coordinates. I attempted to geocode the addresses but Apple only allows one geocoding per minute. I realize that the only way it will work is if I geocode the addresses myself beforehand and push it onto a database. I have since moved onto another project so anyone is free to take on the project.


One Word

Discover new pictures from one word

One Word is an iOS app made during ConUHacks 2016. I led a team of three to create and build a fully functioning social media app for photographers. The idea of this app is to send one word to everyone everyday. They must take a picture related to the word and users can vote on the best picture. We believe that this will help connect photographers and bring out the creative side to everyone. Users are able to see a collection of the best pictures for each word taken on the homepage. We used Parse for registration and secure logins. We also used Clarifai's Api to score the picture based on relevancy. Clarifai's Api sends us tags related the picture which we match with the word of the day. While building this app, I learnt how to use UICollectionViews to display the images in a grid.

Devpost Github


Safe Driving, No Sleepy Driving

Safe.ly is an Android app made during Wearhacks Montreal 2015. Safe.ly connects to a Muse headset and is used by a drive to analyzes their brain waves. Safe.ly sends notifications whenever the user starts to fall asleep. We used Muse's API to analyze head movement and brain waves that was detected from the Muse headband. We then send notifications at the optimal time to alert the driver. We placed top 8 overall and received the best hack on the Muse. As a result we received a free Muse Headset to hack on. BCI Montreal wrote an article about this hackathon where our app was featured which you can find here.

Hackathon.io Github


Social media app for meeting strangers

WeLink is an iOS App made during Hack the North 2015. I led a team of four to design and create this app in 48 hours. The purpose of this app is to connect people with others around them. Users provide their interest and hobbies when they sign up, creating an online public profile that other WeLink users will see. Users are able to message and send selfies to each other and will gain points based on how "happy" they were. I used Cocoa Pods to integrate Facebook's API for secure logins. I used Indico's REST API to analyze the emotions of the selfies taken.

Devpost Github

Latex My Notes

Turn pictures into latex

Latex My Notes is an iOS app made during MHacks 2015. The idea for this app was to be able to transform written notes into Latex PDFs. The difficulties that we faced was that there was no OCR Api that was capable to lift text off of hand written notes. The best Api that we found and implemented is Tesseract. I implemented the camera functionality of the app, as well as sending the pictures taken to our server. Our server was hosted on Firebase where we lifted the text off the picture and processed them into Latex PDF documents.

Devpost Github


Replace all pictures with Loblaw-related pictures

Loblawfy is a Chrome extension made during Loblaw's hackathon. I had no prior experience with Javascript so building this extension helped me understand Javascript. Loblawfy replaces all images with pictures related to Loblaws. It also replaces key words such as 'Walmart', or 'Sobeys' with 'Loblaws'. It also changes any link that points to Walmart, with a link that goes to the homepage of Loblaws. Finally, a beautiful animated background of Loblaws runs in the background. This chrome extension is for the truly dedicated Loblaws employee, who wishes to show their love and dedication of Loblaws in their browser.