Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021

 
CONTINUE READING
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
Computer Science /
    Software Engineering
Capstone Design Projects 2022

         August 9, 2021
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
Teams
FOSS            1                      SpongeFabric
                2                              Axon
                3                                LOI
Startup         4                         Scena 360
                5                          Coachella
SE Tools        6         Insufficiently Caffenaited
                7                            QUAIL
                8                             Inliner
                9                     The Wheelerz
               10                            KRAM
Consultant     11                                 R2
               12                         LacusLabs
Health         13                             Agnes
               14                           Houdini
User Polling   15                        Vox Populi

                    Computer Science / Software Engineering
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
Projects
SpongeFabric: A fork of Sponge that supports Fabric
mods
Improving Dendrite, The Next-Generation Matrix
Homeserver
Translating user-generated content on visual
programming community
Scena 360: 3D Online Gathering Spaces
Superpowered: Power through the day without your
calendar
caffeine: A new symbolic execution engine
GitHub Similar Repo Search and Retrieval Tool
Inliner: Pull blocks of code into a single file
KubeInspect: An App to Automatically Fix Kubenetes
Vulerabilities
Undecided
ReCREAT: Renewable Energy Analysis Tool for
Remote Communities
SVTS: A Mobile Application for the Sri Vidya Temple
Non-Profit
Testing effectiveness of an app to quit smoking
DCC Escape: 3D virtual escape rooms for mental
health awareness
Real-Time Polling Software Targetting Spontaneous
Content Creation

               ... continued on next page ...

Capstone Design Symposium 2022
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
Teams
                            16    Chicken Nuggets
Finance                     17         Team Moss
                            18           Localised
Natural Language Processing 19           DiDiDaJi
                            20               fnord
Physical HCI                21      Dot Dot Dash
                            22         VivaLaZeez
Web Use Management          23 Autumn Leaf Studio
Distributed Storage         24            HYDRA
Gaming                      25             Vulcan
Student Tools               26               rhino
                            27              alarm
                            28          uConverse
Learning To Code            29                BSD

                     Computer Science / Software Engineering
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
Projects

Quizem: A simple way to conduct knowledge check-ins
MOSS: A Crypto Algorithm Sharing Platform
Fig: Buy Now Pay Later for Non Prime Consumers
Little Brother Hit Chicken: Language Based Textual
Refinement
AutoComic: Machine Translation For Graphic Novels
HCI research on the applications of gestures through a
spherical input device
Eye tracking for modern apps
QB TUA: Time Usage Analysis
BitLodge: A decentralized file storage system
Vulcast: Play console games remotely with your
friends!
ReviewKit: A centralized platform for sharing and
critiquing resumes
uSource: Website to help students find university
resources
A social platform for education-related mentorship and
discussion
LiCode: A website for competitive and gamified
programming

Capstone Design Symposium 2022
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
1 SpongeFabric: A fork of Sponge that supports Fabric
  mods
  Team SpongeFabric

    Minecraft is a popular sandbox
video game. Sponge is a modifica-
tion of the official Minecraft server
engine. Sponge server not only has a
better performance over the official
one, but also expose a set of APIs
that can help server admins manage
their server more easily. Currently
there are two variation of Sponge,
SpongeVanilla is a Sponge server tar-            Tingda Du, Logic Fan
geting the unmodified (i.e. vanilla)
Minecraft; and the SpongeForge is a
Sponge Forge is a Sponge server targeting the Minecraft with Forge modding
platform.
    There are two modding platform for Minecraft that are competing and
incompatible with each other at present time. They are Forge and Fabric. Both
Forge and Fabric ship their modified client side and modified server side to the
player. However, neither of them are any better than the official Minecraft
server engine. As I mentioned above, the Forge player has an alternative, the
SpongeForge, which is much better than the official Minecraft server engine
(and hence better than the Forge Minecraft server engine); yet Fabric player
can only use their Fabric Minecraft server engine, which is not as good as a
Sponge.
    Thus, our goal is to make a fork of the Sponge Minecraft server to support
Fabric mods, i.e. a SpongeFabric. Then, the Fabric mod users can have the
benefits of the Sponge Minecraft server over existing Minecraft servers that
support Fabric mods.
    Currently the Fabric user are forced to use the Fabric Minecraft server
because there are not alternatives. With the existence of SpongeFabric, the
Fabric user has an option to user SpongeFabric.
    There are three advantage of adopting the Sponge server engine instead of
the official one. First, there are many performance patch inside the Sponge
server, which let Sponge require cheaper server to run. Secondly, the Sponge is
more configurable than the official one, it expose more configuration options,
and many of them are related to performance. Thirdly, Sponge server engine
also comes with a ecosystem. Since Sponge server engine expose a set of APIs

FOSS                                Computer Science / Software Engineering
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
for server management, there are many third-party server management plugin
for Sponge server, which could be helpful for server admin.
    The current Fabric Minecraft server engine is useable. However, a Sponge-
Fabric will give the Fabric player a better overall experience as we mentioned
above.
    There is no result yet.

                https://github.com/LogicFan/Sponge,https:
                    //github.com/LogicFan/fabric-loom

Capstone Design Symposium 2022                                          FOSS
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
2 Improving Dendrite, The Next-Generation Matrix Home-
  server
  Team Axon
Team Axon Project Abstract
    Messaging protocols are ubiqui-
tous in today’s day and age. In
the earlier eras of the internet, it
was common for users to host such
applications, such as Internet Relay
Chat (IRC), on their own servers,
or those of associates. This de-
centralized model of communication,
although present today in vestigial
                                            Alex Chan, Joshua Hong, Alexander
forms, such as that of email, have
                                                   Kursell, David Spenler
nonetheless fallen out of prominence
in favour of centralized alternatives:
Facebook, Whatsapp, Slack, and others. Although these successors offer ad-
vantages in convenience, many cite concerning drawbacks, such as issues and
privacy and censorship. Consequently, there is a renewed interest in reviving
the decentralized model of messaging with modern features such as voice/video
calling, reactions, images, and other features modern users expect. The Den-
drite system, an implementation of the Matrix protocol, is one such tool that
has arisen in response to this demand.
    The problem with nearly every modern instant messaging system is the fact
that they are closed systems, run by for-profit companies that offer users no
control over their data or user experience. Users cannot migrate providers,
send messages between different providers (Slack, for example, cannot send
messages to Discord), or run their own servers to control their data.
    Matrix provides all of the same features as other modern instant messaging
platforms. Users can register, send Messages to other users, join or create
Rooms to exchange Messages with many other Users, and invite other Users
to those Rooms, and Rooms can be organized into Spaces - the equivalent
of Slack Communities or Discord Servers. Additionally, Matrix allows users to
communicate across providers, host their own servers if they are so inclined, and
access their messages using a variety of client applications, each with different
UX ranging from terminal-based clients to Slack-like clients.
    Currently, the most popular implementation of a Matrix server is Synapse.
Synapse is written in Python and is slow and difficult to deploy. Being slow
means that it is more difficult to self- host, and the lack of speed translates into
poor UX for users. Dendrite was created specifically to be the next-generation

FOSS                                  Computer Science / Software Engineering
Computer Science / Software Engineering Capstone Design Projects 2022 - August 9, 2021
Matrix server that would solve these issues, being fast and easy to self-host. If
completed, it should become the new de-facto standard for Matrix homeservers.
    Dendrite had its first public beta deployment in October of 2020, but still
has a lot of bugs and is missing key features to put it on par with its predecessor,
Synapse. The maintaining team actually quantifies the features of Dendrite
with regards to an API specification, with the release in October at around 60
    We are aiming to massively improve the specification compliance of Den-
drite, prioritizing implementing the most useful or most widely desired parts
of the specification first. Since beginning work on Dendrite, we have submit-
ted a half-dozen patches fixing bugs or implementing isolated components of
the specification, which we received feedback for, improved, and ultimately
merged. In this term, we intend to continue implementing fixes, moving to-
wards larger and more complex features that require a greater familiarity with
both the specification and the codebase.

Capstone Design Symposium 2022                                               FOSS
3 Translating user-generated content on visual program-
  ming community
  Team LOI
Pocket Code is a visual program-
ming platform that allows students
to create programs and games di-
rectly on their smartphone. By using
a "Lego Style" programming frame-
work, the Catrobat language allows
beginner programmers to design their
own games and animations to de-
velop real and useful applications.
Then, students can share them on
the Pocket Code community and                 Jiahao Zhang, Josh Schaefer
even publish them as standalone apps
on Google Play. All source code re-
lated to the Catrobat system is free and open source under the GNU Af-
fero General Public License. More information on Pocket Code can be
found at https://catrobat.org/our-apps/ and information on their license is
at https://developer.catrobat.org/licenses.
    The Catrobat community platform is used by people across the world speak-
ing in different languages. So, there is a need to support various languages
throughout the site to allow all users to interact with each other through the
platform. Currently, all of the static content are translated by volunteer trans-
lators. User-generated content such as program descriptions, comments, etc.
remains in the original language without any process to translate the content
to the user’s preferred language.
    To allow user-generated content to be translated to any language at the
user’s request, a translation API such as iTranslate can be integrated into
the Catrobat platform. Through the translation API, the source language of
the content can be auto-detected and then be translated to the user-preferred
language. Because of the nature of the open source project, funding is limited
and any paid translation service is unrealistic. Free APIs have character quota.
This opens the additional potential need to cleverly manage quota, load balance
between multiple translation APIs and cache commonly translated content.
    Additionally, program owners should be able to add custom translations
to their projects. When they are specified, custom translations can be used
instead of a translation API.
    Throughout SE 390, we developed multiple buttons for different sections of
a user’s program page which opened a google translate page where the user-

FOSS                                 Computer Science / Software Engineering
generated content could be translated from the auto-detected source language
to the user’s preferred language. This new feature was merged into production
at the end of SE 390. Currently, we are working on implementing the iTranslate
API to show the translations within the Catrobat platform without the need to
open an external webpage. Nonetheless, this feature can still be used when all
goes wrong with the translation APIs.
    We believe this feature will improve the internationalization of the Pocket
Code platform, giving equal access to content regardless of the users’ back-
ground, location or native language.

                        https://share.catrob.at/app/

Capstone Design Symposium 2022                                           FOSS
4 Scena 360: 3D Online Gathering Spaces
  Team Scena 360
We look at the history of video con-
ferencing, all the way back to late
2000s giant Skype and notice that
the space of online gatherings has not
changed much or seen much innova-
tion from product perspective since.
In 2011, Google released an open web
protocol for multi-party video confer-
encing, WebRTC — upon which sev-
eral of today’s conferencing/stream-
ing services are built — Google Meet, Anshuman Banka, Danilo Joksimovic,
Discord, Houseparty, FB Messenger.                   Gabriel Robles
     It wasn’t until COVID-19 took
over the world we realized how "broken" regular video conferencing is - es-
pecially where most people prefer keeping their cameras turned off. Several
studies have shown the existence of "Zoom Fatigue" - and this can only be
fixed by making online gatherings more immersive and serendipitous. The up-
coming generation is one that has grown in an era of video games like Minecraft,
Fortnite, etc., where it has grown to become comfortable with 3D virtual worlds
and much prefer these over 2D mediums.
     Scena 360 leverages 3D spaces along with spatial/positional audio to repli-
cate the feeling of real spaces. This allows gathering attendees to move around
freely and meet/bump into people like they would in real life. 3D avatars al-
lows users to feel more present without keeping their cameras turned on while
still allowing two people to face each other and maintain eye contact. Hosts of
these events can easily manage and protect their spaces from attacks like [Zoom
Bombing](https://www.forbes.com/sites/kateoflahertyuk/2020/03/27/beware-
zoom-users-heres-how-people-can-zoom-bomb-your-chat/?sh=1ea90581618e) by
adding email allowlists and passcodes through Scena 360’s Spaces Dashboard.

                           https://scena360.com

Startup                            Computer Science / Software Engineering
5 Superpowered: Power through the day without your
  calendar
  Team Coachella
                                         Superpowered is a calendar app for
                                         the Mac menu bar. Be notified about
                                         events and join Zoom meetings with-
                                         out having to go to your calendar.
                                             There are 300M Zoom users. At
                                         $10/mo, that puts us at a 36B mar-
                                         ket opportunity with software mar-
                                         gins.
                                             Zoom meetings are the most
                                         important events in your schedule.
   Nikhil Gupta, Ibrahim Irfan, Jordan   Opening them from Google Calen-
               Dearsley                  dar requires finding the calendar tab.
                                         Doing it directly from the menu is
                                         10x easier when you do it 10x a day.
    Users don’t want to have to go to Google calendar 10 times a day to join
their Zoom meetings. We put the link at their fingertip right when they need
it.
    We launched 2 months ago, already have paying users who use everyday.
Happy to share specific numbers privately if that’s a requirement.

                              superpowered.me

Capstone Design Symposium 2022                                         Startup
6 caffeine: A new symbolic execution engine
  Team Insufficiently Caffenaited

    The process of creating software
is often error prone and results in
bugged software. Although some
techniques such as continuous inte-
gration (CI), unit tests, and code re-
views can be used to help detect and
eliminate bugs, it is not uncommon
for them to slip by. Other techniques
to increase coverage include fuzzing,
however it is driven mostly by gen- Danieil Skrinikov, Sean Lynch, Misha
erating test cases through heuristics.            Zharov, Brooke Dolny
A new generation of software testing
tools exists in the form of symbolic
execution engines.
    Symbolic execution works based on the idea of using a SAT query to deter-
mine whether a path through a program can be executed and, if so, generate
a test case that will reproduce it. By default Caffeine will uncover undefined-
behaviour bugs such as out-of-bounds array access, divisions by zero, and null
pointer dereferences. In contrast to fuzzing, a symbolic execution engine will
determine test cases by using a SAT solver to analytically solve for them. This
means that it is much better at finding test cases that exercise hard-to-reach
paths in test programs as it can directly create a test case for that path whereas
a fuzzer would have to get lucky to reach that path by mutating existing test
cases.
    The primary use-case for Caffeine is bug detection. A user provides a test
program, uses the Caffeine command line interface to interpret said program,
and then finally uses the test case tools to interact with the generated test
cases. By default, this will find any undefined behaviour that was mentioned
earlier. We also provide a number of builtin functions that the test program can
use to make arbitrary assertions and assumptions about its state. From there,
the user can use the provided test tools to extract the generated test cases into
a usable structure and pin down any root causes for the issue. A secondary use
case for Caffeine is to use it as a library. Either as a part of a bigger program
such as a mutator for a fuzzer such as American Fuzzy Lop (AFL), to perform
analysis, or as a base engine where a user can extend Caffeine’s functionality,
according to their needs.
    Another potential use case would be to create symbolic specs for functions.

SE Tools                             Computer Science / Software Engineering
For example, Caffeine could convert a function to a symbolic specification that
could then be exported to a known format and used elsewhere (e.g. as a spec
for optimization or for formal verification purposes). Additionally, we could
build a symbolic debugger where any developer could step through his test
program and see how the domain of the variables changes with time. This
would allow anyone to target specific sections of the code and see what values
could possibly be encountered during its execution.
    Currently, other symbolic execution engines have limitations such as the
lack of floating point support, along with many different strategies in how
to model memory. Throughout this project we seek to explore the trade-offs
that our predecessors have made, and aim to improve them to make a useful
symbolic execution engine. Specifically, by focusing on performance we hope
to support all the features of other symbolic execution engines - such as KLEE
- while still retaining competitive performance. However, the trade-off is that
we expect significant additional complexity introduced as a result of this.
    Right now, we are actively working on Caffeine and implementing new
features. At the moment, we support a large number of LLVM opcodes, floating
point operations, and completely symbolic memory.

                https://github.com/insufficiently-caffeinated

Capstone Design Symposium 2022                                       SE Tools
7 GitHub Similar Repo Search and Retrieval Tool
  Team QUAIL
When developers with basic software
fundamentals start writing code, they
commonly refer to accessible online
code examples for guidance. How-
ever, based on our user survey, de-
velopers of various experience levels
report that they have difficulty using
current search workflows and tools to
retrieve applicable code examples for
their specific use case.
    The GitHub platform is the
                                           Beini Fang, Ellen Huang, Irene Chen,
world’s largest host of accessible
                                                        Lindsey Jin
source code with over 47 million pub-
lic repositories (repos) as of May
2021, yet it remains unsuitable as a search engine to retrieve similar reference
repos for developers.
    Existing search methods for GitHub repos, such as Google and GitHub
Advanced Search, rely almost exclusively on text matching, but such string-
based search queries lack the precision and level of descriptivity required to
retrieve repos via traditional search methods.
    Our goal is to create a search engine for returning similar GitHub repos,
given an initial GitHub repo link as a search query and optional search filters. To
more holistically retrieve similar repos that users would find helpful as reference,
we compare on additional repo features beyond text signals.
    Our solution aims to solve these user pain points with automated processing
of repo features, analyzing and reindexing of publicly available repos on GitHub.
As a result, developers could make more informed design and implementation
decisions by referencing multiple relevant existing repos with various similar
aspects.
    We expect our product to help users find significantly more useful and
relevant examples of source code than current tools and workflows can provide,
and we intend to demonstrate the value of our solution through a user field
interview.

SE Tools                              Computer Science / Software Engineering
8 Inliner: Pull blocks of code into a single file
  Team Inliner
                                            Definition jumping has been around
                                            for a long time. It has shipped with
                                            some of the first code editors like Vim
                                            and Emacs, and is an integral part
                                            of any modern text editor or IDE.
                                            This feature is incredibly important
                                            to almost all developers, and many
                                            improvements on it, such as snip-
                                            pet preview and storing a jump stack,
                                            have been made to extend it.
                                                However, definition jumping pre-
                                            serves only a linear path through
 Harry Tong, Siddhant Jain (Non-SE)         which developers have navigated,
                                            whereas in real-world development,
code logic follows a graph structure that can branch off in any direction.
Inliner is a VSCode extension that inlines blocks of code so that developers
can navigate, understand, and write code more easily than with just defini-
tion jumping, and thus can explore multiple depths of code blocks, as well as
multiple breadths.
     On large projects where external function calls are routine and numerous,
developers can quickly become lost in a sea of tabs. They need to "cache"
what logic they’ve seen so far when reading other files instead of viewing the
entirety of the logic at once. By processing the codebase into ASTs and storing
a directed graph of code mapping, Inliner can pull a relevant block of code inline
just as quickly as a developer can jump to definition.
     Initial deployment of Inliner was done by setting up a landing page, posting
to social media, and soliciting signups for the product’s early access. The
initial post was made to r/programming and garnered 1.1k upvotes with 18
awards. Additional Reddit posts and a HackerNews post were made, but with
little traction. The demo video was reposted to LinkedIn and VK (Russian
Facebook equivalent) by unaffiliated people. A total of 1400 email signups
were recorded as of May 17, 2021.

                                https://inliner.io

Capstone Design Symposium 2022                                           SE Tools
9 KubeInspect: An App to Automatically Fix Kubenetes
  Vulerabilities
  Team The Wheelerz

     Creating Kubernetes deployment
files can often be quite challenging.
As a developer, you have to think
about resource allocation, the num-
ber of pods, scalability of the app,
among other things. More often than
not, when we create these files, there
are possibilities of some security vul-
nerabilities slipping that might slip
past us and get pushed to produc- Samuel Noguchi, Navraj Singh Chhina,
tion. Suppose it adds an unnecessary Muhammad Haris, Abhishek Dhakla
component, referencing an outdated
base image or not optimizing the deployment for load resilience. In that case,
these issues can make our deployment vulnerable to malicious actors trying
to sabotage the cluster. Our project aims to address this issue by creating a
Github App that can easily be included in the CI/CD pipeline and performs
a host of security checks to ensure the deployment file is airtight. Should an
issue come up, we provide the users with an option to fix it with a button
click automatically. There is no such app currently in the market that caters
to deployment file security, and we have an opportunity to tap into this arena
and create a difference.
     KubeInspect aims to automate scanning for vulnerabilities in a Kubernetes
deployment file and give developers an option to fix them with the click of a
button. It can be easily integrated within the CI/CD pipeline of a company
and doesn’t carry high overhead costs. With this tool, the developers can enjoy
peace of mind, knowing well enough that no vulnerability will get shipped into
production for any of their Kubernetes clusters. This app is also helpful for
beginner DevOps users trying to learn the industry best practices of how to
structure and configure a Yaml deployment file.
     The main idea behind our app is to free developers to focus on the fea-
ture/project they are working on. Often, a developer might get so zoned into
the feature code that they might not be careful enough with the deployment
configurations for the microservice/feature they’re shipping. Thus, a vulnera-
ble deployment file can get sent into production, allowing malicious actors to
sabotage the company infrastructure. We wish to address this pain point for
developers across the world.
     KubeInspect is being developed as of now, so, no user results to show.

SE Tools                            Computer Science / Software Engineering
10 Undecided
   Team KRAM
                                           Over the years, Kubernetes has
                                           emerged as one of the industry stan-
                                           dards for managing services at scale.
                                           Despite its popularity, there is a lack
                                           of tools that target a very important
                                           aspect of gauging service reliability:
                                           load testing. Diago aims to fill this
                                           gap by providing a way for users to
                                           load test software applications man-
                                           aged by Kubernetes
                                               Diago, a project initially created
                                           by team b-frame, is a scalable load
                                           testing framework which runs in Ku-
                                           bernetes. Using a template, devel-
                                           opers can specify which services they
                                           want to load test, the number of re-
                                           quests per second and length of the
                                           load test, and schedule times to au-
                                           tomatically run load tests. Further-
                                           more, Diago provides a load test-
                                           ing method specific to Kubernetes,
                                           known as chaos simulation, where
     Bimesh, Kyle, Max, Ravindu            Diago can be configured to take
                                           down instances of a service to sim-
ulate a chaotic environment prior to performing a load test.
    Developers can interact with Diago via their computers by viewing the pro-
vided graphical interface (GUI), where they can view all active and inactive
load testing instances, create new instances, run load tests ad-hoc, and view
aggregated metrics from previous load tests. By providing a Prometheus in-
stance to Diago, it can store load testing metrics which can then be viewed in
an embedded Grafana dashboard in the GUI by developers. Behind the scenes,
Diago will trigger scheduled load tests onto Diago workers automatically.
    Currently, Diago is lacking many features compared to industry standard
tooling. For instance, running complex workloads as load tests is not supported.
Also, any user can access Diago, so it is missing authentication. Individual
workload logs are not saved by Diago, which would be useful for developers to
further debug suspicious load tests. Aside from the GET request method, other
method types do not work (e.g. PUT, DELETE, POST). The current design

Capstone Design Symposium 2022                                          SE Tools
of Diago has a single point of failure (the leader). All these shortcomings are
what our team, KRAM, aims to solve.

SE Tools                            Computer Science / Software Engineering
11 ReCREAT: Renewable Energy Analysis Tool for Re-
   mote Communities
   Team R2

                                                The Canadian government has
                                            set a goal to move Indigenous and
                                            other Northern Remote communi-
                                            ties that currently rely on diesel
                                            to cleaner energy sources by 2030.
                                            There are a variety of energy con-
                                            figuarations for replacing diesel such
                                            as solar, wind, biomass, or a hybrid
                                            of those. To facilitate this transition
        Emily Huang, Andi Li                and select the most appropriate en-
                                            ergy systems, policy makers need a
                                            tool to analyse and compare the ef-
fects of different energy configurations.
    In particular, given a community’s energy consumption profile, policy mak-
ers are interested in what the costs are to install various energy configurations
and the resulting diesel displacement. Furthermore, policy makers are inter-
ested in finding out the feasibility of achieving different diesel displacement
targets, e.g. 100% vs 20% displacement. To achieve this, Natural Resources
Canada has developed a preliminary desktop tool do perform such analysis for
wind and solar energy configurations.
    The desktop tool, though capable of performing the necessary analyses
and visualizations, does not fit all the desired criteria. In particular, the desk-
top tool has proved difficult to disseminate, requiring engineers to share the
codebase/data and requiring users to build the code from scratch. Further,
the current workflow introduces challenges of tracking who has access to the
codebase and underlying data as well as ensuring version consistency across all
users. To address these concerns, team R2 will port the existing desktop app
into a webapp, keeping in mind infrastrucure, security, and user requirements.
    R2 aims to deliver an MVP of the webapp and a user manual documenting
all assumptions, constraints, architectual decisions, and expected usage by the
end of 4A. R2 will collect feedback and scope out any new requirements in the
term between 4A and 4B. In 4B, R2 will address the feedback and release a
v2.

Capstone Design Symposium 2022                                         Consultant
12 SVTS: A Mobile Application for the Sri Vidya Tem-
   ple Non-Profit
   Team LacusLabs
Many organizations that are, by na-
ture of their purpose, far from the
forefront of technology are now re-
quired to adopt solutions that de-
mand much technical prowess. In
a post-pandemic world, the current
habits formed by people will con-
tinue to shape the way we inter-
act with such organizations. As we
searched for an appropriate consult-
ing project, we came across a tem-            Sri Nellutla, Vichara Wijetunga,
ple in Rochester, New York that re- Kashturi Vasanthakumaran, Parvathi
quired a solution to meet the needs        Krishnan, Ankit Patel, Shazz Amin
of their in-person and remote visitors
more easily. The temple has also grown significantly in terms of visitors in the
last five years and is currently undergoing construction for expansion. Many
previous tasks that were done by calling in or by visiting the temple in person
are now much harder to manage or simply not possible due to Covid-related
restrictions.
     In terms of the end user’s perspective (temple visitor and volunteer), their
primary motivation is to save time, which comes in two forms: mitigating any
roadblocks or friction in a visitor’s experience of the online and in-person ser-
vices and providing an easy way to become aware of and sign up for volunteering
activities within the temple. From the temple’s perspective, their motivation
is to design for a non-technical user to make necessary changes to the appli-
cation. Another requirement of the project is creating a mobile application to
solve these problems.
     Currently, users experience challenges in three core interactions: interacting
with temple-related content (livestreams and videos), making donations, and
becoming aware of and signing up for volunteering opportunities. Specifically,
one such pain point related to temple content is easy access to videos. The
temple’s infrastructure setup for videos is fragmented across YouTube for pre-
recorded videos and Livestream.com for livestreams. We aim to implement a
system that consolidates all video content in an organized and searchable man-
ner for the mobile user. We are in constant communication with the temple
liaison and will begin working with a focus group to more clearly and exhaus-
tively document potential use cases and pain points across all categories. We

Consultant                            Computer Science / Software Engineering
aim to be in constant communication with the focus group throughout our
ideation, design, development, and release stages. Some solutions we have
planned for our domain model diagram include, a volunteer management sys-
tem, a calendar system, donation/livestream integrations as well as an admin-
istration portal that will allow the temple staff to make certain modfications
to our mobile app without the need to change source code (i.e add calendar
events, categorize videos and add new donation efforts/causes). Although we
believe there’s scope for some advanced technical knowledge to be used in this
solution, our primary goal is to solve real user needs.
    We aim to release this solution in phases and collect qualitative and quan-
titative feedback. The results can be shared with the TA on a regular basis.
Upon discussions with Derek we may also consider extending our application
to a no code platform that other non-profits with similar needs (collection of
donations, volunteer management, event management) could interact with.
The initial stage for this could simply be open sourcing our codebase, however
there is potential to build a service like Slack/Discord where we host mobile
"outlets" for multiple non-profits and charge a service fee.

Capstone Design Symposium 2022                                      Consultant
13 Testing effectiveness of an app to quit smoking
   Team Agnes
Self Directed Smoking Cessation App
     Smoking is clearly an issue - many
studies exist that prove its harm to
the smoker’s body as well as harm
to the mental/physical well-being of
those around them. There are also
studies that show that there are
substantial losses in productivity of
smokers. Unfortunately, because of
the addictiveness of smoking, it can
be hard to quit.
                                         Sarah Ma, Stephanie Warwick, Jacob
     For a user to quit smoking, first                 Ledgerwood
and foremost the user must be moti-
vated to quit smoking. From there,
users have to work to change their habits and withdraw from the use of
cigarettes. Different techniques exist to abstain from smoking exist, often
involving the participant to seek out a physician to guide them through the
process.
     One method of smoking cessation proven to be very beneficial is contin-
gency management (CM), a behavioural intervention where a user receives re-
wards as positive reinforcement for accomplishing a behaviour change. There
are currently smoking cessation apps that focus on the health or financial ben-
efits calculated based on how much less smoking a user has reported. The
theory appears that reinforcement of these benefits will motivate user to main-
tain said behaviours. These applications are arguably also implementing CM
by using calculated benefits as rewards. In all cases, the CM treatment method
relies on the idea that these continued rewards help a user to stop smoking.
However, it has been shown that the long-term benefits are not as motivational
as immediate, substance-based rewards. This effect is known as the discount-
ing of delayed reward. Episodic Future Thinking (EFT), where a participant
imagines how their life might be at a future point in time, is one method
that has been proven to reduce delay discounting. We plan to create an app
that prompts users to engage in EFT in conjunction with CM treatment via
“in-game” rewards to encourage smoking cessation after CM intervention.
     Studies have shown that CM is beneficial during the treatment but users
often relapse to smoking shortly after the rewards are no longer offered. This
can be an issue as some rewards, such as monetary ones, do not last forever.
Our app will use in-game rewards, and thus will be available beyond physician-

Health                              Computer Science / Software Engineering
led treatment.
    Our app will consist of 2 main components. One will be the EFT system,
which will prompt the user to engage in EFT and ask them to reflect on what
certain cues they had mentioned make them feel or what it makes them think.
The second will be the CM system, which will consist of 2 further subsystems
- a logging system so that users can record their cigarette usage and other
metrics, and a game through which the user will receive their CM rewards.
    Our overall goal is to run a user study to determine if this app benefits
users in the same way that physician-led CM does. To achieve this, we plan
to spend our 4A term creating the app and preparing for the user study. Then
we will run the user study during our last co-op term.

Capstone Design Symposium 2022                                        Health
14 DCC Escape: 3D virtual escape rooms for mental
   health awareness
   Team Houdini
The Distress Centre Calgary (DCC)
is an organization dedicated towards
providing crisis support for Calgary
and southern Alberta residents. DCC
provides various programs to reach
all population segments who need
help, including a 24-hour crisis line
and counselling. The organization
has also provided several services for
teenagers given the increasing preva-
lence of mental health issues among
this population demographic.
    In pre-COVID times, DCC used
in-person presentations to share their
resources with students. However,
given the impact of the pandemic,           Ahmed Hamodi, Amolik Singh,
such in-person presentations cannot           Dhruvin Balar, Jay Dhulia
take place. The Distress Centre is
currently using video conferencing to communicate with high school students.
    Using video conferencing to communicate with students in the southern
Alberta area is not an optimal solution due to lowered engagement and a
significantly decreased number of contacts with students. Also, with decreasing
attention spans in the upcoming generations of students, the need for a more
interactive and engaging form of communication is needed. The DCC and our
FYDP group have engaged in conversations since October 2020 to brainstorm
a solution to this pain point.
    FYDP team will be building out a solution (through a web application) that
allows students to actively interact with and learn more about mental health
resources that DCC provides. The resources provided by DCC will be structured
into escape rooms, scenes, and interactable puzzles. An escape room contains
one or more scenes and a scene contains one or more interactable puzzles. The
students will interact with these structured escape rooms.
    There is a need to keep the escape rooms dynamic and the resources up
to date so the FYDP team will be including a full admin interface as part
of the solution which allows admins to customize and test the escape rooms
including the rooms, scenes, and interactable puzzles. The admins are DCC
staff members. This admin interface will also allow admins to sign up or

Health                              Computer Science / Software Engineering
login to their accounts using their Distress Center emails. Lastly, admins can
view feedback from students who submit feedback through a form. This is an
optional step for the students and is shown after the successful completion of
the escape room.
    The FYDP team has partnered with UW Blueprint starting in January 2021
to build out this project for the DCC. The FYDP team built out a prototype of
this project at HTN 2020++ called Corona Escape, which ended up being one
of the finalists. The FYDP team has an internal goal of doing a soft launch
with one full escape room flow in August, in preparation for the upcoming
school year.

Capstone Design Symposium 2022                                         Health
15 Real-Time Polling Software Targetting Spontaneous
   Content Creation
   Team Vox Populi
Myriad projects and apps exist for
polling users. Content creators such
as streamers, presenters, and singers
all have their livelihoods depend on
their interaction with their audience.
Naturally, learning what the audience
wants is a key tool for maximizing au-
dience engagement.
     The user we target is a person
(poll creator) producing a sponta-
neous stream of content for an audi-
ence (poll watchers), who wishes to
create a poll to interact with said au- Stanley Huang, Wesley Leung, Yifan
dience (poll watchers). This category                        Kou
encompasses streamers, ad-hoc pre-
sentations and brainstorming sessions for which there is no fixed itinerary. Our
tool supports this poll creator by allowing them to create and refine polls as
they present, add and remove options, combine options, and simultaneously
create visualizations so the audience (poll watchers) may follow along.
     Existing software serving similar purposes are either not real-time or insuf-
ficiently flexible. Traditional polls require the poll creator to design the poll in
full prior to launching it to users. There is no room to add new options, remove
options, or otherwise modify the poll after it is sent out. Examples of these
are Kahoot, Straw Poll, Reddit, Twitch, Survey Monkey, and Google Forms.
     These products all lie at various points on two axes: Axis 1 is the ability to
create a poll and modify it in real-time in response to the audience’s actions
(spontaneous) vs having to specify the options available to the poll before
opening it to the public (preplanned). Axis 2 is the synchronicity of the poll
- do the respondents react in a matter of seconds or minutes (real-time) or a
matter of hours to days (long term)
     Most of the above options are preplanned and long term, with the notable
exception of Kahoot, which is preplanned and real-time. The lacuna that our
product targets is therefore spontaneous, real-time polling, since there currently
does not exist a product in this category.
     
User Polling                          Computer Science / Software Engineering
16 Quizem: A simple way to conduct knowledge check-
   ins
   Team Chicken Nuggets

                                                When teaching large groups of
                                            students, instructors are looking for
                                            ways to assess how well their stu-
                                            dents are understanding the content.
                                            Currently instructors turn to tools
                                            such as iClicker or Kahoot to do
                                            this. However, both of these tools
                                            are deficient in one way. iClicker only
                                            provides the ability to test student’s
   Alexandra Girard, Ariel Lam, Ben         knowledge with multiple choice ques-
       Langlois, Heather Musson             tions and Kahoot only offers time
                                            based quiz solutions. There is a mar-
                                            ket opportunity to create an iClicker
style application that provides more question types.
    Quizem aims to provide a wide variety of question types that instructors
can send to their students periodically throughout the session. Students can
join a virtual room through their phone or other device and then answer the
questions sent to them by their instructor. For example, to test new terminology
an instructor could send their students a matching question. After the students
have answered the question the instructor can view aggregate information about
the answers provided by the students.

Capstone Design Symposium 2022                                        User Polling
17 MOSS: A Crypto Algorithm Sharing Platform
   Team Team Moss

    We have seen the population of
retail investors become a more promi-
nent force in the market in the
past few years. In 2019, approxi-
mately 10% of US trading volume
was done by retail investors, accord-
ing to Citadel Securities. Just one
year later, this number jumped to
20%, after over 1.5 million broker-
age accounts were opened amongst           Taha Masood, Leo Wang, Thomas
Charles Schwab, TD Ameritrade and                  George, Erik Terwiel
ETrade alone [2]! This intuitively
aligns with the Covid-19 lockdown,
which granted the general population more time to learn about the markets
and independently manage their finances. These numerical trends, along with
the growing online communities of retail investors, are a strong indicator of a
substantial client base seeking a more streamlined portfolio management app.
    Retail investors usually struggle with making good trades - according to
Investopedia, the average retail investor has underperformed the S&P500 by
11% this year [1]. We believe that there exists an invisible barrier: unfriendly
brokerage user interfaces and their lack of cross-brokerage/exchange integra-
tions.
    Moreover, most web brokerages provide very poor charts and statistics to
describe the user’s portfolio. For instance, Questrade only displays one’s earn-
ings over a fixed 24 hour time horizon - an uninteresting metric. Different
brokerages also provide different features, leading the users to manage multi-
ple accounts across multiple brokerages. Consolidating all of these financials
into Excel spreadsheets is time-consuming and error-prone. The overarching
problem is: since these individuals are not constantly glued to their portfolios,
they do not have the time to deal with these inconveniences and properly man-
age their holdings. MOSS aims to address these pain points and make personal
wealth management more accessible to the retail investor.
    MOSS (Managing Own Stocks and Securities) is a web and mobile applica-
tion built to empower the retail investor by providing them with a user-friendly
portfolio dashboard. Broadly speaking, MOSS will integrate with the retail in-
vestor’s stock brokerages, cryptocurrency exchanges, and cryptocurrency wal-
lets to display visualizations and statistics tailored to their portfolio. MOSS

Finance                              Computer Science / Software Engineering
will maintain a financial database of stocks and cryptocurrencies, which will
be used to display this portfolio dashboard. The application will also integrate
with various financial news outlets and social media platforms in order to dis-
play real-time alerts to the user via a news and insights window. The users will
still need to perform trades through their stock brokerages (which connect to
stock exchanges) or directly through their cryptocurrency exchanges (i.e. not
through MOSS).
     [1] https://www.investopedia.com/retail-investors-are-underperforming-the-
market-5118497
     [2] https://www.globalxetfs.com/cio-corner/the-renewed-rise-of-the-retail-
investor/

                       https://github.com/moss-fydp

Capstone Design Symposium 2022                                         Finance
18 Fig: Buy Now Pay Later for Non Prime Consumers
   Team Localised

    E-commerce is a space that has
seen rapid growth over the last few
years, and has only been accelerated
by the covid pandemic. This, cou-
pled with the fact that it is cen-
tralized around a couple of major
e-commerce platforms like Amazon
and Shopify, presents a unique op-
portunity for point of sale applica-
tions. By integrating into just a few Han Xiao, Yeliang Shou, Max Dai, Ji
large platforms, a point of sale ser-                   Lin Zhu
vice could quickly reach an enormous
amount of consumers. One such type of point of sale service is Buy Now Pay
Later.
    Buy Now Pay Later as a business strategy has always existed, even before e-
commerce was popularized. The concept is as the naming suggests: companies
act as financial lenders to allow customers to purchase items they may not be
able to pay for completely. The loan is then paid off in installments which
results in revenue for the lender. From the merchant’s perspective, adopting
Buy Now Pay Later is proven to improve their business. These metrics range
from increasing average order value to decreasing cart abandonment.
    As it turns out, this business model fits very naturally at the point of sale
on ecommerce platforms. This has led to it becoming a popular fintech startup
idea as many companies compete for market share in the new and rapidly
growing sector. In Canada and America, companies like Paypal, Affirm, Sezzle,
and many more compete for customers.
    We would be building a Buy Now Pay Later solution for non prime con-
sumers (our customers). These are people that are not serviced by traditional
lending services, which only target prime consumers. In fact, there currently
does not exist a solution that targets this segment of the market in Canada.
Our application would involve integrations into major ecommerce platforms
through a redirect button. This action takes the customer to our application
form where they apply for a lease. Once a lease has been signed, a payment
provider is used to make regular payments.

Finance                              Computer Science / Software Engineering
19 Little Brother Hit Chicken: Language Based Tex-
   tual Refinement
   Team DiDiDaJi
                                             English has become the lending lan-
                                             guage of international discourse in
                                             the 21st century and to have ade-
                                             quate understanding of the language
                                             is essential for survival in today’s
                                             world. However, communication be-
                                             tween humans using English lan-
                                             guage sometimes remains quite dif-
                                             ficult, expecically in the case of hu-
                                             mans of different reading levels.
                                                 Oftentimes, individuals have diffi-
                                             culty communicting with their target
                                             readers due to accumulated writing
                                             habits. Journalists, for example, will
                                             usually have distinctive writing styles
   Jerry Huang, Saidi Tang, Hongru           which are difficult to understand for
     Xiang, Xintao (Cynthia) Zhu             the layman or younger readers. Ask-
                                             ing the journalist to completely re-
vamp their writing is infeasible, but it is also difficult to simply ask individuals
to improve their reading skills. While this may appear to be an insurmountable
chasm, we hope to answer this problem.
    While there exists a significant amount of work on text simplification, there
is a lack of research on controllable text simplification, where the simplified
text’s target readability level can be accounted for. To alleviate this, we aim
to perform the preliminary research which will potentially encourage others
to pursue this line of research. We also aim to provide a general interface
mimicking that of Google Translate which can be used for testing with actual
users.
    Our goal for this term is to first design a language model which can first
perform accurate readabililty assessment, which is the task of being able to
classify text into different reading levels. Afterwards, we hope to start design
on a language simplification model and formulate a task which can control
the output text level. On Symposium Day, we hope to have a model which
can simply text from a variety of different domains which are acknowledged by
linguistic experts as being accurate as well as results which can be published
to a conference.

Capstone Design Symposium 2022                      Natural Language Processing
20 AutoComic: Machine Translation For Graphic Nov-
   els
   Team fnord

    AutoComic is a service for au-
tomatic timely translation of foreign
graphic novels. Solutions today re-
quire a highly specialized group to
perform each stage of the translation
process (called “scanlation"). Scan-
lation is a three step process. First,
“cleaners” must clean the digital scan
of the novel by removing foreign text
and sharpening the image so the scan
can be better viewed on a digital
screen. Next, translators work on
translating all dialogue and text from
the source language into the target
language. Finally, the typesetters          Austin Jiang, Arjun Bhushan, Ali
combine the translated script with Nikseresht, Tobi Adewoye, Shun Rao
the cleaned copy of the graphic novel
using the appropriate fonts. This task can be expensive, slow, and inconsistent
due to the large team required to complete the process.
    The goal of AutoComic is to automate this process by providing visually-
consistent, high-quality translations between any two languages. Our tool will
perform scanlation with high accuracy to automate the tedious work of cleaning
and translating speech bubbles. The following is a description of how users will
interact with our tool. This will demostrate how our tool will alleviate problems
in each step of the scanlation process. First, users upload an image to our tool.
Then, speech bubbles are automatically detected and highlighted. If any oulines
were missed or incorrectly placed, the user can fix them up manually. Once
the user is ready, they can confirm their outline selections. The tool will then
translate the text in each bubble. If the user is unsatisfied with any generated
translation of any bubble, they can easily edit it. Finally, after the user confirms
their translations, the bubbles will automatically be cleaned and the translated
text will automatically be inserted.

Natural Language Processing           Computer Science / Software Engineering
21 HCI research on the applications of gestures through
   a spherical input device
   Team Dot Dot Dash

                                               Human interaction goes beyond
                                           verbal communication. Even when
                                           we are static, we move, fidget and
                                           play with items around us in order
                                           to process our thoughts. These ges-
                                           tures occur both in play and dur-
                                           ing conscious thought. Our group
                                           aims to explore these actions, their
                                           effects, and purpose through a spher-
Jasmine Ou, Gracie Xia, Derrek Chow ical interaction device that measures
                                           and identifies different gestures and
movements. Our core technology uses gesture recognition algorithms that will
be exposed as APIs ultimately allowing usage to a variety of applications. These
applications will be used along with our device to conduct various experiments
such as visualization of human movement during various activities with differ-
ent emotional associations, classifying gesture frequency, and mapping gestures
to musical sounds. We hope to conduct user studies and analyze the outcomes
of the experiments in our research.

Capstone Design Symposium 2022                                    Physical HCI
22 Eye tracking for modern apps
   Team VivaLaZeez
Eye tracking is a multi-million dollar
industry with many uses in medical,
VR/AR, and market research fields.
The idea of eye tracking is to en-
able users to use their gaze to navi-
gate a screen or a real life scenario.
This technology opens a new realm
of possibilities of how humans can in-
teract with software without haptic
input. For our project, we intend to
use eye tracking to facilitate the use
of modern social media applications.
One application in particular is Twit-
ter because we can leverage its per-
                                           Kieryn Davison, Edward (Eddie) Ren,
missive and developer friendly API to
                                           Toby James Thomas, Rosie Bahrani
meet the requirements of our project.
Twitter is the world’s 3rd most pop-
ular social media site by daily active users and improving it’s accessibility would
enable people to stay connected.
    Eye tracking has the potential to revitalize the life of many patients with
motor disabilities. As new social networks and other new applications con-
stantly emerge, patients with motor disabilities are often being left out and
isolated in the face of rapidly changing times.
    A major challenge in eye tracking is accuracy. With typical consumer smart-
phones, the front facing camera is often enough but needs to be calibrated to
the individual. Apple’s ARKit offers a pretrained model to detect the position
and orientation of the user’s gaze relative to the screen. The application would
be a mobile iOS app calling the Twitter API and responding to it using Apple’s
ARKit’s input from the user.
    For version 1, our app will display the user’s normal Twitter feed, one tweet
at a time. To like a tweet, the user will look right. To retweet, the user
will look left. To see the next or previous tweet, the user will look down or
up, respectively. To avoid errors, we will show users a confirmation before
retweeting and liking. This is a question asking the user “are you sure you
want to ?”
    There are two main users for the application. The main user and the primary
user is the individual with motor disability. The second user is their primary
caregiver. Those could be nurses or family members taking care of the patient.

Physical HCI                          Computer Science / Software Engineering
Those caregivers must be able to fully interact with the application since, in
most cases, they are the ones setting up the application for the patient, or the
ones addressing any issues the user might have when using the application.

Capstone Design Symposium 2022                                    Physical HCI
23 QB TUA: Time Usage Analysis
   Team Autumn Leaf Studio

    According to a study over the last
ten years, it was observed that the
trend of average web time spent for
an average human being is drastically
increasing. As shown, the average
time for 2019 is 153 minutes per day.
Moreover, the average time of a user
spending time on a social media plat-
form like Facebook is about an hour
per day, and yet this does not include Han Haosen, Haoyang Qi, Shen Yuan
other social media such as Youtube                  Xie, Lucy Wu,
or Twitter. It then follows that a seri-
ous problem arises as modern human
beings waste too much time each day on unnecessary media. Thus, our group
believes that a Chrome extension for managing and limiting daily domain time
usage would be very effective in consciously restricting a user’s time usage of
different domains. The Chrome extension, called QB TUA, allows users to see
time analysis of the internet based on graph generation and CSV exports, by
clicking on the options page. Also, the user is able to create restriction rules
for domains, by prompting them to enter a time limit. In order to efficiently
store and fetch data, we use Chrome Local Storage to safely manage user data.
    The degree of success of our project would be assessed based on sampling
users and sending out surveys about how much time they manage to save off of
productive websites, and how they are most aware of their time management
issues when using the Internet. In addition, we will also be able to collect data
on how many people use our Chrome extension and how our retention rate is
to measure how attractive our Chrome extension is to users.

Web Use Management                   Computer Science / Software Engineering
24 BitLodge: A decentralized file storage system
   Team HYDRA
                                           We have a world today with more
                                           than 2 billion computers and 3.5 bil-
                                           lion smartphones. As storage has be-
                                           come cheaper, a huge opportunity in
                                           utilizing unused space across these
                                           devices now exists. Dependency on
                                           cloud storage services such as Google
                                           Drive, Apple iCloud, and Microsoft
                                           OneDrive, which are expensive or at
                                           the cost of privacy. Data abuse
     Caleb Choi, Finn Macdonald            cases such as the Cambridge Analyt-
                                           ica scandal teach us to be wary of the
latter.
    Organized users, such as employees in a company, should be able to store
their folders and files without the need to trust other third parties - instead
preferring to store them on a distributed storage system based on the smart-
phones and computers of the users themselves. All users should be able to
store private files on the system, but also be able to share files amongst other
users of the organization so long as permission is granted. For convenience,
user groups (such as specific teams, or all users in a company) should be able
to be created and given permissions as a whole.
    While users are able to set permissions of files and folders themselves, the
organization’s system administrators are responsible for controlling the creation
and deletion of users, if needed. It is their role to verify identities within the
organization, create and manage user groups, and create/delete users.
    An important property would be that folders and files are cryptographically
protected - no user that doesn’t have permission should have the physical
capability of reading or writing the data, even if retrieved. As long as user
identities can be verified by the system administrators, all permissions of the
organization can be respected.

Capstone Design Symposium 2022                               Distributed Storage
You can also read