SE Capstone Abstracts

Audiogen: An Audiobook Generator with Dynamic Voices
Team Audiogen

[Audio]

Dylan Snelgrove, Russell Chan, Hannah Zhu, Kyle Anderson, Patrick Davies [TA: Frederic]

Audiobooks are often preferred as a convenient alternative to textual books. They do not require the listeners to provide their full attention; furthermore, audiobooks allow listeners to enjoy a novel completely hands-free.

However, with over 48.5 million books on Amazon but only 200,000 audiobooks on Audible , less than 1% of books have an Audiobook format.

With the current market, listeners who would like an audiobook format of their favourite books can only wait for a publisher to create one.

The objective of the Audiogen project is to bring books to life by synthesizing audio narration and dialogue in which each character has a unique voice.

The Audiogen system parses a textual book, assigns a unique voice to each character within the textual book based on learned attributes of the character (such as gender), and produces an audiobook representation of the textual book where each character’s pieces of dialogue are spoken in the voice assigned to that character.

In addition to who spoke each piece of dialogue, the system also identifies how they spoke it—the attributes of the dialogue—for example, emotion.

In addition, the Audiogen system is a platform for registered users—publishers, authors and the like—to promote their work as audiobooks. Registered users are tracked via accounts. Registered users may upload audiobooks—either generated by the Audiogen system or from other sources—to promote their work. Then other users (registered users or unregistered users) may search the platform for audiobooks and listen to them through the Audiogen system. The Audiogen system also suggests audiobooks that the user may enjoy based on the user’s past listening history. Once users decide on a book to listen to, they can stream their audiobook of choice or download it to be enjoyed offline.

Accurate identification of characters and their attributes in the textual book being processed is an important component of the system. Current state-of-the-art machine learning systems specializing in natural language processing, such as the CoreNLP library authored at Stanford University and large language models like GPT-4, are well suited to the task, and can process a textual book in batches of textual book segments.

Another important component of this project is the task of generating natural-sounding audio narration and dialogue based on the information parsed from the textual book. Several text-to-speech services (such as Azure, AWS, IBM Cloud) exist and could be leveraged to partially solve this task.

With respect to the audiobook hosting and discovery platform, a simple web app should suffice.

While there are many text-to-speech, screen reader, and narrator products in existence, none bring books to life by synthesizing audio narration and dialogue in which each character has a unique voice. These alternatives do not speak dialogue is a voice matching the character speaking and do not adjust the synthesized speech to dialogue attributes such as emotion. This project’s scope is larger than simply converting text to natural speech, as alternatives do, as it also focuses on identifying who speaks a piece of dialogue how a piece of dialogue is spoken to generate more natural-sounding audio narration and dialogue.

There are other audiobook platforms such as Audible, but because our system generates audiobooks without the need for expensive human voice actors, the cost to make audiobooks is less. The cost savings is passed on to the listener, which means that listeners can access high quality audiobooks at a fraction of the cost.

As a measure of success, we will compute the accuracy of speaker identification against the quoteli3 dataset which has quote attributions for each line of dialogue in Pride and Prejudice, Emma, and The Steppe. As for the audio portion, success can be measured qualitatively. We can conduct a survey that asks listeners for feedback on how "good" (smooth, accurate, engaging) the audiobooks are.

We will measure the success of the audiobook hosting and discovery platform by the number of users, the number of audiobooks downloaded, and the number of books uploaded.

Reverse-Engineering Synthesizer Values
Team Micro Music

Timmy Thorpe, Eli Williams, Elliott Song, Peter Szczeszynski [TA: Owen Zila]

Reverse engineering sounds is a manual and tedious process for music enthusiasts. This involves guessing synthesizer parameters until it sounds similar to the target sound. However, developing this skill takes years of effort.

We’re proposing a new product to help with sound design and music composition. The program will be used to generate synthesizer configuration files from existing audio snippets for reuse or modification.

Our solution will use a machine learning model to replicate the input .wav file inside an existing software synthesizer (Vital). The output will be a synthesizer preset file, that when loaded into Vital will generate a similar sound to the input audio file. If successful, the preset will sound very similar to the supplied audio and can be used (or modified) in new songs by music producers.

The main technical challenge of our project is the development of this machine learning model. Furthermore, our model will require sufficient samples to train against along with some custom error ’function’ to be able to determine the accuracy of its predictions.

There are few existing solutions for this, most relying on the user to choose the “type” of sound to create as opposed to providing a sample of the specific sound they want to create. In addition, our solution will generate large amounts of training data, allowing it to reconstruct more complex sounds than existing audio-based solutions. It will generate presets for an existing software synthesizer such as Vital (a free and widely used open source synthesizer) as opposed to generating sounds itself. This means that users can modify the generated preset later on to better suit their needs.

Our future project will be able to predict the synthesizer parameters used to generate a variety of different sounds. Our model will be able to predict the parameters used in a random sample of sounds with a loss percentage in training of 5% or less. This low training loss will build a generalized model that can be used to evaluate on unique and untrained sounds, which can be leveraged in a variety of applications.

Invasive plant species detection with AI
Team ATARRA

[Image_Analysis]

Ryan Dancy, Taya Davison, Amir Roshankar, Aariana Singh, Alex Van De Wiele, Raymond Zhou [TA: Owen Zila]

Our project is an invasive plant species identifier which leverages AI to find probable areas of infestation from aerial satellite photos. In particular, we will begin by focusing on phragmites, a major invasive species in bogs and wetlands throughout Ontario. Invasive plants are a massive threat to biodiversity, and a very difficult problem for conservationists to solve. Phragmites, in particular, is Ontario’s worst invasive species, and outcompete native wetlands plants, depriving frogs and turtles of their vital habitat [1]. Using technology to identify populations of phragmites will help conservationists save time and focus their efforts on high-priority areas.

The project will use aerial images, specifically from satellites, to identify and map areas where phragmites is likely to be. In doing so, we hope to reduce the amount of time required by conservationists to physically map out potential areas of concern, which is a highly labour-intensive process. We will create an artificial intelligence tool to automatically identify regions of likely phragmites infestation, along with a web application for viewing the results and extracting insights. Users will be able to upload satellite images to our web application, and they will receive an overlay of their image with probable phragmites locations and certainty scores as an output. Our application will also automatically retrieve and process satellite images from specified regions, including ecologically sensitive areas in Ontario, and display the results on varying geographic scales to the user.

At present, there are no commercially available software products focused on the detection of phragmites or of invasive species as a whole. There are several research groups with similar projects around other invasive species, and one project centred around the identification of phragmites using drones [2]. The most common solution for invasive species identification at present is “Ground Truthing,” where landowners and park rangers trek over properties to check whether or not the invasive species is present. Our goal is to supply an easy to use, effective system for conservationists to find out where invasive species are likely to be in an easy and methodical way, so ground truthing can be more targeted and less frequent.

We will communicate directly with a small group of beta testers throughout the project lifecycle to determine the effectiveness and usefulness of the project. We are currently communicating with an environmental organization to secure a research and data sharing agreement. On a wider scale, we will leverage user surveys to determine customer satisfaction and the accuracy of our reports. We will divide our data into training and testing splits, allowing us to evaluate the accuracy of our AI model after training and before releasing it to the user. This will help us predict its performance on unseen data. To measure the accuracy of our machine learning model during development, we will use the intersection over union metric, which is commonly used in image segmentation problems like ours [3]. We will also gather statistics once the tool is deployed on how much additional phragmites was identified and removed due to saved time.

[1] https://www.natureconservancy.ca/en/where-we-work/ontario/our-work/stewardship/fighting-phragmites.html [2] https://cbc.ca/news/canada/montreal/drone-ai-invasive-species-iles-de-boucherville-1.6715500 [3] https://www.scitepress.org/Papers/2019/73475/73475.pdf

Novel Illustrations
Team Pixel

Alex Yee, Jack Douglas, Kevin Yang, Marco Liu, Yameen Abba [TA: Anurag]

Creating graphic novels has a huge barrier to entry. Finding an illustrator, designing the style, and creating the illustrations is a time-consuming and costly process that can result in a slow release or total abandonment of the project. This is highlighted by the difference in sales from printed novels compared to graphic novels; in 2021, nearly 810 million copies of print books were sold, whereas 95 million copies of comics and graphic novels were sold. However, since the pandemic, graphic novel sales have grown by 110% which indicates a growing interest in this format. Novel Illustrations aims to lower this barrier to entry and accelerate the graphic novel creation process for both authors and readers. Novel Illustrations will also serve as a marketplace for the buying and publishing of graphic novels created with the platform.

The goal is to create a software system that can generate a graphic novel for any printed fiction. The product can be used by authors and/or readers. Users will upload a PDF or text file to the system. The system will allow users to customize the style and contents of the illustration with user-guided prompts. The system will enable the feasibility of creating graphic novels and accelerate the process for creating them. The output of the system is a PDF containing the graphic novel.

A plausible design approach is to first parse the story for the characters as well as divide the story into panel sized segments. Next, we will use pre-trained models such as Midjourney and OpenAI to generate images based on story writing. To allow customizability, an interface will be provided for users to specify, if any, general story attributes to generate from, and to edit their generated character descriptions, and panel contents. The main advantage of our design over major alternatives is the ability to generate images for pre-existing novels. Existing alternatives such as Comics Maker and Neural Canvas instead prompts the user to create a new story based on a set of parameters. In addition, their prompts are quite small in comparison to the length of the typical stories that our product would take in.

We expect our system to be able to take in text input, and output the corresponding graphical version. We expect the characters and other entities unique to the story to appear consistent throughout the graphic novel. We also expect our program to be efficient, and to be able to finish creating the graphic novel within a reasonable amount of time. For testing and benchmarking, we will use “The Three Little Pigs” for short stories, “Lamb to the Slaughter” for medium sized stories, and “The Great Gatsby” for longer novels.

An Intelligent Code Review Tool
Team Narratives

[SE_Tools]

Robert Craig, Ryan Ehrlich, Harris Luo, Samuel Orend [TA: Aditya]

Code review is a critical step for catching bugs and maintaining code quality in most multi-person software projects. Before any code is added to or changed in a shared codebase, the proposed modification needs to be reviewed and approved by a developer who isn’t the one who originally authored it. This process greatly reduces the probability of regressions making their way into the codebase, in addition to introducing a second opinion to help with optimizations and style issues that may have been missed by the original author.

Developers have access to a huge variety of powerful IDEs, extensions, and tooling that they can leverage in their workflows to help write good code quickly. For reviewing code, however, very few analogous tools exist. Current platforms for code review, such as the GitHub and GitLab web UIs, present reviewers with a single description blurb written by the original author, followed by before-and-after snippets for each file changed. These snippets are presented in an arbitrary, unintelligent order predetermined by the platform (e.g. alphabetical by file name). As a result, code review becomes a tedious and time-consuming process of scrolling back-and-forth between files as the reviewer tries to understand the complete consequences of a code change and how it affects the rest of the codebase. This gives way to a typical trend of developers being unmotivated to give deep and thorough reviews, hurting both productivity and code quality.

We aim to fill this gap in the software engineering workflow with our project, Narratives: an advanced technology that allows developers to tell a story about their code changes. Its main goal is to enable authors to convey the implications of their code changes in a way that is easier for reviewers to digest. Narratives will take the form of a graphical web app that layers on top of existing version control platforms. Authors will be able to customize the order in which code snippets are presented to the reviewer, or even separate unrelated snippets that happen to occur in the same file. They will also be able to annotate changes and organize them into logical sections so reviewers are presented with a clear, meaningful walkthrough of the code, as opposed to a sequence of loosely correlated file diffs. Narratives will also leverage semantic code analysis and machine learning to automate some of the code organization and annotation work for the author.

At the end of the day, Narratives should help reviewers think critically about a code change to catch bugs and suggest improvements with little extra cost to the original author.

To assess the effectiveness of Narratives in solving the aforementioned problems with code review, we will perform studies with selected software engineering teams by integrating Narratives into their workflows. Candidate teams include other FYDP groups in SE 490 and related courses, as well as student design teams and student-run organizations such as UW Blueprint. To measure improvements in the code review process, we will conduct surveys in which testers can provide feedback on the user experience, on the time spent reviewing code with Narratives versus without, and on the correctness of committed code after being reviewed with the support of Narratives. These feedback cycles will be performed regularly to address developers’ concerns in an iterative manner, with the aim of maximizing value-add and optimizing the user experience. We endeavour to develop Narratives into an advanced technology that industry professionals would be eager to integrate into their code review workflows.

A Tool for Designing, Choreographing, and Sharing Immersive 3D Presentations
Team Spacewalk

[Graphics]

Ibraheem Aboulnaga, Vaenthan Jeevarajah, Cole MacPhail, Olivia Misasi, Janakitti Ratana-Rueangsri, Anthony Wang [TA: Zhenyang]

While presentation software options are plentiful for 2D visual effects, the availability of effective tools to create presentations in 3D space is sparse. We are developing a product that combines the impact of 3D VFX videos with the ease of use of presentation software. This product will provide an easy way for users to bridge the gap between interactive models and repeatable, guided presentations. For example, architects might use this product to create an interactive presentation and walkthrough of a building design. Similarly, a teacher might use it to create a presentation of a 3D model of a cell with text annotations in 3D space.

Our objective is to develop an intuitive web application to allow users to create presentations in 3D space with interpolated camera motion, providing an immersive viewing experience. By providing an application that will emphasize ease of use and boast an extensive feature set, we hope to give any user the ability to create these presentations. The tool will allow users to customize the space, set camera position key-frames, and select different cubic-bezier curves, defining the camera’s path and velocity for each "slide" transition. These presentations will have the ability to be shared among users through various export options.

Current competing solutions either lack the depth or simplicity of our ideal product. JigSpace, an AR 3D model presentation application, is only able to create basic animations of 3D models in an AR environment, while lacking other presentation functionality. Autodesk Maya is a 3D model and animation application, but targets VFX/animation industry professionals. Our product lands somewhere in between, with the ability to create detailed 3D presentations, without the complexity required for a professional-grade modelling tool.

We intend to use presentation views as our primary success metric and aim to have over 1000 presentation views. This will be a sufficient indicator that our product is intuitive and interesting enough for users to create presentations that are actually being presented. Based on our user study, there appears to be significant interest in such a product. It received 59 responses from a mix of students, educators, and creative professionals, with 80% of respondents indicating that they would use the product. This implies that our success criteria is reasonable, and that view count is a reasonable metric to determine success.

Mira Screenshare: High Performance Screensharing and Remote Collaboration
Team Mira

Harry Yu, Mark Wang, Alison Zhang [TA: Anurag]

The pandemic has shifted a lot of workplaces and university labs to be remote. With remote jobs and studies, the problem arises that it is difficult for people to work efficiently with their teammates for collaborative work such as remote lab, pair programming and problem diagnosis. Our project is designed to make remote collaboration more efficient by allowing remote control during screen sharing in meetings. This mimics the situation in real life where programmers can ask their coworkers to come to their desks and do pair programming.

Our project is designed for those who wish to work on the same problem remotely. It would enable remote control during screen sharing and make the meetings more efficient and productive. The use cases include pair programming, gaming, and all other kinds of remote collaboration.

We envision the high level architecture of our tool, Mira, to consist of three parts, namely the sharer client, the viewer client, and the signalling server. The sharer client will be responsible for capturing and streaming the screen directly to the viewer through a P2P connection. Moreover, the viewer can dispatch input (e.g. keyboard, mouse events) to the sharer to achieve control of the sharer’s operating system. The signalling server is reponsible for peer discovery and initial connection negotiations. In order to be competitive, the non-functional goals will ideally include achieving low latency (<140ms), high framerate (>60 frames per second) and high resolution (>=4K) for the screen sharing and control.

There are several competing products in this field so far. Tuple offers low-latency and high-resolution screen sharing and remote control. However, it is a pricey solution targeted for business users, and also supports only macOS. Zoom supports screen sharing and remote control but it has very high latency and the resolution is very limited. By contrast, our solution will be open-source, be low-latency and high-resolution, and will provide both a free self-hosted version for power users and managed options for inexperienced users.

The success of the project will be evaluated by its popularity, level of user engagement and satisfaction, which can be measured by the daily average number of users who start or join a session and the session durations, as well as the users’ feedback, which can be recorded through an optional rating form prompted when the session ends.

S4DGE: Some 4 Dimensional Game Engine
Team Epsilon

[Games]

Luke Klassen, Royi Luo, Sunny Lan, Richard Sun, Boon Boonsiri [TA: Kamyar]

Modeling and understanding higher spatial dimensions has captured mathematical interest and fascinated the imagination for almost 2 centuries. Something about the human brain’s inability to conceptualize shapes and spaces in higher spatial dimensions makes the study of the shapes even more interesting. Capturing the fun of 4D in games has occasionally been performed, as in 4D chess, 4D toys, or 4D golf for example. There is incredible opportunity for gameplay which allows players to explore and use a 4th spatial dimension and potentially visualization opportunities for more scientific interests.

At the core of our project, we believe there is fun and fascination to be found in playing in 4 dimensions. Team Epsilon’s goal is to make a game in unity which uses and builds upon our 4D unity extension from SE390 in which interacting with a 4th spatial dimension is a core gameplay component. In part this will involve continuing development on the S4DGE (Some 4D Game Engine) in parallel to support the requirements of our game. Team Epsilon’s goal is to make an open-source plugin for Unity which allows game developers to build games with a 4th spatial dimension as a core gameplay component. In this milestone, we will build a new, more powerful iteration of our previous Unity library produced in SE390, S4DGE, that will be able to render any 4D shape, rather than just 4D hyperprisms with limited rotation.

Ease of use for unity developers using S4DGE is especially difficult in this project. Our game plugin will have to cooperate with many of Unity’s existing features, and provide developers with easy ways to test and create their 4D ideas. The plugin should allow any developer familiar with Unity to develop and experiment with games in 4D by placing our 4D renderer script on a camera, adding our 4D shapes or converting their own meshes into 4D, and positioning game objects with our 4D transforms.

For this we take 4D Toys as our competitor, for which a research paper was published in SIGGRAPH 2020 for their rigidbody physics system. As an advanced technology, S4DGE uses technically advanced processes to enable real time rendering from 4 dimensions, and also fills a new niche, as no known open source 4D rendering is available for a game engine. Our project could implement these advanced ideas and make them accessible to all unity developers, and our success could also be measured in users on the unity extension page. To demonstrate the capabilities of the engine, a demo game could be developed and feedback from gameplay tests could be another measure of success.

Flying Triangles
Team Doxing Is Bad Manners

protopipe [TA: Owen Zila]

Fantastic Contraption is a Flash game from 2008 based on 2D physics. The player sets up an initial configuration in the build area, then lets the physics simulation play out. If the goal object gets into the goal area, the level is considered to be solved. Perfectly reproducible simulations was the key feature of this game. It allows players to make small adjustments (‘tweaks’) to a design and see the effects, and for players to share designs with their friends so everyone can run the simulation on their own machine and enjoy the show. Unfortunately, due to various floating point issues, it did not quite succeed with this key feature, and simulations may run differently on different machines. This is the largest pain point of the game and the biggest complaint from players, even in 2023 – worse than Flash player performance limitations and bad server security.

With permission from the developers of FC, I am making a game which is effectively a sequel and replacement for FC. Since I cannot use the FC name, I am calling it Flying Triangles. My #1 foundational promise is for the simulations to be perfectly reproducible, as FC was meant to be. My general goal is for FT to supercede FC, such that there is no reason to play FC anymore, and all existing FC players can safely migrate to FT. FT must cover all (necessary) FC client features, be backwards-compatible with the old FC servers, and also have online functionality with the new FT servers which I will run myself. I hope that by releasing this modernized version of FC for free, I can reignite interest in the game and bring this fun and educational game to more people.

Between-release preview builds were shared with the FC community for testing. The public beta release including all core features was released 4 months in, around 2023-09. The stable v1 release occurred 10 months in, around 2024-03. I refused to collect metrics, as I firmly believe in privacy. Nonetheless, I was able to produce sufficiently detailed statistics from publicly visible data – that is, the accounts that players have created and all the content they have uploaded to the FT servers. Less absolute data was also inferred from third-party content, including independent streamers playing the game and community-run events.

Make reality your playground
Team Pursuit

Het Shah, Maahir Gupta, Josh Cheng, Danny Wu [TA: Max]

Pursuit is a hide & seek mobile web application with geolocation to meet peers and get physically active in their surrounding environments. By leveraging location tracking technology, Pursuit allows users to create or join game sessions based on their current location. Participants can set the boundaries of the playing area, defining the area where the game will take place. This feature enables individuals to connect with like-minded peers nearby, fostering social interaction and the formation of new friendships.

Geolocation can be used for players to find hiding players in real time, where hiding players will occasionally release a “ping” that places a marker on a map to denote where the player is hiding. This adds an additional layer of excitement and challenge to the traditional game and streamlines the seeking process for faster games.

Taking advantage of the widespread use of geolocation technology and smartphones, Pursuit taps into the innate human desire for play, exploration, and social connection, by revitalising the traditional game of hide and seek for the digital age. It offers a unique market opportunity by merging virtual experiences with real-world interactions, catering to a broad demographic range and aligning with the growing interest in physical activity and immersive gameplay experiences.

Users are drawn to Pursuit to have fun with their friends by playing in person games from their childhood. Pursuit enables these games to be played at a larger scale and makes them more competitive, which makes these games attractive to all age groups and not just children. Users may also be drawn to Pursuit to engage in physical activity in a fun way and engage in social activities.

By leveraging geolocation technology, the Pursuit mobile web application solves pain points regarding lack of social interaction and physical activity for adults. The traditional game of hide and seek can become monotonous and is probably something an adult wouldn’t think about, but Pursuit revitalises the traditional game by adding excitement and challenge through real-time geolocation.

Adding geo-location technology renders the game much more competitive, and the technical nature of this application means that new game modes and configurations can always be released, to keep the experience fresh. This promotes an easy and attainable way for adults to get outside and play a childhood classic while solving their issues of exercise and social isolation. Pursuit will create an engaging and healthier experience through a revamped and digitised childhood classic.

The initial release of the game will be in August 2023, where we intend to support multiple lobbies (private and public) with a basic hide and seek game mode. Our goal is to acquire at least 50 active weekly users that play at least 1 game per week. We hope that a user base of this size can provide us with adequate feedback to help us prioritise further game refinements and extensions. Possible extensions include hybrid and novel game modes, tournaments and leaderboards, and more.

XChange: Everything you need to plan your exchange term
Team Design Party

[Student_Tools]

Kevin Li, Aparajita Ghimire, Neha George, Zhengmao Ouyang, Andrea Anne Miranda [TA: Max]

Going on exchange is a remarkable opportunity, one which a remarkable amount of students consider but do not pursue. The cost of exchange is high, and the academic logistics can be a nightmare. It is difficult for students to be well-informed about the living environment of potential schools, and it is challenging for students and advisors alike to identify foreign course sequences satisfying UW academic plans. XChange looks to ease these difficulties by providing a publically available web-service allowing users to query for schools and previously approved course equivalencies. As well, the website will allow students to discuss and post about their living experience on exchange, informing others about crucial topics related to safety, housing, finances, and the like.

At a high level, the user flow of XChange involves a landing page with an optional login and signup, which leads to a main query page for schools and courses. Here, students are able to search and filter for offered host universities as well as previously approved course equivalencies. For each host university, there will be a corresponding page containing reviews, tips, previous experiences, activities, and course information that can also be searched and filtered. Each host university page also provides information about previously approved equivalencies specific to that school.

XChange also allows for course queries in which a user may request all equivalencies approved at a particular foreign school as well as UW program. For example, a user may ask for all equivalencies that have been approved for SE students at the National University of Singapore (NUS). Moreover, the application will allow students to see entire past course sequences taken by a student at another school where applicable. XChange uses a relational database to scalably store information in various tables, such as users, host universities, reviews, etc.

Currently, the UW exchange program is offered through the Student Success Office, which offers the Waterloo Passport web service. However, this service only provides relatively basic logistic and living information, leaving the majority of academic and experiential planning up to students and advisors - this is the gap XChange will fill. The intended impact of such a project is increased interest in exchange and an increased satisfaction with the application process.

The XChange team is currently working with the UW administration to consolidate past, current, and future exchange data in a reliable, consistent, and scalable manner, which is stored and maintained differently between faculties. In particular, we are liaising with Waterloo Passport and faculty exchange coordinators to discuss ideas and collect feedback. For now, we are manually collecting and scraping data off of Waterloo Passport and university exchange pages, but are working with university staff towards accessing, obtaining, and organizing official data. Ultimately, our aim for XChange is to create a community for past and current exchange students to share their experiences, and to provide for students in general a useful tool to plan academically for exchange.

Wave: The ultimate companion app for WaterlooWorks
Team Wave

Andrew Dong, Bryan Ling, Linda Jiang, Michelle Wong, William Qin [TA: Frederic]

Every four months, a new wave of over 9000 students at University of Waterloo begin their search for co-op, dedicating time and effort to look for jobs despite having to handle their coursework. These students allocate a significant portion of their time on navigating through the vast selection of jobs on WaterlooWorks and shortlisting the ones that will maximise their chances of getting the best job, creating a huge market opportunity for our Wave app to save them time.

Many students express a desire to consider more jobs, but the process can often be slow and frustrating as the available information on each job is fragmented among various domains. We aim to integrate new features in Wave, a companion app for WaterlooWorks, to improve this process and provide students with an efficient and informative way to search for the jobs most suited for them.

Our design approach to this goal is to unify new and existing information about each job on WaterlooWorks into one powerful interface. Existing information refers specifically to the job posting and company ratings on WaterlooWorks displayed through the users’ browsers. New information primarily consists of student community sourced information (e.g. r/uwaterloo WaterlooWorks megathread), AI generated keywords, tags, and job recommendations, and public information about the company on the internet (e.g. company website, glassdoor, etc.). Our product will also source information from students by allowing them to contribute comments, reviews, and ratings.

To assess the success of our product in achieving our goal, we plan to get feedback from students who use it, monitor the number of new contributions about job (reviews, compensation, etc.) being made, and compare statistics such as number of job postings on WaterlooWorks viewed from before and after using our product. We want to do incremental rollouts to batches of UWaterloo students and get feedback through surveys and interviews after each rollout. In the end, the total number of active students will be the final measure of our success.

Goose: A marketplace for sublets
Team Goose

Jerry Qu, Will Harris, David Li [TA: Anurag]

We live in a housing crisis. While this issue is world-wide, no where is it more apparent than Waterloo. As students flocked to campus last Winter, over 1000 students reported that they were still searching for housing with less than a month till the start of classes.

When looking for housing, individuals may choose to rent or sublet. At Waterloo, sublets are common as students are often away from campus. According to a December 2021 WUSA Return to Campus Housing Survey, 79% of sublets are posted on Facebook.

A major challenge with Facebook is that it was not built for sublets. Users must reload the page to see new listings, and there is no way to filter listings. This means that users must scroll through hundreds of listings to find a match. Furthermore, users must reload the page constantly to see new listings. This is a time consuming process without an adequate alternative marketplace, built for sublets.

Goose is a mobile app that sends notifications to students when a new sublet meets their filters. Since its launch in January 2023, Goose has gained over 500 users. We aim to continue to grow while focusing on key metrics such as Weekly Active Users, and time saved by finding housing through our app.

UWTrade: A Student-to-Student Marketplace for University-Oriented Used Goods
Team Zephatech

Hubert Zhu, Ryan Deng, Lizhuo You, Zuoqiu Liu [TA: Anurag]

According to the College Board, the average cost of textbooks and school supplies for college students in 2022-2023 was $1,240. This is a financial burden on students, especially for those from low-income families. Among these items, many are only used for a short period and are still in good condition to be reused by others.

To help students save money and reduce waste, we are creating UWTrade, a centralized, student-to-student platform for buying and selling university-oriented used goods.

The market opportunity for UWTrade is big, as there are around 40,000 students at the University of Waterloo. In addition, the come-and-go nature of students creates a constant demand and supply of used goods. For example, the unwanted used goods from students who are graduating/moving out are most likely needed by students who are studying/moving in. However, the current methods of trading these items have major pain points and can be solved by UWTrade.

UWTrade will emphasize the buying and selling of textbooks, as it is the most expensive and most relevant school supply. However, other university-oriented used goods such as furniture, kitchenware, and stationaries will also be allowed to be posted on the platform.

UWTrade brings three unique value propositions to the table: trust, convenience, and relevance.

Firstly, UWTrade establishes trust among users via the implicit trust of students, as all users will be verified by school email during sign-up. This trust will be further reinforced by our AI algorithms that detect and remove inappropriate postings, and our rating system. This sets us apart from other used goods marketplaces like Kijiji and eBay, where seller profiles are not guaranteed to be students, and trust between parties cannot be implicitly established.

Secondly, UWTrade streamlines the buying and selling process through its functionalities catering to every step involved in a successful trade, such as communication and meet-up arrangements. This minimizes the burden of executing a trade. This distinguishes us from existing university-focused marketplaces such as Facebook Marketplace and student forums, as they lack specialization in facilitating the end-to-end process of buying and selling used goods.

Lastly, UWTrade focuses specifically on trading university-oriented used goods. This narrowed scope ensures that the listed items are relevant for students. We will also utilize AI recommendation algorithms to suggest the most suitable items.

By combining trust, convenience, and relevance, our vision is to create a centralized platform that can cultivate a large user base and enable easy and seamless used goods trading. Both buyers and sellers will be incentivized to use UWTrade, as it offers sellers the opportunity to recoup money and allows buyers to save money in a way that is better than any existing platforms.

UWTrade addresses several pain points with current methods of trading used goods:

1. Illiquidity: Existing platforms lack a focused scope on university-oriented used goods, and this result in difficulties for buyers and sellers to find each other promptly, which leads to some buyers having to opt for buying new and paying a premium, and some sellers having to sell their items to middlemen for a lower recoup. UWTrade aims to become the preferred marketplace for students by providing a centralized platform specifically tailored to their needs, thereby increasing market liquidity.

2. Inconvenience: Most existing platforms do not facilitate the end-to-end process of buying and selling used goods, so buyers and sellers usually have to use multiple platforms to complete a trade. This is time- consuming and inconvenient, and often leads to mishaps such as miscommunication and missed meet-ups. UWTrade streamlines the entire trade process, from surfacing relevant items to coordinating meet-ups, providing a seamless and convenient trading experience.

3. Lack of trust: Trust issues arise on other platforms due to the unverified student status of sellers which could result in potential scams. UWTrade addresses this concern by verifying users as students through school email verification and incorporating AI algorithms to mitigate fraudulent activities.

4. Middleman: To build on the first point, middlemen are often how sellers and buyers sell and buy used goods as it is very convenient, however, the added intermediary results in a loss of value for both parties. For example, school bookstores often buy used textbooks from students for a fraction of the original price ( less than 50%) and resell them for about 80% of the original price. UWTrade eliminates such middlemen and allows buyers and sellers to trade directly with each other and ensuring all parties benefit from the trade.

Our goal is to develop and launch a web-based platform in 4A and collect user feedback to improve it in 4B. Additionally, we intend to develop a mobile app to offer users more options to access the platform, thus fostering growth and better adoption of the app. The project’s effectiveness and success will be determined by the number of user signups, the number of items posted, and the number of successful trades.

Sailed: A dating app where friends are your matchmakers
Team Vibe Labs

[Personal]

Carl Shen, Dulhan Waduge, Jason Yan, Richard La, Rickson Yang, Ricky Mao [TA: Owen Zila]

The majority of dating apps available today are designed to assist individuals in meeting potential partners beyond their social circles by giving users the autonomy to choose their preferred matches through methods like swiping and shared interests. These apps have experienced tremendous popularity in recent years. Interestingly, a couple of dating apps were recently developed to enable users to matchmake among their friends. Unfortunately, one of these apps, called Ship, was discontinued by its parent company, while the other app, called Wingman, suffers from subpar user experience. Consequently, there exists a market opportunity for a user-friendly dating app that incorporates friends as matchmakers.

We aim to base our capstone project on deriving an engineering solution that formulates a matchmaking system involving friends as matchmakers as opposed to traditional online dating. Our target audience will be anyone over the age of seventeen who is searching for "the one" and have a group of friends they trust.

The concept of our unique dating app aims to address many pain points in traditional dating and online dating where distrust, ghosting, and lack of social support are common. By introducing a twist to traditional dating and setting up people to meet through a friend’s recommendation can instill a sense of trust and validation. By using the friend’s perspective, dating profiles will appear more honest, increasing the likeliness of finding compatible matches. Dating can feel like an isolating experience, involving friends can make the process more emotionally supportive and positive while reducing behaviours like ghosting.

The app works as a mix of the Wingman app and Twitter. Users must first signup via social media, gmail or phone to create their profile and complete a set of onboarding questions. They can decide to be just a matcher or both a matcher and a dater. They can also send friend requests to existing users on the app. Users can view friends’ profile pages.

A matcher is able to choose a friend to swipe for and then swipe left (to reject) or right (to ship) randomly shown users with the friend. Swiped-right pairs are then able to be reacted on by users in the pair’s friend group. If there are positive reactions, the daters will get notified of a match (sail) and will get invited to chat with each other.

The team aims to have a healthy number of users at launch in order to have a successful launch of the app. To measure the success of our app, the main metric we will use is the number of user accounts created (we want this to be over 1000). Some other success metrics we will use are the number of matches made and the rankings/reviews in the app store.

Muntalacier: An App for Face-based Fashion Recommendations
Team Muntalacier

Aly Muhammad Mithani, Muntaqim Rahman, Md. Abdul Chowdhury, Asim Bhatia, Faiz Momin, Aryan Patel [TA: Anurag]

Fashion is a difficult concept to quantify. Making fashion decisions for oneself is a difficult prospect that many struggle with everyday. There are some concepts in fashion that can assist with this. Knowing one’s face shape can help make decisions about hair, glasses, facial hair, clothing, etc. Many people would benefit from knowing these concepts and using them to make fashion decisions in their everyday lives. However, not all of these people know others who can provide this guidance or even feel comfortable to ask for such help.

Complimentary to this, fashion trends are very difficult to identify before they are famous - making it difficult for marketers and retailers to capitalize early on. Our app can make it possible to identify fashion trends early on thanks to our feedback system that both improves recommendations (the more it makes) and can identify which fashion advice is getting more traction with which types of users.

Many people, especially young adults, are interested in improving their appearance for a variety of reasons which they can do by improving their style and sense of fashion. This helps them by boosting their self-confidence, helping them express their personal identity, get compliments from others, and potentially attract partners.

User’s have a desire to appear fashionable and stylish but struggle in their ability to apply that desire to practical steps they can do. A significant issue here is the barrier to entry. Fashion advice varies significantly depending on a person’s face type, body frame, and other features. Getting good advice that is customized to the user is often a game of trial and error.

Our ability to take in data through photos and ML algorithms will be able to offer users advice that is customized to them. Solving this problem will require knowing both how to take in and store this data, and also how to technically parse it. These are technical challenges our advanced technical knowledge will be able to solve.

Additionally, our system will get smarter and better at making recommendations by using ML algorithms (that use control-theory feedback systems) to learn from the feedback given by customers to previous recommendations. This way, our system can continue to get better the more it is used, and could potentially become aware of fashion trends before they are popular.

Initial deployment of our app will take place during the start of the year in January, strategically placed before February and valentine’s day. Marketing will be done beforehand to garner hype and traction surrounding our app. Throughout the release points of our application, we will spectate the user download metrics, as well as monitoring consistent usage. These metrics will also transfer into reviews for our application once published, which is a great tool to receive feedback. Very little competitors are within the scope of our application, which lets us capitalize on an exponentially fast growing marketplace of beauty and aesthetics.

Electricity Maps - open source contributions to help reduce carbon emissions
Team Three

Wanda Song, Willard Ma, Helen Zhang, Frank Chen [TA: Kamyar]

Electricity Maps (EM) provides vital data that tells the world how it is using electricity. The data is used commercially by companies and other large organizations to help achieve their objectives, while individuals make use of the data for their own personal projects, whether it be for fun or to publish academic papers. We hope as a group to contribute to this existing ecosystem and then offshoot our own research and development so that we can carve a place for ourselves in the fight for a better planet.

Electricity Maps is an open-sourced product that is market-proven and already has many different substantive use cases. The biggest part of it at the moment is the set of API endpoints provided by EM. The main commercial use cases of the product are through the API. The most well known example is that of Google, which uses the geographical electricity data provided by the API to shift its compute workloads to places with greener sources of electricity and meet its sustainability targets. Other companies like Monta (electric vehicle carbon footprint app) and Greenly (carbon emissions accounting app) use the electricity data split by geography as key parts of their product. Companies and individual users alike access the HTTP-based API through an API key obtained through the online key management interface, and then build software programs that make use of the geographical electricity data provided through the API.

EM also has a web and mobile (iOS and Android) app that displays a world map with info on things such as carbon intensity and electricity origin. For individual users, it is a simple and easy to use interface that allows them to browse through some of the data that EM can provide.

The enviornment is a large problem that people and thinkers around the world are constantly struggling with. Having global electricity data neatly provided in one place makes doing research and monitoring the worldwide situation much easier. The open source nature of the product ensures accountability for the validity of the product iteself. We believe that the data provided by EM can create more opportunities to make advancements in this field.

There are new areas of carbon emissions to discover and with the extension to existing system that we hope to achieve, we want to publish a paper that incorporates the new data that we obtain and presents a novel strategy or strategy in an area where there was previously no data.

Success would be determined by qualitative metrics: For example, being mentioned on client stories would be an amazing result, or having the paper published or presented at a reputable conference.

An acceptable result would be completing a noticeable addition to the open source software and using the data to develop an initial strategy or paper that invites comment and review from the academic community.

SE 464 Revamp
Team Based JAML

[SE_Curriculum]

Jack Hu, Andrew Guo, Molly Yu, Laura Florea [TA: Max Zhang]

Software architecture is evolving at a rapid pace—from where we once had monolithic systems, we now have microservices, systems that need to integrate with machine learning models, and beyond. We believe that the design thinking needed for system architecture is what distinguishes SE and CS. SE 464 has a major part in being this distinguishing factor, but does not teach the modern high-performance design thinking that we believe is needed in an engineering course.

The objective of redesigning SE 464 is to develop a course that is centered around modern system design and software architecture. A re-imagined SE 464 would focus more on designing scalable, performant architectures that can handle petabytes of data or millions of users. As such, students will finish the course with essential industry-relevant knowledge on how to build robust, scalable systems that they can use in the rest of the SE program and beyond. In order to do so, lecture concepts will be supplemented with case studies. Course assessments will include an exam, labs, assignments, and quizzes. All of the course assessments will be specified in the course outline.

In the redesigned version of SE 464, there are two main components: the course material, and the labs. In terms of the course material, the large range of relevant topics and concepts make it difficult to fit a comprehensive curriculum into 11 weeks of lecture material. As such, the key challenge is designing the course material in such a way that the content is complete, digestible, and not too fast paced. Likewise, a second challenge is ensuring that the course material does not have > 50% overlap with other systems-related courses that are not antirequisites such as CS / ECE 454 and CS 451. As for the labs, the major challenge is designing labs that simultaneously allow students to put what they have learned into practice by building a system in which they think critically about the design while not introducing too much new coding work into 3B.

To demonstrate that the objectives of the course redesign have been accomplished, we plan to first have Prof. Derek Rayside teach the new curriculum in Fall 2023 and then gather evidence to see how students respond to the curriculum. For instance, we can design quick surveys that students will be given biweekly to gauge student interest on the material and pacing. We can then iterate upon the course design for the Fall 2024 offering. This can similarly be done for the labs at the end of the course.

Applying control theory for CS452 trains
Team Train Control

Connor Byers [TA: Anurag]

For CS452 Trains, we want to look into applications of Kalman Filters and control theory in the course to improve the accuracy of estimations (mainly kinematics when tracking train velocity and position) while simulatenously reducing the use of time intenstive trial and error methods. This work can help propose the addition of Kalman filters and other applications of control theory that could be taught in SE380 to make the course more relevant to Software Engineering students and for other majors that want to take CS 452 in 4th year.

In CS 452, students face the problem of tracking the current location and velocity of the train on the track in order to decide whether to increase speed, come to a stop to avoid a collision, etc. Students can get an estimated average velocity by finding the difference in time between 2 sensors were hit and using it in the usual delta d / delta t formula where delta d is the physical distance between both sensors. They do that by running multiple experiments and doing calculations based on the data points they receive. There are some more methods that have been used by students in the past like doing something like a binary sort algorithm to nail down velocity, acceleration, etc. They are all incredibly time consuming and is error prone. There is some randomness involved as there is latency between the user’s kernel to making the request to the train for sensor information and when it comes back. There is further complications as there are multiple speed levels the train can be running at 0-14 and the acceleration needs be considered in order to be accurate. Any errors here can lead to the user’s code assuming the train is at one position and velocity and make decisions based on that, but in reality, it could be far off, causing collisions and undesired behaviour.

Applying Kalman filters and control theory to be able to track the train’s position, velocity, stopping distance would be 1. More accurate 2. Less trial and error (time consuming) 3. Fun application of control theory that SE students could use

There could be other applicatons of control theory outside of kinematics that we will determine as we discuss with the professor and investigate further.

In 4A, its unclear at the time of writing if I will be allowed to start working on the course before my 4B term while I take CS 452. But we will definetely aim to have at least some MATLAB code or simulations that would demonstrate our work’s validity.

But at symposium, I would have completed CS 452 with the applicaton of kalman filters and control theory we will develop this term.

To measure results, we could - Track how accurate our train’s position and velocity modelling is by comparing what our code thinks with the train’s actual position on the track. We could compare with others students or ask the professor if he sees any improvement compared to previous CS 452 students’ models. - Track how long it takes to code the control theory and use it to determine position, velocity and compare with other/previous students. - Ideally, if Kalman filters and other applications from this project get applied to SE 380’s curriculum, we could see if future students find this information useful and use it.

Control theory in the GoLang Garbage Collector
Team Collector Control

Kieran Quan [TA: Anurag]

The GoLang Pacer concurrent garbage collector has been experimenting with applying control theory. There appears to be room for improvement.

Optimizing Vibratory Bowl Feeders
Team forgs

[Chris_Rennick]

Ryan Hoffman, Iniyan Chelladurai, Ahsan Nadeem, Nickolas Hall, Daniel Reed [TA: Chris Rennick]

Vibratory bowl feeders are used to orient and feed parts in industrial automation processes, most commonly used in assembly lines. They are generally used when a large number of small parts from a bulk source need to be oriented at the beginning of an industrial process because they have relatively high feed rates, they are versatile, and handle parts gently. Vibratory bowl feeders are used in a wide range of industries since they are very universal and adaptable. Some potential market consumers, including pharmaceutical, electronics, automotive, packaging, food and beverages, and many more industries.

Our optimizations would be favourable since it would increase the feed rates, which can decrease cycle times for further processes. In a lot of industrial applications, the bowl feeder is usually the bottleneck for the process, so there is a high demand for optimization. They are currently designed with a large amount of trial and error to get parts sorted into a desired manner, which is slow and inefficient. As well, using computer software to determine profiles will increase overall production time for potential products.

The current design of a vibratory bowl feeder is unoptimized in terms of efficiency, accuracy and speed. The application of advanced mathematical analysis with the aid of software can be used to find and fix the flaws in the current design. Additionally, mechanical design skills can be used to fabricate the theory.

N/a (for now)

An App for Navigating UW Campus Accessibly
Team AccessiLooPath

Carina Chiu, Evan Cheer, Jessica Zhang, Jonathan Lanson [TA: Chris]

Campus navigation has become increasingly important. Students often find it challenging to navigate through campus with efficient routes without getting lost due to the growth of the campus and the number of buildings, as well as getting the most updated accessibility facilities on campus. Our project aims to develop a mobile app that provides information on the location of accessibility features on campus for individuals with disabilities, including universal washrooms, elevators, and potentially other features such as automatic doors. Our goal aims to enhance the overall campus experience and improve student mobility with the historical and cultural context of accessibility and inclusivity.

The motivation for students to use our mobile app is the desire to navigate campus efficiently and be able to get the most up to date information about the status of accessibility features and washrooms. The app allows students to save time and energy by eliminating unnecessary detours. Our mobile app also aims to cater to different usage modalities by providing visual directions and options to select the accessibility route. This ensures the project meets the diverse needs of the user base.

The user’s pain point is the lack of reliable campus navigation solutions. Existing solutions such as WATisRain include information that is outdated and does not satisfy the needs of individuals with disabilities. Additionally, Mappedin’s solution at the Student Life Center(“SLC”) is limited by its physical location; students can only search for routes starting at SLC and must be in front of the kiosk to use it. Our solution aims to provide easy access through students’ mobile phones and incorporate accessibility features, such as wheelchair-accessible routes to address specific needs of individuals with disabilities.

As a result, our goal is to develop and deploy the mobile app for the University of Waterloo campus navigation with a focus on accessibility features. User testing and feedback will be carried out for iterative enhancement.

Multi-source information retrieval system and AI search bar
Team Elm Search

[Derek]

Ernst Mach, Peter Ke, Ray Yang, David Mehic, Yizhe Zhang [TA: Derek]

In many companies, a lot of time and money is spent on building suboptimal internal tools from scratch. There is no standardization of how tools are built from company to company and most companies build their own tools or use a generic solution that is not taloried to their use case.

Elm Search formed from the this exact issue, during our co-op experiences we noticed that companies spent a lot of time and money on building suboptimal internal tools from scratch. We wanted to create a product that can easily be incorporated into any existing infrastructure, allowing companies to not have to make their own semi-optimal search bar and instead use an information retrieval system that is tailored to their needs. Our solution will work with both structured or unstructured data and can be connected to multiple different data sources at once. People who are looking to speed up the development of internal tools or are looking to centralize all sorts of different data source into a single search location will see great milage from our product.

A major issue with data storage and retrieval are cases where a company holds information in multiple different locations or there are multiple different data types for which data is stored. For example, companies may store important docs in files on some sort of cloud drive as well as have a wiki for information. We have had many cases during our co-op where we are unable to find critical information on the wiki because the information is in documents on some cloud drive. The wiki search engine does not connect to that cloud drive and as such we could not find those docs until we asked upper staff. Our product is a solution to this issue as we plan to have a information retrieval system that can connect to multiple different sources of data.

Initial deployment of Elm Search....

Metrics for evaluation:

  1. Test cases on data flow of each unit

  2. Measuring the ability of our search to find the relevant material in the index

  3. Measuring the ability of our search to place relevant material high in the ranking

The datasets used to evaluate Elm search were the same datasets that were used to train these models here: https://www.sbert.net/docs/pretrained_models.html

LLM-powered virtual assistant
Team Skylar

Winston Yeo, Hans Bhatia [TA: Derek]

Students and professionals in tech spend much time planning their day in hopes of optimizing the most out of it. Apart from the c-suites and ultra-rich, the person planning has always been in charge of ensuring that they stay on track, follow up with interested parties, and maintain a conflict-free schedule. Many tools have come into the picture trying to help people optimize better.

With the recent breakthroughs in LLMs, we believe that it is now possible to leverage these AI models, to provide users with the power of a personal secretary to manage schedules at a fraction of the cost.

The Intelligent Personal Assistant Market Research report predicts that the global market of intelligent personal assistants is anticipated to show considerable growth during the review timeframe from 2020 to 2030 at a healthy growth rate of approximately 34.13%. The reports further predict the market to attain a valuation of around USD 83.66 billion by the end of 2030.

Many professionals in tech today want to be able to effectively be up to date with what’s going on within the organization and how their tasks are going. However, there is a growing information burden that is being placed on these people as technology continues to lower the cost of communication. This a problem that is only going to get worst as technology continues to proliferate.

In fact, there are already a ton of apps trying to solve the information burden being placed on users, from superhuman (email), to beeper (messaging), to texts (messaging), these companies all try to solve by putting an extra layer between the user and the application they use for communications.

With all the different sources vying for our attention, the application will connect to the user’s information sources (emails, messaging, etc.) and categorize them based on importance to the user. Just like an assistant, it provides the user with their daily schedule and reminds the user in time for their events. Hence, reducing information overload by providing a monolithic application that filters the noise.

One of the biggest pain points is the growing information overload that most professional workers face at work today.

Gartner surveyed nearly 1000 employees and managers - and found that 38% of employees say they receive an “excessive” volume of communications at their organization. Only 13% say they received less information in 2022 than they did in 2021.

With the huge influx of information, it can be hard to stay on top. However, we believe that by using LLMs to parse and understand, we can build a much better ingestion layer that is able to better understand and categorize the information that is reaching the users. Ultimately, reducing the information burden and enabling more effective work from these professionals in tech.

The most important metric that we will be tracking will be user’s daily retention. Users receive messages and plan on a daily basis, hence, if our product delivered value, they would be returning on a daily basis as well.

We hope to see a correlation between users who experience a high influx of messages from various platforms and benefit from using the product. We will measure via check-ins with the user through a simple pop-up at various times through their usage of the app and / or via scheduled calls.

We have scoped out our project into components that we tackle each sprint (projectPlan.md), this way we reduce the scope of our project. Since we do have as much time and money - our goal is to provide a self-sustaining environment by adding composability to our application so users can build and feature their own plugins.

We use direct API queries to the Gmail API and plan to do the same for Outlook. In using native integration, users have little extra work to do in terms of setup. Comparatively, using IMAP would require a bunch of additional set-up on the user’s end, leading to drop-off and poorer conversion

  1. Privacy as the default setting: All mail data stored with us will be encrypted at the rest.

  2. End-to-end security: We will ensure that the site will only connect via HTTPs to ensure full data encryption between the server and the client.

  3. Visibility and transparency: We will have a full section that lets users know where we send their data too at any point in time so they are aware of what data is going where.

  4. : Respect for User Privacy: If proven successful, we hope to incorporate elements of ZK ML that would allow us to keep the user’s input private so as to ensure full privacy of the user’s information.

An App for Restaurants to set up Rewards
Team HammerSpace

Javin Mehta, Adeit Dalal, Rahul Gudise, Rishabh Sambare [TA: Derek]

Loyalty programs have a long history in America, one of the earliest occurrences being from 1793 in the US by merchants. (An emerging theory of loyalty program dynamics, Jisu J. Kim, Lena Steinhoff & Robert W. Palmatier, 2021). The idea of loyalty programs are still being used today, over 200 years later for a good reason, as they have a potent form of benefit to the businesses and consumer-business relationship.

Specifically looking at restaurants, it was found that

“for customers with a low long‐term orientation, the effect of rewards increases for monetary rewards more than nonmonetary ones and for immediate rewards more than for accumulated ones” (https://link.springer.com/article/10.1007/s11747-011-0272-3)

With the nature of business centered around growth and retention, there is a market opportunity for an application that will help businesses improve customer retention. In addition, from our knowledge, there are currently no competitors to our product meaning that there exists a gap in the market that has yet to be filled. As such there is a significant opportunity for us to create a novel way for rewards to be collected, tracked, and redeemed.

It has long been known that rewards programs/schemes are an effective means of drawing customers back to a business. However, for smaller businesses, the process of setting up an effective rewards program is often infeasible or time-consuming. Setting up a robust rewards system, such as the ones that large corporations such as Mcdonalds’ have set up, requires time, money, and a high level of technical competence in software development, UI/UX, and project management. With money often being tight, and technical prowess being often far removed from a business owner’s core competency, it can be easily seen why setting up a robust rewards system can be viewed as an insurmountable task. On the other hand, setting up lower-level rewards programs such as stamp cards, and scratch cards often require a lot of effort to plan out, produce, verify, and manage. As such, we believe that restaurant owners are seeking an easy way for them to set up a rewards scheme so that they can aim to improve their customer retention.

On the customer’s side, the task of retaining punch cards or saving relevant emails, which are the most common means for small businesses to implement rewards programs, is often a tedious process. As such having a way to store their loyalty rewards in a constant place on their phone, would streamline the rewards acquisition and redemption process significantly for the user.

In order to integrate our application with restaurants, we will have to use cloud technologies to centralize all user and restaurant data. This data should not contain any sensitive information, and is obtained by working around their payment processing system (transactions are separate from the application). With this integration, restaurant cashiers will be able to scan a QR code, to abstract away from payment methods, that identifies users for points/rewards to be claimed or added.

Some of the possible ways we can measure success are: 1. How often rewards are redeemed 2. Number of transactions made (points added or deducted, or purchases logged) 3. Number of monthly users 4. Number of subscriptions 5. Number of businesses partnered

Mercury: The international heavy-industrial instrument tracker
Team Mercury

Braden Mah, Eli Vlahos, Kyle Dyck, Nicolas Quintana [TA: Kamyar]

The demand for sustainable energy products is increasing as climate change and international conflicts threaten energy infrastructure across the globe. In response to this high demand, companies like Tesla are ramping up their energy solutions production. In Q1 2023, Tesla’s energy storage deployments increased by 360% YoY with the ramp up of their new Megapack factory in California and they recently announced that they plan on building another Megapack factory in Shanghai later this year (https://ir.tesla.com/#quarterly-disclosure).

With this boom in energy solutions, industrial companies like Tesla will see a large increase in logistics costs in deploying and maintaining their products. Product uptime is extremely valuable for energy solutions and having timely, reliable service to these products is essential.

Servicing industrial energy products safely and reliably often requires heavy-industrial instruments. These instruments can range in size from small handheld devices to massive machines that require multiple shipping containers to transport. When unexpected failures occur, service technicians need these heavy-industrial instruments to quickly resolve issues and avoid downtime penalties. It is imperative that the time between receiving a service request and actually servicing the product is minimized. With instruments being deployed around the globe, they are often far away from logistics hubs where service requests are received. Therefore, knowing the live status of deployed instruments will save employees from spending hours tracking them down thus improving the time-to-service.

Instrument (asset) tracking using manual internal documentation and word-of-mouth is inefficient with a growing fleet of energy solutions deployed on a global scale. Mercury will provide updates on the status of your fleet by attaching a small, Wi-Fi/cellular-connected PCB to each asset, relaying state information to a remote database, and displaying data on an online dashboard. Mercury will also enable remote command execution from the dashboard to allow users to interact with their assets without needing to physically access them.

Mercury will provide multiple types of information to create an accurate report on the state of the asset being tracked. Information such as location and battery level will be transmitted by default and there will be the option to relay GPIO signals and serial protocol communication messages according to the user’s needs. There will also be the ability to read and write data from/to an SD card connected to the asset if applicable.

Lastly, Mercury’s online dashboard will allow a user to login with a secure account, view asset information with various filtering options, and subscribe to email notifications on configurable events.

Mercury will give companies control over their globally deployed fleet and they will be empowered to make informed decisions using data collected with our devices. Usage statistics can be used to relocate idle assets to locations with higher demand. Remote information retrieval enables faster diagnostic data collection over long distances. Scalable infrastructure supports a growing fleet of assets. Low-power, battery-supplied devices minimize the frequency of servicing. Lastly, hardware flexibility allows various types of assets to be tracked and data collection configured to suit the company’s needs.