Projects
A selection from my past academic and independent development projects:
KSU Elective Recommendation System
AI-powered course recommendation system
Recommendation Dashboard
The main dashboard for learning gap-based recommendation (simulated student data)
Google Colab Interface
An interface for running inference remotely to capture course relationships
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
24-Hour Graph
A graph illustrating general trends in reading sampled over a 24-hour period
Environment Reading
The continuously updated main display of the device
Graph Testing
A testing sequence to ensure the graph is working as intended
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
Living Room Area In-Game
Custom-built living-room puzzle area featuring mixed reusable assets
Main Menu
The game's main menu, featuring on-click sounds to produce responsive interaction
Kitchen Area In-Game
Custom-built kitchen puzzle area featuring mixed reusable assets
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
SSO Integration
Adventure Together features SSO integration with Google and Meta (formerly Facebook)
Landing Page
The main landing page where users can register or log in
Chat Interface
Adventure Together's chat interface, supported by CometChat
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
About Page
An informational page featuring an interactive image carousel
Live Feed
The app's main feature, a live-feed of the pet habitat
Info Page
An informational page describing the application's hardware and software features
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
Dynamic Components
Application built with re-usability and flexibility in mind
Home Page
Responsive landing page featuring a custom carousel and animation sequence
Custom Animations
Sequenced, directional animations implemented via a custom component supported by the framer-motion library
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
Additional Projects
Want to Work Together?