2022 Computer Science Capstone Symposium

May 6th & May 7th

The Computer Science Department senior capstone presentations will take place Friday and Saturday.  If you’d like to join the capstone Zoom session, please email Assistant Professor Jeff Caley at caleyjb@plu.edu.

Friday, May 6th

12:45pm – Personify
Cass Hunt (BS), Ariel Brice (BS) , Hannah Siitia (BS)

Personify is a web-based application that offers personalized music recommendations for music enthusiasts. Our application uses the popular and efficient machine learning technique k-means clustering to categorize over 60 years worth of popular music. Using data from the Billboard Top 100 charts, we were able to train our machine learning model with over 17,000 different songs and their audio features (acousticness, danceability, loudness, liveness, instrumentalness, energy, and speechiness). Clustering songs with similar features allows us to make predictions by comparing a user’s favorite tracks to our clusters and picking recommendations accordingly. Our website strives to interest teenagers and young adults who are active on Spotify; specifically, we aim to appeal to young women (Spotify’s second largest user demographic) and introduce machine learning concepts in an approachable and meaningful way.

1:15pm – Builderbot
Noel Sigafoos (BS), Christiaan Chandler (BA)

Builderbot is a software package that enables communication between a camera and robot arm in order to recognize, localize, and manipulate objects within a reachable distance. This package integrates computer vision using Microsoft Kinect and a myCobot 320 Pro for robot automation.

To accomplish this, Builderbot uses openCV and a pre-trained SSD neural net to detect objects and give their location in 3-dimensional space. Once detected, the object’s coordinates are then sent wirelessly through the Robot Operating System (ROS) network to the myCobot to begin the automation processes. The Unity game engine and MoveIt motion planning framework is then applied to simulate myCobot joints and navigate to objects in real time.

1:45pm – Fayil’s Temperature Mod
Liv Coverdale (BA)

Fayil’s Temperature Mod is a modification, or “mod”, that can be added to Minecraft to add an internal temperature system into the game. The mod is coded entirely in Java, and the Java code is registered into Minecraft using the Forge API. When the mod is installed, survival players will have to use new and pre-existing items to mitigate the deadly effects of harsh climates. A temperature value will be displayed on-screen, and this value will rise and fall based on factors such as the biome the player has entered as well as the player’s proximity to certain blocks, such as a campfire or a torch. This mod adds a level of challenge and complexity to the survival elements of the game.

2:15pm Break

2:30pm – Hazard Assessment Report Filer, King County Metro
Devin Horn (BA), Aaron Crook (BS)

Hazard Assessment Report Filer is a web application designed to replicate the function of the original paper and digital version of the Hazard Assessment Report. The purpose of this new application is to make the process of completing these reports more efficient and user friendly. Employees at King County Metro are able to fill out a Hazard Assessment Report, send it to other employees for required signatures, and ultimately submit the forms to a database or export them. The front end of the application is written in ReactJS and communicates with a MySQL database.

3:00pm – The Collector
Alex Richter (BS)

The Collector is a web application that provides users the ability to track price changes in the user’s Magic the Gathering card collection. By tracking price fluctuations of a collection users can make better predictions for future purchases and trades. The Collector web application is hosted on AWS using Docker, Express JS framework, and a MySQL database backend. The front end is built using React JS. The ability to track a user’s card collection will be accessible after a user creates an account and logs in. The web application will provide features to easily sort and categorize a collection through card price and other defining features of the card.

Saturday, May 7th

10:00am – FungEye: A Mushroom Identification Tool
Rainier Schlekewey (BA), Cade Lilley (BS), Joshua Berkenpas (BS), Vicky Krastev (BA)

FungEye is a web application that allows mushroom hunting enthusiasts to upload images of wild mushrooms to the site, whose species can then be identified by using a crowdsourced voting system and an AI model. Users are able to upload images or vote on the species’ classification of other users’ uploaded images, view personal uploads/results, and be rewarded for participation in the system through a series of unique collectible mushroom Non-Fungible Tokens (NFTs), which are hosted on the Proof-of-Stake Algorand Blockchain. FungEye was built using the MERN stack (server and client) with the utilization of DeepStack, a Convolutional Neural Network based image segmentation and classification tool. The core purpose of FungEye is to create a self improving ecosystem to aid mushroom enthusiasts in identifying wild mushrooms while simultaneously building a database of classified mushroom images for use in the training of an AI model and further research.

10:30am – VoteTrack
Brice Wilbanks (BA)

VoteTrack is a vote tracking web app that allows visitors to see election results from multiple elections in an easy to read format. Election results are overlaid by precincts, showing the changes in voting history and neighborhood patterns over time. For each precinct, users can see the candidates that ran in the election, the votes earned, the total population of the precinct, and the precinct’s colloquial name. The app is built using Vue3 with Mapbox and Firebase. Data was collected from state agencies.

11:00am – Break

11:15am – Kattapon! A Gashapon Inventory Tool
 Adrienne Slawik (BA), My Linh Quach (BS), Mikhail Korovnik (BS)

The Kattapon online application manages a dynamic product inventory for users who run their own small businesses on the internet. Inspired by Japanese gacha culture and capsule prize machines, we are building a website running on a Firebase backend which implements a dynamic inventory beneath an interactive React.js frontend to emulate the real-life capsule machine experience on the user’s device.  Our application targets a substantial online business niche as an independent tool for artists to manage their inventory and drive sales through gamification.

11:45pm – Buggy Coders
Cody Uehara (BS), Kieran Kim-Murphy (BS)

Buggy Coders’ is a competitive racing platform designed to build and program 1/10th-scale race cars to drive autonomously. The car framework is based on the University of Pennsylvania’s F1Tenth design. Robot Operating System (ROS) is used to deploy our simulation tested racing algorithms to the hardware. Key objectives involve racing purely using sensor data, transitioning to creating maps to localize the vehicle, and finally optimizing for race purposes. Work on this project will help to develop experience in the exponentially growing autonomous vehicle industry.

12:15pm – Break

12:30pm – CodeCreate
 Adrian Ronquillo (BS), Charlie LeWarne (BS)

CodeCreate is an all-in-one coding platform and web application for browser and mobile devices. Users are able to solve algorithmic and multiple-choice problems created by other users on the website, as well as create their own problems to share. Educators can use the website to embed custom problems into their lesson plans via iframes that each problem provides. Algorithmic problems are run in Docker containers to use their separate development environment to prevent potentially malicious code from affecting the client’s operating system or the application as a whole.