Projects
Here are some of the things I have worked on. Aside from projects from work/school classes, many of my projects are simply just me experimenting with new technologies and making stuff.
BYU Pathsay
BYU Pathsay is a web-based speech data collection tool used in the BYU MATRIX Lab that I have been working on over the past several months. It was written in TypeScript using React and Express. Since starting on this project, I have contributed to it by migrating the data from a SQLite database to a PostgreSQL database, which has improved the response time of certain report endpoints by up to 6x. I have also worked extensively on improving the UI design, adding features for gathering feedback on models, and refactoring the codebase for maintainability and scalability. I have future plans to implement caching to improve performance, a stronger testing/CI pipeline, finer-grained access controls.
In conjunction with this project, I also develop an API that provides neural text-to-speech inference capabilities using models developed in our lab from data collected with Pathsay. This API has been used by the BYU Speeches team to translate campus devotionals to distribute to African students enrolled in the BYU Pathways Worldwide program.
This project has been invaluable to me, as it has given me experience in working in a closer-to-real-world software engineering team, as well as requiring me to think about system design and solving real-world problems involving large amounts of data (like avoiding duplication, preserving data integrity, and balancing between performance and flexibility).
Technologies Used: TypeScript, React, Express, PostgreSQL (Data Collection App); Python, FastAPI, Pydantic, PyTorch, gRPC, microservice architecture (Inference API)
Buzz-In
January 2022
Buzz-In is a simple game buzzer that works similar to Kahoot (except no questions and leaderboard). It is meant to accompany other games or activities. I created this for my AP Environmental Science teacher, who loves playing Jeopardy with our class as review for tests.
In this project, I used Redux for the first time to manage global state, and I also worked with real-time communication for the first time by using Socket.IO.
- Technologies Used: React, Redux, Socket.IO, Tailwind
- buzz.josephgeis.dev
- Open source on GitHub.
Bell Schedule
September 2020
I created Bell Schedule as a way to help my classmates keep track of daily schedules while we had online learning due to the COVID-19 pandemic.
I built this using Next.js and deployed it on Vercel.
- Technologies Used: React, Next.js, Bootstrap
- thsbs.josephgeis.dev
- Open source on GitHub.