Projects
A selection from my past academic and independent development projects:
KSU Elective Recommendation System
AI-powered course recommendation system
This software solution was created as part of an exploratory project to investigate means of recommending courses to ongoing students of KSU's undergraduate college of computing and software engineering. The system uses a pre-trained transformers model to find similarities across course outcomes, leveraging a collection of python-scraped textual resources.
The solution is delivered as a React web application which allows students to import their academic history and receive personalized course recommendations based on their learning gaps, which are automatically identified through their course grades.
In order to accommodate specific client needs, inference is run on the pre-trained model on the Google Colab platform, and the data is captured to support the recommendations process.
Technical Details:
  • • JavaScript
  • • Python
  • • React
  • • TailwindCSS
  • • DaisyUI
  • • Google Colab
  • • Firebase/Firestore
  • • GitHub Action Automatic Deployment
Vivarium Climate Monitor
Embedded prototype using MicroPython on the Pico platform
A custom-built physical device designed to monitor the environmental conditions in an animal habitat, using a Raspberry Pi Pico programmed with MicroPython.
The device features continuous output of current readings, as well as a historical log of hourly readings sampled over the past 24 hours, using time obtained from a local wireless network. The device also features adjustable brightness.
This project incorporates a WaveShare LCD screen, two momentary push buttons, an AM2303 environment sensor, custom designed and printed housing, and an asynchronous implementation that allows responsive user interaction while the device is in operation.
Technical Details:
  • • Two Display Modes
  • • 24-Hour Logging
  • • MicroPython
  • • Thonny IDE
  • • Low-Level Operations
  • • Custom Housing
  • • Asynchronous Threading
No Way Out
3D Unity puzzle game
No Way Out was created for a course project in which we explored user interaction and experience design, as well as iterative improvement through the collection and statistical analysis of user feedback. During the course of the semester, iterations of the project were presented for feedback from fellow students.
The project features a 3D puzzle-house with numerous custom scripted puzzles which challenge the user to explore their surroundings in order to solve these puzzles to ultimately find a way out.
The game features custom scripts written to facilitate the game's logic and interactions, and makes extensive use of the library of reusable environment assets available through Unity.
Technical Details:
  • • Unity
  • • C# (DotNet)
  • • Custom Scripted Puzzles
  • • Precise Ray-Traced Interaction
  • • 3D Asset Reuse
Adventure Together
Outdoor adventure-focused connection app
Adventure together is a connection-oriented React application which allows users to register and define their individual interests as they relate to outdoor activities. After registering, users are automatically connected with other users of the platform. These connections are based on shared interests, allowing users to connect over an activity which is meaningful to them.
The application features a custom implementation of the Swing.js library, CometChat's chat API, and a custom-built authentication system.
Adventure Together was developed as part of course on Agile development. Other students in the project assumed standard Agile roles such as Scrum Master and Product Owner providing us with an excellent introduction to the Agile methodology through this project.
Technical Details:
  • • JavaScript
  • • React
  • • TailwindCSS
  • • Custom Swing.js
  • • CometChat
Chomper Cam
Live-stream of a lizard habitat running on Raspberry Pi 4b
A simple, responsive NextJS application which displays a live-stream of a lizard habitat, running entirely contained on a Raspberry Pi 4b running Ubuntu Server Edition.
The live-stream is facilitated by a Motion server, exposed to the local node environment, and an Apache server ultimately manages the provision of web content.
The purpose of this application was self-education, providing me an opportunity to get hands-on experience with the Raspberry Pi, Linux, Apache, working remotely via SSL, and configuring integration with domain nameservers.
Technical Details:
  • • Ubuntu
  • • Raspberry Pi 4b
  • • Apache Web Server
  • • Motion Camera Server
  • • NextJS
  • • TailwindCSS
  • • DaisyUI
Developer Portfolio
Responsive static NextJS site
A responsive static site built using NextJS and TailwindCSS. The site features a number of custom components, including a custom carousel, a custom image gallery, and a custom flexible element animation component, which allows any component to easily be animated.
The project is deployed to a Google Firebase NextJS Beta instance, and offloads client effort by utilizing pre-compiled static pages where possible.
Technical Details:
  • • NextJS
  • • TailwindCSS
  • • DaisyUI
  • • Custom Components
  • • Responsive Design
  • • Custom Animations