Project Reports
Project reports for our defended M.S. projects (except non-thesis research reports). Our lab's official latex template can be found
here.
2024
Graduation and Placement Trends in Philosophy Graduate Programs Using Automatic Web Scraping
Vladiszlav Pauk
PDF |
GitHub
A non-thesis research report.
LegalAid: Legal Case Processing and Scheduling Software
Mahesh Narpat Chand
Committee: Bailey (chair), Sarma, and Hundhausen
Plants for Urbanites
Po-Hsuan (Aeliana) Shen
PDF |
GitHub
Committee: Bailey, Braynen, Burnett, and Edmunds (Dept of Horticulture)
Tech stack: Swift, SwiftUI, AWS (API Gateway, Lambda, DynamoDB, S3), REST
Abstract.
Plants for Urbanites is a mobile application that helps users purchase plants
that fit their home environment by (1) measuring the light from the environment,
(2) placing a virtual box on the Augmented Reality screen to calculate the
approximate preferred plant size, (3) simulating indoor arrangements by
placing the plant’s 3D model in the user’s home environment.
This project was done in collaboration with the OSU Horticulture
Department to validate the plant data. The Plants for the Urbanites
builds on usability research from a HCI team project I led in an HCI course.
The technologies it leverages are AWS serverless services (API Gateway,
Lambda, and DynamoDB) and, for the frontend, ARKit with RealityKit on
the iOS platform.
2023
Flow Magic: Screen Flow Simplified
Kedar Dhere
PDF |
GitHub
Committee: Braynen, Bailey, Termehchy
Tech stack: Swift, SwiftUI, React.js, React Flow, REST
Abstract.
Flow Magic is a tool, composed of a software development kit (SDK) and a web portal,
that allows real-time modifications to an iOS mobile application’s screen flow
without requiring code redeployment. ‘Screen flow’ refers to the sequence and
navigation between various screens in an application. Traditionally, the
screen-flow changes in a mobile appli- cation involve a lengthy process where
the product owner creates a ticket, developers make code changes, and the
rebuilt binary is submitted to the App Store, Apple’s application marketplace,
for approval. Flow Magic streamlines this process by eliminating developer
intervention and App Store verification, thereby allowing product owners to
directly implement and push changes to production.
LabelFlicks
Anita Ruangrotsakun
PDF |
Demo video | GitHub:
backend,
desktop
Committee: Braynen, Burnett, Lee
Tech stack: Svelte, FastAPI (Python, REST), TensorFlow, Figma, Swagger
Abstract.
Using supervised machine learning (ML) to train a computer vision model
typically requires human annotators to label objects in images and video.
Given a large training dataset, this can be labor intensive, presenting
a significant bottleneck in the model-development process.
LabelFlicks is an open-source desktop application that aims to
address this pain point with three helpful ML-assisted features:
(1) a streamlined preprocessing pipeline to convert videos into a series of frames,
(2) pre-labeling of video frames using an object detection model, pre-trained on the COCO dataset, that ships with LabelFlicks,
(3) an ML-assisted human-in-the-loop workflow for correcting bounding box labels. For each frame of the video(s)
provided by the user, LabelFlicks produces a text file containing labeled bounding boxes in the
COCO annotation format. These datasets can be analyzed (e.g. for finding biases in data slices)
or used to train or finetune an object detection model of your choice using model training tools
such as PyTorch or TensorFlow.
SpotFinder: a dedicated parking app for campus parking
Shreya Dhume
PDF |
GitHub
Committee: Braynen, Bailey, Termehchy
Tech stack: Kotlin on Android, REST, node.js for a mock server, Swagger. (QE focused: PR checks, unit-testable code, code coverage, etc.)
Abstract. SpotFinder is the mobile frontend of a parking system that
helps drivers find a parking spot on campus. (The backend piece of the parking system was
developed by others in the lab as part of a previous project.) Finding parking can be viewed
as both a search problem and a coordination problem. The search problem
is finding parking lots with availability and then performing a sort-and-filter on the search results (e.g. given
some cost function).
The coordination problem is avoiding having two drivers try to park in the same spot.
For example, if there are 5 drivers, but only 3 available spots in parking lot A and 2 available spots
in parking lot B, then five people should not be directed towards the same parking lot.
SpotFinder solves the search problem by computing the most suitable parking lot
based on real-time availability and the user’s estimated time to reach the parking lot.
The coordination problem is solved using a soft-reservation concept. Rather than a firm commitment,
this approach temporarily holds a parking spot to ensure that two people are not directed to the same spot,
improving the odds of securing a parking spot.
Metadev: Metadata Driven ERP Development Framework
Supreeth Suresh Avadhani
PDF |
GitHub |
npm Registry
Committee: Braynen, Bailey, Termehchy
Tech stack: AngularJS, Java and PostgreSQL, OpenAI's Chat Completion API (with a custom model)
Abstract. Metadev is an open-source framework
that facilitates the generation of complete Enterprise Resource Planning (ERP) applications through
metadata. By 'metadata' I mean module-specification files from which Metadev produces a
full-stack ERP system. ERP systems are a type of software which helps businesses to
manage their day-to-day operations; for example, an ERP might be used to maintain employee
records. The metadata can be written manually, generated from a text prompt, or using
Metadev’s Graphical User Interface (GUI). The framework’s goal is to make implementing
ERP systems affordable and simple for small businesses and non-profit organizations.
Yet Another Coding Platform (YACP): An Innovative Adaptive Platform for Personalized Learning of Data
Structures and Algorithms
Rohit Nair
[
PDF]
Committee: Braynen, Bailey, Termehchy
Tech stack: Next.js, MaterialUI, Supabase, Vercel, Judge0, Prisma, NextAuth.js, Figma, Swagger
Abstract. YACP (Yet Another Coding Platform) is a web-based application that utilizes spaced
repetition and active recall, both cognitively informed pedagogical techniques, to help professional
and student software developers prepare for technical interviews. These types of interviews
are common in today’s workplace and are based on Data Structures and Algorithms (DSAs).
DSAs are fundamental concepts in computer science education and skills critical for technical
interviews, encompassing problem-solving, analytical reasoning, and coding proficiency.
The platform tracks the user’s progress, where progress is a function of five variables: (1)
time to solve, (2) the number of hints accessed, (3) whether the user looked at the solution,
(4) the number of times the user ran their proposed solution against test cases, and (5)
the number of failed test cases in the last run. Problem revisits are then scheduled using a
multi-dimensional adaptation of the SuperMemo2 spaced-repetition algorithm.
HawkerHub: A community-driven hawker discovery platform
Anush Suresh Kumar
[
PDF]
Committee: Braynen, Bailey, Termehchy
Tech stack: Flutter and Dart, REST, AWS (AWS Serverless Application Model, DynamoDB, S3, Lambda), Google Maps Platform, Figma, Swagger
Abstract. Technology has played a significant role in transforming
the way businesses operate in recent years. It has helped businesses reach an extensive consumer base,
improve operations, and increase revenue. Thanks to online food-delivery systems, restaurants can now
reach customers who may not have been able to visit their brick-and-mortar locations. In developing
countries, however, because of the low literacy rate and lack of awareness, the adoption of technology
by small businesses, hawkers, and street vendors is slow. These small businesses, street vendors, and
hawkers need their community’s support to sustain and grow. HawkerHub is a crowd-sourced, community-driven
hawker discovery and indexing mobile application focused on enabling technology for street vendors, hawkers,
and small businesses. This application, built on a mobile platform, aims to gather current and accurate
information on these vendors to locate them quickly. It is an all-inclusive mobile application with
an easy-to-use UI and simple and rapid contribution steps. By adopting these technologies,
hawkers can focus on what they do best serving the community while leaving the rest to technology.
2022
SmartPark
Chay Nandam
PDF |
GitHub
Tech stack: AWS (API Gateway, AWS Lambda, EC2, S3), MongoDB and PyMongo, Docker, Python, YOLOv4 and YOLOv5
Abstract. There is no online system to track the occupancy of a parking lot
and advise if parking space is available at any given point in time. The CCTV cameras installed in
the parking lots require manual effort to monitor and update the empty slots' information.
It is intended to design a system that can track the parking lot occupancy automatically without
human intervention presenting the empty/full parking spaces in the parking lot through a cloud-based online system.
SmartPark is a concrete implementation built to solve this problem. This implementation provides an API (Application Programming Interface)
to get occupancy information of nearby parking lots in real time based on the user's GPS location.
This API is built with computer vision intelligence and Amazon web services in the backend.
Any Web or mobile client can consume this API to get the list of nearby available parking lots
and also the occupancy information such as the number of vacant parking spaces, number of
vehicles and location details of each lot. If a mobile/web application wants to find
available parking lots nearby a particular location, this API can be used to get a
list of available parking lots nearby that location and also to get the occupancy
information of one particular parking lot from the list of available parking lots.
Share What You Can
Amulya Gangam
PDF |
GitHub
Committee: Braynen, Rose, Bailey
Tech stack: Kotlin on Android, Firebase, ML OCR on mobile device.
Abstract. Food is our primary source of nourishment. However, with the growing population,
there has been a substantial increase in food waste by both restaurants and individuals. Share What You Can is
an Android application designed to tackle this problem. The application operates as a two-sided marketplace to
which donors upload images of and details about surplus food they want to share with receivers.
Donors advertise that they have food by uploading images of the food they want to donate with
an additional description that includes the food details. Receivers go through the donors’ posts
and, if they like some food item from the listings, then they can request it. Moreover, food expiration
dates are rarely considered in most food-sharing applications. To avoid the possibility of donating expired food,
Share What You Can allows donors to scan expiration dates, ensuring only fresh food is shared.
Reshape, an Android Solution
Siri Chandana Gangam
[
PDF]
Committee: Braynen, Rose, Bailey
Tech stack: Kotlin, ReactJS, Firebase
Abstract. Reshape is a platform that enables you to rearrange the screens of
an Android mobile application without having to make any changes to the underlying source code and
so without having to re-upload the build to an app marketplace. This can help reduce development costs and speed up deployment.
This is similar to A/B-testing solutions available today, but with a focus on reshaping screen flows on the fly,
which is a feature currently absent from those solutions. While Reshape is a prototype built for Google’s
Android platform and so focuses on obviating the need to re-upload to Google Play, Google’s app marketplace,
it is a proof of concept that is not specific to Google Play and Android. The same idea can be applied to Apple’s
App Store and iOS, or in principle to any other distribution platform. Reshape includes a Software Development Kit (SDK),
a web portal, and a backend that connects the two. The web portal shows a screen flowchart for the mobile application,
which reflects the actual order in which the screens Dr. Will Braynen appear in the mobile application.
Using the web portal, the Product Owner can change the screen order without having to lean on the help
of a software developer. The Android SDK has the logic to rearrange the screens of the Android
mobile application based on the order received from the web portal via Reshape’s backend.
See Emotion, Play Music
Swetha Jayapathy
[
PDF]
Committee: Braynen, Bailey, De Amicis
Abstract. Sound is said to have healing power over the human body by inducing certain
vibrations into the cells of the body. Music is one such element in our everyday lives.
Listening to music may increase the release of pleasure-causing substances in the brain,
which ultimately helps to reduce stress-causing hormone production in the body. Researchers
have proved that there is a connection between music and mood. It is observed that people
tend to become overwhelmed with certain emotions by repeatedly listening to the same kind of music.
In certain situations, this may seem to affect the state of mind of a person. SEPM (See Emotion, Play Music)
is a software that captures the current mood of a person by analyzing their facial expressions
and recommends songs that help one lift their state of mind. If a person's current mood is sad,
then SEPM helps uplift the person's mood by suggesting songs that are in a neutral mood range.
In the same way, if a person's mood is neutral, it suggests songs with a mood range that is slightly
higher than neutral and thereby helps in uplifting their state of mind. SEPM connects to the Spotify
API and retrieves the user's data. SEPM then generates a customized playlist depending on the
user's current mood, which can then be saved and retrieved. SEPM also has other features such
as getting the user's top tracks, top artists, library, and recently played tracks.
In real- time, this software would be a game-changer in many people's lives,
uplifting their moods and carrying them forward energetically through the day.