Awarded First Place at the WSU CougHacks hackathon · 2026
A campus application exploring shared views of spaces, audio-level heatmaps, and connected video and audio devices for students and security staff.
Web applications
IoT
Audio & video
About the build
Combines a floorplan interface with IoT streams to help students locate quiet or active areas while supporting a separate security workflow.
ApplicationsTeam project
More private conversations
Awarded First Place at the WSU CougHacks hackathon · 2025
A web and mobile messaging project for care-home residents, friends, and family, with personal-information filtering before messages are stored.
Web & mobile
Messaging
Privacy
About the build
Explores how to keep people connected while limiting the identifying information passed through a messaging system.
ApplicationsTeam project
Making habits visible
Awarded First Place at the WSU CougHacks hackathon · 2023
A habit-tracking application built with a SvelteKit interface, a Python API, and a relational database.
SvelteKit
Flask
PostgreSQL
About the build
A collaborative project bringing together frontend development, backend API design, persistent data, and cloud deployment.
AIWorking prototype
An AI conversation partner
A locally running language-learning prototype that pairs spoken conversation with an animated, lip-synced character. Built around Japanese practice, with an English mode too.
Python
TypeScript
Three.js
Local inference
About the build
Connects speech recognition, a local language model, speech synthesis, and a browser-based 3D avatar. Pronunciation scoring and additional languages remain future work.
AIPersonal project
Speech for typed messages
A self-hosted voice-channel tool that reads typed messages in a participant’s registered voice, using their own audio sample.
TypeScript
Whisper
Qwen3-TTS
SQLite
About the build
Combines local transcription and speech synthesis with a per-channel playback queue. Voice registrations can be removed, and speech generation releases GPU memory between jobs.
SystemsIn development
Keeping a service reachable
A Linux service that coordinates a shared IP address across machines using peer heartbeats, health checks, and an ownership election.
C++23
Linux
Networking
Next.js
About the build
Includes a dry-run mode, optional quorum and self-fencing, and a web dashboard. The software is pre-release; real failover behavior still needs validation in the target environment.
ApplicationsTeam project
A place for everything
A home inventory application for keeping track of items, their photos, and where they belong. Built collaboratively with separate web and API layers.
Next.js
Flask
MongoDB
Python
About the build
Uses a document database to organize containers and items, with an image-storage service and a web interface for finding belongings.
AIExperimental
Two-way AI audio
An audio bridge between a group voice call and a local speech-to-speech model, designed for conversations where listening and speaking can overlap.
TypeScript
WebSocket
FFmpeg
GPU inference
About the build
Mixes participants’ audio, converts sample rates, and streams it over WebSocket. The model server has been brought up; end-to-end latency, echo, and turn-taking still need hardware validation.
SystemsHardware research
Inside a network transceiver
Python tooling and research into reading, backing up, and comparing transceiver EEPROM data through a USB programming device.
Python
USB
EEPROM
Diagnostics
About the build
A targeted compatibility change was written and verified, but the intended switch still did not establish a link. The research documents that unresolved result alongside recovery steps.
The homelab
A place to experiment.
A Proxmox rack server for ZFS storage, local AI, media, networking, and a Kubernetes learning environment.