WWU Computer Science

Student Projects

Senior capstone projects from Walla Walla University Computer Science students. Each project is built by students under faculty or industry mentorship and addresses a real-world problem.

Filter by year:
Featured

Advisor Survey Application

2025

Developed a web application for Walla Walla University's Academic Advisement Office to replace manual PDF-and-email distribution of annual Advisor Survey results. The system provides a centralized, secure platform with interactive Dash dashboards showing response summaries, per-question averages, and multi-year comparative charts. Users authenticate via university SSO with role-based access for Administrators, Advisors, and Department Heads. Built with Python, Dash, Flask, HTML, and CSS; deployed on Dokku with CI/CD through GitLab; and tested with pytest.

Dilraj Kaur

PythonDashFlaskHTMLCSSSSODokkupytestdata visualizationrole-based access
View project →
Featured

ClassOpen Upgrade

2024

An upgraded version of ClassOpen, a web application used by faculty, students, and the records department to find classes, build schedules, and plan future coursework. The upgrade focused on a modernized, less cluttered user interface with improved mobile support, a class-conflict checker, a class-saving feature, and ADA accessibility work using Dart and Flutter.

Julian Jones

web appDartFlutterUI/UXaccessibilitytesting
View project →
Featured

Grail - a Python Translator

2023

Grail parses a Python AST into executable GemStone Smalltalk code, providing Smalltalk's relational database integration to Python developers. Contributions include a scoped variable system, three-quarters of Python's built-in functions, complex number support via Euler's formula, and a string-injection formatter matching Python's output precision.

Adam Taylor

PythonSmalltalkASTtranslatorlanguage design
View project →
Featured

Grail

2022

Extended the Grail Python-to-GemStone Smalltalk translator with support for lists, tuples, sets, dictionaries, classes, and exception handling. Added a demo video showcasing the translator running Python programs live in a GemStone environment.

Will Hensel

PythonSmalltalkGemStoneASTtranslatorlanguage design
View project →
Featured

Bible in Living Sound

2018

Developed a cross-platform mobile app in React Native for Bible in Living Sound that plays audio Bible content from cloud or local storage with user authentication. Built using Redux for state management, React Native Fetch Blob for file retrieval, and React Native Video for audio playback.

Quillan Jacobson and Charles Lambert

React Nativemobile appaudiocloud storageauthenticationcross-platform
View project →

Opus - Mobile Financial Education Application

2025

A mobile iOS app that teaches key financial concepts via an intuitive interface and interactive modules. The app includes secure Google Single Sign-On, dynamic Markdown-based lessons, and progress tracking for a personalized experience. Development covered front- and back-end work including UI design, view implementation, lesson rendering, and establishing a CI/CD pipeline.

Grant Moody

iOSfinancial literacymobile appSwiftSSOCI/CD
View project →

The Atlas App

2025

A cross-platform web and iOS app to modernize operations at The Atlas, a student-led coffee shop at Walla Walla University. Addressing a lack of streamlined communication, the app features an updated menu, announcements, a digital rewards system, and reservation tools. Built with Dart and Flutter and supported by tools like Xcode and VS Code, it includes a dynamic admin interface for easy data management.

Bowyn Maddocks, Samuel Hoffmann, Sophia Oliinik, Sophia Kist

mobile appFlutterDartiOSweb appUI/UX
View project →

WWU Budget App

2025

A budget management web application for Walla Walla University's finance department, replacing an Excel-based system. The application allows the accounting department to upload CSV files displayed in an organized widget-based interface, with role-based permissions and Microsoft Single Sign-On for authentication.

Aaron Martinez, Benjamin Watcher, Hunter Kimes, Michael Austin, Raven Chester

web appbudget managementfinanceauthenticationSSORESTful API
View project →

Apache AsterixDB Interval Join

2024

Development of a dynamic-hint interval join function for Apache AsterixDB, an open-source SQL++ database system. The project extended the existing interval_overlapping() function to correctly deduplicate results when no static range hint is provided, implementing a new join operator, a range-map serializer/deserializer, and a duplicate-removal descriptor in Java.

Edward Coberly

databaseApache AsterixDBJavainterval joinSQL++open source
View project →

Ocean Acidification Tank Controller App Expansion

2024

Expanded the Flutter mobile app for the Open Acidification Tank Controller, a device that measures and controls pH and temperature to study effects on marine life. Added viewability and editability for over a dozen new variables on the Current Data page, color-coded pH vs. thermal values, and improved JSON buffer handling, with contributions merged into the open-source project.

Lydia Thiel

FlutterIoTocean acidificationopen sourcemobile apphardwaretesting
View project →

Submitty Gradeable API

2024

Extended the open-source Submitty course management system with a Gradeable Creation API, allowing instructors to download and upload gradeable configurations as JSON. A student-facing API was also added, enabling students to submit VCS assignments and retrieve grades programmatically without visiting the web interface.

Cameron Peterson

APIopen sourcecourse managementPHPtestingSubmitty
View project →

Alkalinity Titrator Project

2023

Integrated a user interface with the Open Acidification Alkalinity Titrator, a Raspberry Pi device for ocean-acidification research. Rewired hardware, updated deprecated CircuitPython libraries, created device mocks for each peripheral, and built a tkinter GUI to allow development without the physical device.

Taylor Smith

PythonRaspberry PiIoTocean acidificationhardwareopen sourcetesting
View project →

Apache AsterixDB

2023

Developed a dynamic range map function for interval join algorithms in Apache AsterixDB, eliminating the need for manual SQL++ hint queries. Implemented the IntervalRangeMapDescriptor to compute split points and percentages automatically, and wired it into a sort-merge interval plan with replicate, forward, and partitioning exchange operators.

Kaden Fairchild

databaseApache AsterixDBJavainterval joinSQL++open source
View project →

MxHub Web

2023

Developed MxHub Web, a React web application for Alaska Airlines aircraft line technicians to view flight lists, maintenance items, and aircraft status. Built data-mapper functions to parse large API responses into typed class instances, and implemented a dashboard, filters, persistent navbar, and aircraft search component.

Quinton Price

ReactJavaScriptweb appAlaska AirlinesAPI
View project →

Responsive UI Re-design

2023

Redesigned the PointCheck browser application for HTS Ontario to support mobile devices. Implemented three responsive layout breakpoints using Flutter Flex widgets, a collapsible drawer for the equipment tree on mobile, and a proportional logo scaling function. Submitted as a pull request to the company's repository.

Bradon Ladd

FlutterDartresponsive designUI/UXmobileweb app
View project →

Tank Controller Manager

2023

Extended the Open Acidification Tank Controller Manager web application with new features and developer tooling: a remove-tank button, async IP address validation, a custom Dart linter, UI shortcuts for editing tank settings, file upload support, improved README documentation, and an updated Open Acidification project website section.

Evan Taylor

FlutterDartIoTocean acidificationopen sourcehardwaretesting
View project →

Thomsen JumpStart Scheduler

2023

Built a new JumpStart freshman-orientation scheduler for Walla Walla University using PeopleCode and T-SQL within PeopleSoft. The scheduler supports general and group sessions with conflict detection, automated schedule generation, and manual adjustments via four components: Session Keys, General Schedules, Group Schedules, and Student Schedules.

Catherine Thomsen

PeopleCodeT-SQLPeopleSoftdatabaseschedulingweb app
View project →

WWU Nursing Simulation

2023

Built a nursing administration simulation application in Flutter and Dart with a Shelf backend, allowing nursing students to practice medication administration safely. Features include patient management, a MAR calendar, inventory tracking, activity logs, Azure AD single sign-on, and barcode scanning support.

Matija Benko, Hayden Tinker, Reece Reklai, Garrett Moody

FlutterDartweb appdatabasehealthcaresimulationAPI
View project →

Hartman Outfit Designer

2022

Built an outfit designer application in Flutter that helps users pick outfits each morning. Users input their wardrobe and the app generates unique outfit combinations based on color theory, with a color-compatibility scoring system and a catalog for storing clothing items.

Joel Hartman

FlutterDartmobile appUI/UXmachine learningcolor theory
View project →

JS and Dart Interoperability

2022

Explored JavaScript and Dart interoperability for a seismic visualization web application. Implemented bidirectional JS-Dart communication using dart:js, enabling a Flutter/Dart frontend to call JavaScript libraries and receive callbacks for rendering seismic data.

Owen Hoffman

DartJavaScriptinteroperabilityweb appseismic visualizationFlutter
View project →

Machine Learning Morse Code

2022

Built a deep-learning Morse code decoder that takes audio input and outputs decoded text. Trained a convolutional neural network on spectrogram images of Morse code signals, achieving reliable recognition across varying signal qualities.

Lucas Saca

machine learningneural networkMorse codeaudio processingPython
View project →

Secondary Structure Identification in RNA

2022

Implemented a program to identify secondary structures in octopus RNA sequences around edit sites for Dr. Kirt Onthank's ocean-acidification research. The tool distinguishes real RNA edits from false positives by detecting hairpin, bulge, and internal loop structures near each candidate edit site.

Ivan Guillen

bioinformaticsRNAsecondary structurePythonocean acidificationresearch
View project →

Tank Controller Ethernet Server

2022

Added an Ethernet server to the Open Acidification Tank Controller Arduino firmware, enabling remote HTTP access to tank data and settings. Implemented GET and PUT request handlers, integrated the server into the existing UI state machine, and contributed changes back to the open-source project.

Trevor Natiuk

ArduinoC++IoTocean acidificationopen sourcenetworkinghardware
View project →

Tank Controller Manager

2022

Built the initial Tank Controller Manager web application in Flutter and Dart, providing remote over-the-network access to Open Acidification tank controllers. The app displays live tank data, supports multiple controllers simultaneously, and records sensor readings for research use.

Kaelan Willauer

FlutterDartIoTocean acidificationopen sourcehardwaremobile app
View project →

UI State Machine

2022

Designed and implemented a UI state machine for the Open Acidification Alkalinity Titrator running on a Raspberry Pi. Created a hierarchical state structure covering all titration workflows, integrated hardware device wrappers, and established a test suite to validate state transitions.

Kieran Sukachevin

PythonRaspberry PiIoTocean acidificationhardwareopen sourcetesting
View project →

UniTime SSO

2022

Added OAuth2 single sign-on to UniTime, the open-source class scheduling system used at Walla Walla University. Implemented a WWU SSO provider using Spring Security, allowing users to authenticate with their existing campus credentials rather than a separate UniTime account.

Trevor Claridge

OAuth2SSOJavaopen sourceUniTimeweb app
View project →

CourseControl: Creating a Web Course Creation and Management WordPress Plugin

2021

Created CourseControl, a free and open-source WordPress plugin that adds web course management to any WordPress site. The plugin supports a three-level hierarchy of Courses, Modules, and Lessons stored as custom post types with bidirectional metadata links, a unified admin submenu, filtering by parent object, and proper cleanup on deactivation. Built in PHP following WordPress coding and GPLv2 licensing guidelines and tested with PHPUnit and WP-CLI on a Raspberry Pi LAMP stack.

Jeffrey Berglund

WordPressPHPpluginLMSweb coursesopen sourcePHPUnitcustom post types
View project →

Goldstream App

2021

Built a React web application for Goldstream Engineering, a civil and structural firm based in Fairbanks, Alaska, to replace a costly third-party site-visit documentation tool. The app works fully offline using a service worker and local storage, captures all required site-condition inputs, and exports the recorded data as a downloadable text file — meeting the three core requirements of offline operation, complete data capture, and portable output.

Jason Riggs

Reactweb applicationofflineservice workercivil engineeringdocumentationPWA
View project →

Interval Time Sweep Join

2021

Contributed to AsterixDB, an Apache open-source NoSQL database, by implementing six remaining Allen's relations for interval sort merge join and building interval time sweep join from the ground up. All thirteen Allen's relations now pass runtime tests. The time sweep join framework — physical operator, operator descriptor, active sweep manager unit test, and join algorithm — is complete and passing all interval join tests, advancing the goal of improving interval query performance in AsterixDB.

Caleb Herbel

AsterixDBdatabaseinterval joinsAllen's relationsJavaApacheopen sourcealgorithms
View project →

Open Acidification Tank Controller

2021

Refactored the TankController firmware for Dr. Kirt Onthank's ocean-acidification research tanks at Walla Walla University. Replaced a monolithic switch-statement loop with a state machine architecture that eliminates blocking on user input, improves maintainability, and simplifies future feature additions. Contributions include wrapping all hardware devices in testable classes, implementing a reusable NumberCollector state for numeric input, and adding comprehensive unit tests — work that has since been merged as the new trunk of the open-source TankController project and deployed on physical research tanks.

Wesley Duerksen

ArduinoC++state machineocean acidificationIoTembedded systemsopen sourceTDD
View project →

Patient Incentives Mobile App

2021

Designed and built a full-stack patient rewards system for Oasis Physical Therapy to increase plan-of-care completion rates. The React application runs as both a mobile web app (deployable via Apache Cordova to iOS) and an admin web portal, backed by Firebase authentication, Firestore, and Firebase Hosting. Key features include QR code scanning for achievement verification, a leaderboard with HIPAA-compliant pseudonymous usernames, achievement management for admins, and a continuous integration pipeline using GitHub Actions and the Firebase Emulator.

Luke Irvine

ReactFirebasemobile apphealthcarepatient rewardsQR codeHIPAAApache CordovaCI/CD
View project →

Appointment API

2020

Designed and developed a RESTful API backend for a modular appointment system at Community Software Group, serving social service agencies in Massachusetts. Built 14 endpoints in C# using .NET Core and Entity Framework with Microsoft SQL Server, documented each endpoint in Markdown, and configured 18 unit tests to run automatically via GitHub Actions on every commit.

Nicholas Morin

C#.NET CoreAPISQL Serverunit testingGitHub Actions
View project →

ASWWU Web API Testing

2020

Implemented behavioral API tests for the ASWWU Web server covering user authentication and the Elections, Jobs, and Mask projects. Wrote 47 tests (~2500 lines of new code) bringing code coverage to 58%, established continuous integration, and standardized the development workflow with deployment scripts, Pipenv, and predefined settings environments.

Stephen Ermshar, Kaden Sukachevin

PythonAPItestingpytestbehavioral testsCIopen source
View project →

BMT Roku App

2020

Built a Roku streaming app from scratch for Blue Mountain Television using BrightScript and the SceneGraph UI framework. The app displays BMT's video library and live streams with series and episode browsing; all content is managed via a JSON file on BMT's private server, giving them full control over uploads and updates without touching the source code.

Nick Perry

RokuBrightScriptSceneGraphstreamingvideoJSONVimeo
View project →

E-Lock

2020

Rebuilt the electronic door-lock system for Kretschmar Hall and Chan Shun Pavilion after a power surge destroyed the original hardware. The new system consists of a server API, WiFi-capable door controllers with OTA updates, a web frontend for students and admins, and a migrated legacy system — totalling over 40,000 lines of code and deployed at elock.cs.wallawalla.edu.

Jacob Priddy, Jarod Owen

APIhardwareIoTaccess controlsecurityopen sourceiCalendar
View project →

Open Acidification

2020

Extended the Open Acidification pH-Stat platform for Dr. Kirt Onthank's ocean-acidification research. Matthew overhauled the device firmware with a REST API, paged logging by date and time, and a JSON time-series protocol. Cameron built a Django/Vue.js web application for managing tanks, designing custom time series, downloading data, and viewing real-time tank status — targeted for deployment on a Raspberry Pi at Rosario Beach Marine Laboratory.

Cameron Bierwagen, Matthew Ma

ocean acidificationDjangoVue.jsArduinoIoTopen sourceresearchPython
View project →

College Place High School Homework Helper

2019

Built a mobile app for College Place High School that enables parents and teachers to communicate about homework assignments in real time. Uses a Firebase real-time database so parents can see whether their child has assignments due, aiming to make homework a shared effort between students, parents, and teachers.

Dennis Herrera

mobile appFirebasereal-time databaseeducationAndroid
View project →

GemStone as a Service

2019

Added features to GaaS.st, GemTalk Systems' hosted GemStone development environment, increasing capabilities and security for both users and administrators. Enhancements include improved VM management, user account controls, and administrative oversight tools.

Oscar Flores, Jahri Harris

GemStoneSmalltalkweb appcloudvirtual machinessecurity
View project →

GMIX - Specialized Music Player Application

2019

Designed and implemented GMIX, a background audio management system for tabletop RPG sessions with potential use in theatre and DJ/MC work. The desktop application supports versatile end-user customization, multiple audio file types, and is designed for continued refinement as part of a larger game management suite.

Milwaukee Davis

audiodesktop apptabletop RPGPythoncross-platform
View project →

Interactive Campus Map Application

2019

Built an interactive web application providing detailed floor plans of WWU's main buildings and classroom schedules to help campus visitors find rooms. Uses common web frameworks and JavaScript mapping libraries, matching WWU's brand color palette and professional website standards.

Dakota Maura and Brandon Rich

web appJavaScriptcampus mapfloor plansinteractiveWWU
View project →

MRGen - A monitoring and report generation tool

2019

Built MRGen (Monitoring and Report Generation), a tool that aggregates data from multiple monitoring services and generates client-facing reports for Out of a Jam Solutions. Reports give clients a consolidated overview of services provided over the year.

Dennis Herrera

monitoringreportingautomationPythonAPI integration
View project →

NWD Database Tool

2019

Developed the NWD Database Tool for the U.S. Army Corps of Engineers to coordinate public affairs data across multiple Districts. The tool tracks thousands of contacts, news stories, and media engagements in a single system, with built-in safeguards to preserve the database if power or connectivity is lost.

John Dodd

databaseU.S. Army Corps of Engineersdesktop apppublic affairsdata coordination
View project →

Recipe Planning App

2019

Developed a cross-platform mobile meal-planning app in React Native using Expo and MobX for state management. Users input their own recipes and the app generates a weekly meal plan along with a consolidated grocery list.

Hunter Danielson

React Nativemobile appmeal planningExpoMobXcross-platform
View project →

yadd_RS - a portable disassembler and FASTA generator

2019

Created yadd_RS, a portable disassembler and FASTA generator for the MLSTONES malware analysis project at PNNL. Written in Rust, it ingests binary executables and encodes them as FASTA text files for safe distribution and simplified analysis, and can be compiled as a native CLI tool or as a WebAssembly GUI web application.

Cameron Smith

RustWebAssemblydisassemblerFASTAmalware analysisPNNLbioinformatics
View project →

Image Stacker

2018

Built an Android app using the Xamarin SDK that takes screenshots from Fire Emblem Heroes, crops and stacks them to condense information, and uploads the final image to Imgur via its API. The app was released on the Android Play Store and received positive reviews.

Scott Ginoza

Xamarinmobile appimage processingAndroidImgur APIFire Emblem
View project →

Integrating the Adventist Health Message

2018

Integrated Creation Health data from Adventist Health System's standalone website into Hello Well, the organization's widely-used consumer-facing mobile application. Made previously siloed health content available to a much broader audience through API development and data integration.

Ethan Beaver

API integrationhealthcaremobile appAdventist HealthHello Well
View project →

Sunrise Custom Management API

2018

Designed, tested, and implemented a real-time customer management API on the Sunrise platform for Travel Resorts of America. The project includes a token-based authentication system, RESTful API endpoints, and unit tests, designed to expand the internal API framework for future integrations.

Jonathan De Leon

APIRESTauthenticationcustomer managementunit testing
View project →