2018 Software Engineering Capstone Design Projects

LIDAR INTENSITY CALIBRATION METHOD

Team Beamspam

James Cagalawan, Neil Jewers, Fred Wei

Many autonomous vehicle projects, including the University of Waterloo WAVELab, use lidar sensors for autonomous vehicle perception. A single lidar unit contains multiple laser emitter/receiver pairs (“beams”) at increasing angles which are rotated to scan multiple circular regions around the sensor. Lidar sensors measure distance and intensity information, where intensity is correlated with the reflectivity of the reflecting surface. Due to manufacturing differences, different lidar units and different beams in the same unit may measure different intensity values on the same surface. This makes comparing intensity readings captured by different beams problematic, potentially impacting object detection and simultaneous localization and mapping operations using lidar. To solve this discrepancy, we have developed intensity calibration software which makes these intensity readings more consistent.

Our intensity calibration approach solves this problem by comparing the measured intensity of each observation to the intensities of all other observations from the other beams of the same lidar unit within a certain radius. The output is a set of calibrated intensity lookup tables for each beam. Our approach does not require an expensive testing surface to determine a “ground truth” reading to calibrate against.

Additionally, our approach will be released as open source software, where other calibration methods are proprietary.

OBJECT TRACKING AND PREDICTION FOR WATONOMOUS

Team Drive Force

Jude Tillekeratne, Shrenil Patel, Chuyang Qi, Tianyi Li, Yunrong Guo, Weizhe Di

Autonomous vehicles have been one of the top areas of interests amongst researchers and technology hubs around the world. The University of Waterloo’s WATonomous team was selected as one of eight teams to compete as part of the AutoDrive Challenge organized by the Society of Automotive Engineers (SAE). The DriveForce team is working closely with the WATonomous Prediction team to construct a robust platform that allows for accurate tracking and prediction of common road objects.

The goal of our project is to be able to keep track of each individual object that the system detects, such as vehicles, pedestrians, and stop signs. We would like to keep a unique ID of each tracked object, while maintaining the same ID throughout each frame in time when the same object has been identified. We can analyze the tracked motions of each object and generate predicted locations of these objects for future frames.

The tracking algorithm that our team has implemented resembles an ensemble learning technique in Machine Learning. We utilized the idea of boosting numerous “weak” algorithms that do not perform well on its own, but performs extremely well when combined together. Our tracking algorithm takes into account many factors, including regions of intersection, centre positions of objects, direction of travel, and matching of a prediction feedback system. We are also able to generate predictions of each tracked object, up to at least 30 frames into the future, using our prediction model. Furthermore, our prediction model also utilizes Bayesian Networks to predict pedestrian behaviours and generate responses when we detect if a pedestrian is about to cross an intersection.

Our team has integrated our project into the WATonomous team’s software stack using the ROS (Robot Operating System) framework. We hope that our project can act as a good starting point for future team members on the WATonomous team working towards the competition challenges in the next two years.

DATA EXTRACTION AND PROCESSING PIPELINE

Team Embark

Paul Ashbourne, Marcus Sjolin

We are working to create the data extraction, processing and storage pipeline for Embark Trucks’ data needs. As a self-driving truck company, Embark is required to collect, store and process tens of thousands of gigabytes of data. This data must then be accessible to engineers in a timely manner in order to perform tasks such as labelling data, training neural networks and debugging on-road issues. Having fast and efficient access to all of our data is critical to Embark’s success. Furthermore, this data pipeline must be secure and extensible to handle more functionality as the team and data size grows. Team Embark’s goal is to fulfill all of Embark’s data needs.

WATONOMOUS — LANE DETECTION

Team SSD

Jerry Jiang, Ted Ying, Vera Lin, Seth Rubin

In 2017, the Society of Automotive Engineers announced the AutoDrive challenge, a 3 year competition where undergraduates seek to develop and demonstrate a full autonomous vehicle. The University of Waterloo will be participating in AutoDrive via WATonomous, a new student design team with over 100 current members. In April 2018, WATonomous will be competing against teams from 7 other universities in Yuma, Arizona in the 3 first-year challenges: stop sign obedience, obstacle avoidance, and lane keeping.

Team SSD aims to help WATonomous build a lane detection solution capable of completing the first year challenges in April 2018. While there are many existing lane detection projects, WATonomous requires one that will meet the performance limits of the competition hardware while retaining enough accuracy to return reliable results.

We have implemented a machine learning–based solution that segments camera images of the road into lane boundaries and road markings. During the competition, our segmentation results will be processed by the path planning system as they decide the driving path. We expect to meet the performance and accuracy requirements for the year 1 competition, and hope that our system will be a good base for the year 2 challenges.

3D VEHICLE DETECTION FOR SELF-DRIVING CARS

Team Rocket

Adrian Kovacevic, Difei Zhang, Haven Szostak, Kevin Xiao, Oscar Zhao, Weilong Wu

Self-driving cars use a variety of cameras and sensors to identify the location of objects like cars, pedestrians, and signs. This information is used to make smart and safe driving decisions. Team Rocket built on an existing algorithm from the Waterloo Autonomous Vehicles Laboratory (WAVELab) that the combines information from a left-mounted and right-mounted camera to get an accurate estimate of the location of surrounding objects in 3D space. The existing algorithm works by generating 2D object detection results and combining those with depth estimates. We improved the accuracy of the algorithm mainly by refining the procedure of combining 2D detection and depth estimates, as well as by introducing tracking to detected objects. We tested the accuracy of our algorithm on the popular KITTI 3D object detection dataset. By improving the object detection algorithm, we hope to contribute to making WAVELab’s autonomous vehicle eventually road-safe.

PATH PLANNING SYSTEM FOR WATONOMOUS

Team $PATH

Evan DeVrieze, Jacob Greenan, Dhruv Lal, Matthew Lapointe, Navin Mahabir, Sam Maier, Shiranka Miskin

Driver error accounts for approximately 94% of automobile crashes. With sufficiently robust software, we can reduce damage and fatalities by eliminating the human fallibility. In pursuit of this goal, eight universities in North America are competing in the SAE AutoDrive challenge: a 3 year competition consisting of yearly challenges with increasingly realistic driving scenarios. The goal of the competition is to reach Level 4 autonomy, as defined by SAE, by the end of the third year. We joined WATonomous, the team uWaterloo for this challenge, during its first year. The year one competition takes place on April 30, 2018 and the objectives consist of navigating a straight road with stop signs, a curved road, and a multi-lane road with obstacles.

Within the larger WATonomous organization, we are members of the path planning team. Given a map of the surrounding environment, we make legal traffic decisions, plan short-term trajectories to execute these decisions, and provide inputs to the vehicle actuation system such that it follows our path. All of the software for WATonomous is contained in Robot Operating System (ROS) components, or “nodes,” of which our system spans three: one for traffic behaviour, one for trajectory planning, and one for feedback control.

In the traffic behaviour node, we ingest the local map generated by a combination of sensors to determine our next goal while obeying traffic rules. This is accomplished using a state machine model of the rules of the road. In the trajectory planning node, we determine a viable path to reach the goal provided by the traffic behaviour node. This is done by searching the space of possible paths, as well as potential speeds. We select a trajectory that conforms to a number of constraints imposed by the competition rules, and vehicle limitations. In the feedback control node, we use a controller to point the wheels to an upcoming target on the trajectory, and use a second controller to meet the specified speeds on the trajectory. This interfaces with the embedded controls which perform the actuation on the car.

We believe that we have created a path planning framework that will meet not only the challenges of the first year of the AutoDrive competition, but also the increasingly complex demands of the second and third year competitions.

A CENTRALIZED CARPOOLING PLATFORM

Team Pool

Akash Sant, Jobair Hassan, Aditya Sridhar, Parsa Alipour, Surudh Bhutani

There has been an enormous demand for improved transportation options between the Kitchener-Waterloo area and the GTA. The Kitchener GO line carries nearly 21,000 people per day, and that number is continually growing. Discussions have taken place on having bi-directional train service, the mayors of Toronto and KW have held joint press conferences, and the Waterloo Regional Government has written official letters out to the provincial government for improved transit services. Unfortunately, these discussions focus mainly on business and commuter travels, instead of on student transportation, despite the fact that there are over 60,000 postsecondary students in the Kitchener-Waterloo region. Students are a unique segment of this demand as students’ schedules are completely different than business and commuter travels. Therefore, solutions customized to student schedules are necessary.

Pool looks to build a solution customized to the KW student market through the use of carpooling. Aside from being faster than public transit and being better for the environment than single occupant cars, a carpooling solution allows students to travel to and from KW and the GTA on times convenient for them. Students only pay the driver for the marginal costs of each trip, making each trip cheaper than public transit. Ultimately, Pool’s goal is to provide a better, cheaper, and faster means of transportation for the students of KW, since existing solutions in this area are lacking.

Pool’s goal is to provide a mobile application that is a centralized hub for carpooling. Pool allows users to offer rides as a driver and search rides as a passenger. It is a single platform that distinguishes between users as riders and drivers based on their in-app actions. It also allows riders and drivers to go through a pool of users that are currently offering ride. Drivers can then invite riders to their trip or the riders can request to join a trip that they are interested in. Furthermore, since Pool values the security and well-being of our users, Pool is built with an in app rating system that allows riders and drivers to provide feedback based on their trip experience. Moreover, trips are invite based: drivers must invite riders to their trip, and vice versa. This ensures that riders and drivers only carpool with users they trust. With our team of five developers, we are focused on improving the user experience and making trip creation and carpooling more accessible to the world around us.

IEXAMINE: INTERACTIVE MEDICAL TEACHING APP

Team Cardio

Sherwin Aminpour, Pushpak Kumar, Emma Thomson, Yusi Zeng

Physical exam skills among medical trainees and young physicians have eroded over the past few decades leading to an over reliance on imaging and laboratory testing to make clinical diagnoses for conditions, such as Congestive Heart Failure (CHF). Currently, most physical exam education comes from written instructions in textbooks and occasional interactions with real patients during clinical clerkships. On the other hand, online training is quickly emerging as a lucrative mode of medical education, a market poised to reach US$38.4 billion by 2024.

We are collaborating with Dr. Anubodh Varshney (MD), an internal medicine resident and his team at Brigham and Women’s Hospital in Boston, affiliated with Harvard Medical School to develop a mobile app that allows users to: (i) Visualize physical exam findings and maneuvers relevant to CHF (ii) Understand the predictive values of various cardiovascular parameters that affect the physical exam findings (iii) Assess their knowledge of physical exam findings.

Taking a mobile first approach brings several challenges. Android is notorious for varying screen sizes, so properly structuring complex XML layouts and dynamically generating reusable XML views adds significant technical complexity, in addition to the need for sophisticated data persistence utility, like AWS - Simple Storage Service (S3) with custom security configurations.

For our chosen domain, there is no digital solution that addresses all the objectives identified above. Our app will be a one-stop-shop that allows users to visualize pertinent physical exam findings, understand their utility in predicting various pathologies, and assess their knowledge of these in an interactive manner to aid the learning process.

Dr. Varshney has been conducting focus groups with medical students at Harvard that have been providing us with great feedback on desired features, and possible improvements. The final version of the app will be available to students in April to use and we are hoping to see how they feel about not just the content integrated in the app but also the UI/UX of the app.

CHEMOTRACKER

Team Innovare

Janice Patricia, Jessica Hanta, Lakshini Sivasothy, Mustaqeem Khowaja, Oluwaseun Makinde

According to the the Canadian Cancer Statistics, in 2017, it is projected that 206,200 Canadians will develop cancer, and 80,800 will die of the disease. Every cancer patients go through chemotherapy to cure, control, and ease cancer symptoms. There are some side-effects of undergoing chemotherapy, such as vomit, diarrhea, nausea, and other symptoms. Typically, patients cannot accurately describe all the symptoms they experience since their last visit with their physician.

Currently, there are no applications available to help patients track and manage symptoms nor to connect them to healthcare team. Together with our partner, FocusOnCare, from School of Pharmacy at the University of Waterloo, we created ChemoTracker. ChemoTracker aims to solve this by providing patients the means to track symptoms daily, which will enable them to better manage side-effects. Moreover, ChemoTracker will not only facilitate patient-provider communication, but also help educate patients on topics related to cancer and its side-effects.

ChemoTracker is designed with the goal to maximize usability across all user groups. The design involves an understanding of human-computer interfaces, computer security, and software algorithms.

SHORE CENTRE AUTOMATED REFERRALS

Team Lighthouse

Jeff Gulbronson, Emily Walls, Iman Kazerani

Access to abortion is a fundamental part of women’s reproductive health. Although Canadian law reflects this [1], there is still a great deal of stigma and shame around the topic, making it more difficult for women and girls seeking abortions to receive the care they need. One barrier is simply the challenge of calling up a clinic and having to speak to another person about an unwanted pregnancy.

The SHORE Centre primarily serves the 19- to 24-year old demographic, providing information on reproductive health, and referrals for abortions and other procedures. SHORE is available by phone, to allow clients to speak with doctors and other professionals, and get updated, accurate information. However, as mentioned, discussing an unwanted pregnancy with a stranger is difficult. To help, SHORE implemented a basic web form to handle some basic questions, and saw a significant rise in contacts. SHORE reached out to us to create a more robust system to allow clients to get the answers they need, while providing a more comfortable form of communication.

We have created a framework that allows users to easily contact the SHORE Centre by whichever contact method they find most comfortable, provide the information needed for a referral, and get that referral automatically in a safe, secure, and private manner. The information can also be easily updatable by the SHORE Centre to provide the most current information, and referrals, to those in need. The system is always online, unlike the people working at SHORE. One survey discovered that people aged 18 to 29 prefer texting much more than phone calls [2]. As a result, we provide a number of other interfaces to complement the web-form: namely text messaging, Facebook Messenger, and email. The same information is displayed in each method, so users can just choose whichever is most comfortable and accessible to them at the time.

INTEGRATION OF PROTOCOL BUILDER, HUB, AND SANA MOBILE

Team Sana

David Su, Giliam Francis Meeussen, Jiazhou Li, Xi Jie

Sana is a non-profit organization that aims to improve the quality of health care in third world countries. They create and use open-source technologies to accomplish this mission. In third-world countries and crisis zones, there is a lack of qualified health care professionals. To alleviate this issue, the Sana Protocol Builder allows doctors worldwide to create “protocols”, which are standard medical procedures that can be used to diagnose and treat patients by trained community health workers who may not have a formal medical education. Doctors can share the protocols they create with other doctors through the Protocol Hub for feedback and distribution to mobile clients. Community health workers are the end-users of the Sana Mobile app. They receive the updated protocols and apply them on patients on the ground.

Previously, the Protocol Builder, Protocol Hub, and Sana Mobile are disjoint components. The only way to share and distribute the protocols is to download it as an XML from the Protocol Builder and bundle it in a new version of the Sana Mobile app, then redistribute the app APK. The new integrated solution allows doctors to be able to create a new protocol in the Protocol Builder, upload it to the Protocol Hub, and from there push it to mobile devices over-the-air. To connect the three components together, we will enable communication between the Protocol Builder and the Protocol Hub via an API, and leverage Google’s Firebase Cloud Messaging to distribute the protocols from the Protocol Hub to mobile devices. A key technical challenge is ensuring that the messages are reliably received by mobile clients, especially in areas with spotty internet connectivity, which is often the case in disaster zones and third world countries. Having the Protocol Builder, Protocol Hub and Sana Mobile interconnected will allow for faster revision and distribution of protocols, and improve the usability and usefulness of the platform as a whole. We expect Sana to review our integration of the Protocol Builder, Protocol Hub, and mobile app. We expect to deploy our integrated solution into production, and receive feedback on the new version from Sana doctors who have used the previous, unintegrated products on a regular basis.

MOBILIZED CONSTRUCTION

Team MCOG

Michael Ahn, Jack Song, Ryan O’Leary, Sally Yang Jing Ou

In many parts of Africa, road infrastructure is often poorly maintained or non-existent. Road projects are overlooked by governments due to their unattractive costs that tend to increase as these projects progress. To compound the issue, there is insufficient data to indicate which roads are in dire need of repair as well as a lack of affordable means to gather this crucial information. Residents of local communities have a need for improved infrastructure but lack the resources and funding to construct their own solutions.

We partnered with Mobilized Construction, an organization dedicated towards solving transportation and infrastructure maintenance in Africa using technology. Mobilized Construction arranges road project contracts from governments to employ local villagers and fund the building of roads for these communities. We have developed an offline-first Android application that allows local villagers to manage and report contract progress to Mobilized Construction. An online dashboard allows Mobilized Construction to oversee their projects and interactively input new road contracts.

Our solution has been deployed to build two road projects in Kenya and has partnered with over 20 local residents. We have empowered communities to improve their infrastructure and be connected to crucial funding from organizations and municipalities. By facilitating the creation and maintenance of roads in Africa, we hope to pave the way for future economic growth and community development.

BEE TRACKING APP

Team Blueprint

Luisa San Martin, John Salaveria, Dinah Shi

With bumble bee populations declining across Canada, environmental non-profit Friends of the Earth Canada created an annual initiative called The Great Canadian Bumble Bee Count. It encourages Canadians to get out of the house, contribute to citizen science, and learn how they can do their part in making the ecosystem more friendly for bees.

Our capstone project is a joint effort with Friends of the Earth Canada to create a mobile app supporting the Great Canadian Bumble Bee Count. With hobbyists as our primary user target, the app enables users to capture bee sightings in the wild and upload information such as weather, habitat type, etc. The bee sighting data is shared with Bumble Bee Watch, an organization with collaborators across North America. The collaborators include scientists who analyze the submissions to learn about migration patterns and make informed decisions about preserving the bee populations in local areas. The mobile app also teaches users how to get involved through an interactive collection of educational tips on how to create a sustainable environment for bees in their own backyards. This project is done in collaboration with UW Blueprint, a student non-profit organization that strives to make technology accessible and useful for those who create communities and promote public welfare.

EPOCH: AN EMPLOYEE VOLUNTEERING PLATFORM

Team HAKS

Hanumanth Kumar, Ayush Bhagat, Kaivalya Gandhi, Sahil Jain

Currently, nonprofits face challenges consistently enlisting volunteers from the community, especially people not in the youth or elderly demographic. The existing process of giving back involves multiple steps, potentially taking weeks between submitting an application to actually volunteering. Furthermore, companies across industries recognize the value of mobilizing talent to engage in social impact and community initiatives in order to stay relevant and be sustainable. Working professionals also prefer sharing skills and time alongside people with similar ambitions and interests to make impact in their local communities.

Our project involved collaborating with EPOCH — a social enterprise based out of Communitech — to develop a custom platform to solve these challenges. EPOCH’s mission is to unlock purpose in the modern workplace by connecting and engaging like-minded talent through social impact opportunities. We were able to leverage insights from the co-founders who were previously active volunteers in Kitchener-Waterloo and had worked with refugee aid organizations in Europe and North America throughout 2017.

The platform connects employees with curated, local volunteering opportunities in partnership with nonprofits who manage volunteer openings across various areas. Small groups of employees across partner companies are algorithmically matched together, following which automated reminders are delivered through chatbot and email integrations. Users who have been matched with events can confirm their attendance, view other attendees, and invite other users.

To roll-out the software platform, EPOCH is working out pilot partnerships with 3 local companies to test our solution with their employees. The pilots are projected to positively impact over 8 local nonprofits and organizations from Kitchener-Waterloo and the Greater Toronto Area in 2018.

NEVER BEFORE SEEN

Team BlindGame

Connor Bossy, Changqi Du, Chris DeVisser, Cole Vander Veen

The visually impaired are underrepresented in the video game market because video games primarily communicate information visually. While non-visual games do exist, their quality is insufficient to draw the visually impaired into the world of gaming. Our project seeks to change this by developing a fun and sophisticated game that can be played by both visually impaired and sighted players.

Our design approach is to create an audio-based puzzle platforming game where the player can determine their position using echolocation. The player shoots a “beam” of sound, which bounces off an object and shows how far away the object is. This game is developed in Unity, and we integrated it with an external level design tool to speed up development and iterate more quickly.

The main advantage of our game over other games for the visually impaired (in addition to deeper mechanics and more enjoyable gameplay) is our rigorous user testing. By observing how users react to the environment, we tuned our application to provide a better experience for all players. Every user has offered a unique perspective and valuable feedback.

To assess how well the objectives have been accomplished, we will look at the number of downloads of the game by both sighted users and visually impaired users. Our user feedback is also an important metric for success.

LEAGUE OF LEGENDS SELF-IMPROVEMENT TOOL

Team Timewinder

Jameson Yu, Peter Li, Kelvin Jiang

Timewinder is a website focused on game analysis and player improvement for the pc game League of Legends. With the rise of e-sports and in particular League of Legends, more and more players are joining the game. Our goal is to improve the skill level of league of legends players and tailor our analysis for individual players. To achieve our goal, the website is separated into three main screens: dashboard, pregame and postgame. In pregame we aim to provide users with items recommendation and potential play styles for the game. In postgame we focus on analyzing player performance in a match such as the mistakes that they made and areas that they excelled in. Lastly, the dashboard screen is where players can see their past histories as well as various performance indicators such as their win/loss percentage and their ranks within the game. While there exist several League of Legends websites, our website has several features that are not seen in other websites. These features include item recommendation in pregame, player performance comparisons and better user experience.

SWARM AI PROGRAMMING GAME

Team Codebees

Jason Lam, Ernest Ho, Dweep Shah, William Ma, Zal Machado, Chenyi Jin

Codebees is a programming game based on swarm intelligence. It helps students at a variety of skill levels learn about programming and artificial intelligence. Users program and submit bots that will automatically play against other bots in a friendly and competitive ladder-based environment. They are then able to track their progress, view some game replays, and improve their bots’ techniques.

The goal of the game is to control numerous bees to collect as much pollen as possible, while using that pollen to spawn more bees and hives. The bot will have to control every single bee optimally in order for it to surpass other bots in performance. Also, bees are able to attack hives and other bees, so proper offence and defence is necessary in order to excel up the leaderboards.

While there are multiple swarm intelligence games that already exist, each one has a different set of challenges. Codebees is designed such that building a basic bot is extremely simple, as well as improving that bot up to a point where most users will be satisfied with. However, the game also has a very high skill cap so that more experienced individuals are still interested in developing their bots further. Therefore, the game attracts beginners who are interested about artificial intelligence, while also attracting veterans who discover new swarm intelligence strategies.

PROCEDURALLY GENERATED ARCADE RUNNER FOR MOBILE

Team Chicken

David Fu, Hamdan Javeed, Seikun Kambashi, Jessica Wu

Mobile games have experienced rapid growth in the past decade. In 2016, mobile gaming accounted for 29% of the $101.1B games market cap, and continues to be the fastest growing segment. It is expected that by 2020, mobile gaming will account for more than half of the total games market. More than 500 new games are released everyday on the iOS App Store alone, however mobile games have yet to establish a positive reputation as a sophisticated game platform due to a lack refined game mechanics.

Chickenland is a mobile endless arcade runner built with the Unity game engine, and uses procedural level generation to provide players with an engaging, action-focused gameplay that offers significant replay value. Players are also given randomized choices for upgrades that allow them to shape the mechanics and outcomes in each play-through to their preference.

Chickenland uses procedural generation to produce endless arrangements of obstacles that are parameterized to scale with difficulty as the player navigates further into the game. This offers a high amount of replayable content that is focused on actively engaging the player, rather than a static game that may become repetitive.

PROFESSIONAL CONNECTION WEBSITE FOR ALUMNI + STUDENTS

Team Sece

Jake Si, Ernest Wong, Peter Chu, Darren Cao

University of Waterloo is both unique and successful for its coop program. Students look for jobs every term, and often lower years seek the advice of upper years and alumni who have been through the process many times for resume critique, mock interviews, and referrals. In addition, upper years are often willing to help and give back to the school community. Our app is a platform exclusive to Waterloo that brings these two groups within the university together.

Since every uWaterloo student has an associated email address that persists with them even after graduating, this email becomes their identifying username and verification. Once they verify their email, we use secure HMAC-SHA256 hash-based tokens with every request to ensure proper authentication. With the authentication and security taken care of, there is still a lot of difficulty with our app in managing the relationships between a number of entities, including current students, alumni, companies, and more. Furthermore, the matching logic of current students to past alumni based on what each is looking for and offering is an important algorithm that determines how successful our app will be.

Our app is unique on the market in a number ways, but the defining feature is that it is only open to users with a valid uwaterloo email address, similar to other successful apps in the past like Flow. This closed community is important compared to a much larger, open competitor like LinkedIn because it creates a more intimate and personal environment for current students and past alumni, which fosters greater willigness to help each other on the platform. This allows us to target our app experience towards a well-defined demographic, and offer them features most relevant to them and their unique Waterloo recruiting process. Furthermore, because our app is open only towards current and past University of Waterloo students, it will be more receptive for alumni who wish to give back to the school in some way. All of these characteristics give it a unique niche that separates it from any competitor on the market.

SHARE-N-TELL

Team Dibbs

Jerry Liu, Jason Loo, Leslie Diane Reyes, Ellen Wang, Julie Xue, David Zhang

At the current rate of waste going into Toronto’s landfill, it is estimated to be filled within 15 years. However, up to 65% of the material processed in landfills could be diverted from disposal if we are consciously aware of our consumption. The Sharing Depot is a non-profit organization with the goal of minimizing our carbon footprint by challenging our perspective of ownership and economics. It is Canada’s first “Library of Things”, with an active local community of people who can access a wide variety of tools and resources without needing to manage their storage. Sharing items means less resources mined, manufactured, shipped, packaged and landfilled.

Share-n-Tell is a mobile application launched in partnership with The Sharing Depot. The motivation behind Share-n-Tell is to encourage existing users of The Sharing Depot to share their creation stories using the resources that they borrowed. It provides a centralized experience for learning about the legacies of all the tools. Users can explore profiles of all tools and users to see their historical contributions to innovative and interesting projects to gain inspiration. Share-n-Tell’s main differentiator compared to mainstream social media platforms is the tailored experience it offers to users who share the same value and interests for resource-sharing.

MACRO CHROME EXTENSION

Team Macro

Andy Zhang, Chris Luc, Calvin Nhieu

Keyboard shortcuts allow computer-savvy web users to be more productive while browsing the web. The problem is most websites don’t support keyboard shortcuts or they’re difficult to discover. Macro is a Chrome Extension (CE) that provides a platform for web users to create and distribute keyboard shortcuts for their favorite websites. Similar alternatives such as Shortcuts for Google (100K users) and Reddit Enhancement Suite (2.5 million users) are popular, but are solutions specific to a single domain. Macro addresses this by enabling developers to write their own shortcuts for any website and distribute them via Macro’s crowdsourced plugin repository. Some challenges included weighing the tradeoffs between dynamically loading Javascript shortcuts vs compiling and loading it directly into the CE. Another challenges was designing a generic platform and API that allows developers to easily leverage Macro in Javascript.

PERSONALIZED WEB MONITORING

Team Piqio

Ajanthan Hariharan, Anagha Rajeev, Owen Chen, Philip Duncan, Wasiur Rahman

Websites present new and updated information on a second by second basis. It can be very difficult to take advantage of this information without a proper monitoring platform.

We aim to provide a tool to monitor all websites easily.

Piqio is our solution. It is an all-in-one tool to allow users to track and get notifications about changes to websites.

Our system accomplishes this by allowing users to easily pick content they want to track via a chrome extension and follow changes to that content on an online dashboard. Piqio sends email alerts to user when the monitored elements change.

Existing alternatives are fragmented and specific to different use cases. We’ve created a generalized web monitoring tool for multiple use cases. One use case is to track the price of iPhone X on Amazon so the users will be alerted when the items go below a certain price. Another use case is to track when concert tickets becomes available on ticketmaster.

GROUP MEETING SCHEDULER

Team Tempus

Hicham Abou-Jaoude, Shrey Khosla, Soheil Koushan, Hasya Shah, Gabriel Wong

All teams, whether academic or professional, need some way of choosing a time to meet. This is often a time consuming task, especially with larger groups. The inefficiency arises from the back-and-forth required between group members to agree on a time. There are solutions for enterprises with central calendar systems, but the market for users who each have their own calendar system is underserved. Our goal is to simplify and streamline the process of finding a meeting time for groups outside the context of enterprise.

Our approach differs from their typical time-block based approach in which the organizer selects a set of possible meeting times and participants select the blocks they can attend. Instead, we ask participants to share their availabilities for a given date range. Our product then suggests the best possible meeting times given everyone’s availabilities, taking into consideration constraints such as blackout times and the length of the meeting. Our product also integrates with various calendar systems, allowing users to have their availabilities pre-filled. Based on user experience research, this approach requires fewer steps to set up, provides more flexibility when answering the poll, and is faster to fill out.

The market for such a product is large. Doodle, the leading group scheduling platform which uses the older time-block based approach, has over 25 million monthly users. We will measure our success in terms of the number of polls created, number of users reached, the number of meetings scheduled through our service, as well as the median time spent creating and answering a poll.

PROGRAMMING LEARNING AID FOR THE HIGH SCHOOL CLASSROOM

Team Testifi

Joshua Chorlton, Matthew Du, Richard Wong

High school computer science teachers across the GTA spend considerable amounts of time grading and correcting assignments, some of which can be graded automatically.

The objective of this project is to provide an automated programming assignment grading system that is accessible to both teachers and students with limited technical expertise.

Our design provides a platform for teachers to compose programming questions and for students to submit solutions against those questions. The platform grades students based on teacher-provided test cases and provides hints where students have problems.

One design challenge involves running user-submitted programs in a safe and correct manner. Another design challenge is about making the platform friendly for non-technical users.

The main benefit of Testifi over existing code-grading platforms is its relatively low cost and ease of use.

As of early January 2018, the platform has been deployed to production for a pilot with a CS class at Thornhill Secondary School.

TANDEM: DECENTRALIZED, CROSS-PLATFORM EDITING

Team Lightly

Geoffrey Yu, Sameer Chitley and Jamiboy Mohammad

Tandem is an add-on for your favorite text editor that enables collaborative editing. Tandem makes use of popular editors’ existing plugin infrastructures to add this feature. Tandem works across multiple platforms and editors. In addition, the system is decentralized so data is not sent through a third party server. We currently support Neovim and Sublime Text 3 and Tandem is built to be extendible to other plain-text editors as well.

Collaborative tools are already available for rich text documents and spreadsheets. But when wanting to collaborate on code, developers don’t have as many choices. Some collaborative editors work in the browser, but these don’t allow developers to use their own custom set up in their favorite native editor. Additionally, these alternatives often relay changes through a central server, which is not desirable when working on sensitive intellectual property. Other existing peer-to-peer solutions such as Atom’s Teletype require all participants to use the same editor.

Tandem addresses all of these concerns by plugging into a variety of native text editors, giving participants the ability to use the editor they are most familiar with. Tandem connects participants together directly instead of having to relay edits through a central server to keep users’ data private. We hope this reduces friction when typing in tandem!

FOREST LIBRARY

Team Aloha

Ahmad Naved Abdul Hakim, Adam Pan, Andy Tu, Salman Syed

University of Calgary psychologist Piers Steel, PhD, has shown in the 2007 study, that about 80% to 95% of college students experience some form of procrastination during their studies, particularly around the exam times (Psychological Bulletin, Vol. 133, No. 1). There are a lot of existing software applications that attempt to help them focus by making it easier to avoid destruction — by blocking destructing sources (blockers) or helping measure the productive time (focus apps). However all these applications fail to recognize the root of the problem. Timothy Pychyl, professor at Carlton University in Ottawa, says that most psychologists see procrastination as a kind of avoidance behavior, a coping mechanism gone awry in which people “give in to feel good.” What students truly need is the study approach that does not feel as a “chore” but rather fun and exciting. Forest, unlike other focus apps, is designed to gamify the process of studying by allowing the user to manage and grow a virtual world of cute animals using the only available currency — productive time.

MAPPING UNDERGROUND RIVERS

Team Rivers

Daniel Joseph, Jeremy Francispillai

Cities are typically built near large bodies of water, such as Lake Ontario, the Saint Lawrence River, or the Atlantic Ocean. Large bodies of water are fed by smaller streams. As cities grow, they want to build where those little streams are. But you cannot just remove the stream: water is coming from somewhere, and it needs to continue on its way. So you cover it up and build over it.

People are discovering the environmental and civic benefits of uncovering these streams, which is called daylighting them. For example, these streams can better handle storm overflows when uncovered, which helps protect cities from big storms, which are increasing in frequency and intensity due to global warming.

Professor Luna Khirfan, from the University of Waterloo School of Planning, has been collecting data on underground urban rivers as part of a long-term research project that is just getting started. We are working together with Professor Luna and students from UW School of Urban Planning to create both a database that will contain all of the research on the different underground river projects as well as an interactive website that will display all of the information from the database. This database is intended to become the premier global resource for data on underground urban rivers.

A WEB-BASED APPLICATION FOR MANAGING STOCK PORTFOLIOS

Team Konstnar

Marko Nerandzic, Ramanpreet Nara, Maaz Ali, Ben Morris

The university of waterloo financial association is a student run club that aims to educate other students on topics related to financial investing. Due to their role as a university club with the purpose of education, some of their events they have planned require specialized software. So we’ve created a tool that integrates into their stock picking competition so as to help educate their students in investing concepts and give them some experience with using financial technology (FINTECH). This tool allows competitors to easily view their portfolio, how they are doing in the competition, and the portfolios of other students. Additionally, students are able to make comments on their portfolio to explain why they longed or shorted certain stocks. Hence, this tool allows students to learn and educate their peers and create a community for students interested in pursuing finance as a career or as a hobby.

GPU KERNEL OPTIMIZATION

Team Gom

Andrew Zhou, Clement Hoang, David Dong, Jason Fang, Tony Lu, Zuqi Li

Rearranging memory accesses is a common method for optimizing GPU kernels. Examples include coalescing memory read/writes, aligning memory accesses and caching data. However, there is no one-size-fits-all approach to finding the optimal memory access pattern. The GPU programmer must have a solid understanding of both the hardware and the application of the kernel in order to write performant code.

In particular, it can be challenging to optimize the memory accesses of kernels which operate on two-dimensional data. Since two-dimensional array constructs are not supported natively in GPU kernels, programmers must encode their data into one-dimensional arrays. Ideally, programmers would have access to abstractions that optimize the physical mappings of these arrays based on their usage and the hardware. There is limited research that investigates the implications of various two-dimensional array encodings for the purpose of improving GPU performance. This is particularly the case for two-dimensional arrays with variable row lengths.

We explored different encoding methods and analyzed their effect on kernel timings for a variety of different GPUs. The results were used to design a DSL library which determines the optimal memory layout for a given kernel. This library integrates with CLTune, an open source library for optimizing GPU kernels.

INNOVATIVE CREATIVE WRITING

Team Novel

Balaji Sankaranarayanan, Josh Kergan, Leslie Ying, Patrick Perrier, William Charles Addison

Creative writing currently has a lack of useful tools to help with writing and structuring novels. In general people have the option of using Microsoft Word or one of few expensive creative writing text editors.

We have built a text editor for novelists to write in a clean, simple, distraction free environment. To differentiate ourselves, we have pursued exploratory Natural Language Processing (NLP) analysis to assist in the creative writing process. Our NLP system has features that include autocompletion of words and detects information surrounding entities in the narrative to allow the author a quick refresh of their mental model between sessions. This allows for the elimination or reduction of required story notes. Instead we extract information from the story itself, and display this data to the author in a helpful and unobtrusive way. In combination with the clean interface we believe that this is a new useful tool for creative writers.

This tool was designed to be used by hobbyists or professional creative writers. As such we expect a variety of use times, anywhere from 5-30 hours per week, depending on the user.

DOMAIN-SPECIFIC QUESTION ANSWERING MACHINE

Team WATBrain

Haolin Huang, Junji Zhang, Cong Gu, Shengqiao Zhao, Jiaming Liu, Hanyu Zhang, Chen Lang

Question answering system has been a popular research topic for decades, research in the area has resulted in many critical frameworks and tools. The recent study that performs queries over a specific domain has favored an ontology approach for query evaluation. The goal of our team is to research domain-specific question answering machine, and we built a prototype of an answering machine using public knowledge from the University of Waterloo. Apache foundation has open-sourced a Resource Description Framework(RDF). We took different approaches and used various heuristics to build an end-to-end question answering system with real-life University of Waterloo data. We evaluated the performance and accuracy, and a novel architecture that can integrate third-party APIs into RDF knowledge graph. However, we encountered a bottleneck during entity extraction in our natural language understanding module. We used Conditional Random Field(CRF), which is a classical statistical modeling method in pattern recognition to improve context analysis of natural language. To further enhance the accuracy of our question answering machine, we also investigated a new approach that uses internal feedback as a reward to a reinforcement learning model.

GENERATE ANIME CHARACTERS WITH A.I.

Team Tinge

Ye Li, Yuang Guo, Zhaoyang Wang, Xi Chen

Have you ever wanted to draw a custom anime character but don’t have the artistic skills to do so? You’re not alone, there are countless writers and creators with great character concepts but do not have the drawing skills to make them come to life. Unfortunately, it takes tremendous effort to become skilled at drawing, and not everyone may have the time or talent to do it. Tinge is a project that aims to bridge this gap between creativity and artistic ability by allowing people to bring their custom characters into existence without drawing skills.

Ever since Generative Adversarial Networks (GAN) were discovered, they have been applied to the problem of generating original facial images based on a set of images such that human observers cannot differentiate between a generated facial image and a real image. The Tinge team has utilized this new technology and implemented its own GAN model specialized for anime facial images. This model is trained on a consistent and wholesome imageset and used to generate high-quality, authentic anime faces. To assist creatives with designing anime characters, Tinge exposes a set of input parameters to allow users to customize their anime character’s appearance. A successful generation would deliver one or more character models for a given set of parameters, such that at least one looks convincing enough to the human eye.

CREATE AND VIEW VR TOURS

Team TourShare

Dustin Woo, Kim Usi, Raman Sarvaria, Sofia Kim, Young Jin Kim

Every 4 months, students who chose not to sign a lease will have to look for housing for the school term. These students choose to sublet for 4-8 months rather than leasing for a year so that they can save money. Finding a place to sublet is a very informal process; ideally to have a perfect representation of where they would be living, they would have to visit the place. Viewing only pictures, people will have to create a mental model to depict what a property looks like. This mental model is often incomplete, necessitating a house viewing, if possible, to facilitate the final steps of decision making.

TourShare aims to enable users to make better decisions regarding their subletting or visiting a property/venue. Users will have a better mental model of the space after being immersed in VR.

TourShare offers an immersive experience that is not offered by other products designed to assist housing needs. By leveraging the modern rise and affordability of virtual reality tech, we are able to bring the house viewing to the user directly. This differs from existing mediums where the user would typically have to schedule a viewing themselves. The main advantage of TourShare over existing VR housing alternatives is that it is simple to use and can be used by anyone with a smartphone. It is easy to create a tour since it only involves taking panoramas. Users can choose to view the tours using either their phone for the VR experience or the web for simplicity.