My Portfolio
A selection of projects I've worked on.
CurdAlert (IT Business Website)
Professional IT services and solutions for small businesses and individuals.

CurdAlert.com is my IT business, offering a range of services including website development, IT consulting, troubleshooting, and support for small businesses and individuals. I focus on delivering reliable, affordable, and personalized technology solutions.

Tech Stack:

Web Development
IT Consulting
Support
Interactive 2D Portfolio Game
Retro-style interactive portfolio with HTML Canvas, Firebase, and Formspree.

Created a retro-style interactive portfolio using vanilla HTML, CSS, and JavaScript with HTML Canvas for rendering a 2D explorable map. Built character movement (keyboard and optional mobile joystick), object/NPC interactions, and a fishing minigame with real-time tension control. Integrated Firebase Firestore for a persistent online scoreboard and used Formspree for contact form submissions. Designed a responsive UI with pop-up dialogs, joystick toggling, and mobile support via nipple.js.

Tech Stack:

HTML
CSS
JavaScript
HTML Canvas
Firebase Firestore
Formspree
nipple.js
Retro Terminal
A retro-style terminal interface.

A retro-style terminal interface built with HTML, CSS, and vanilla JavaScript. It simulates a command-line interface where users can type commands and get responses. This was a fun project to learn more about vanilla JavaScript and CSS animations.

Tech Stack:

HTML
CSS
JavaScript
Mr. Character Head
A simple ASCII face generator.

A simple ASCII face generator built with vanilla JavaScript. This was an early project to learn the basics of JavaScript DOM manipulation.

Tech Stack:

JavaScript
HTML
CSS
Our Secret Garden
Developed a full-stack, real-time web application for long-distance partners using React and Firebase.

Implemented secure user authentication and a shared Firestore database for interactive features like a collaborative plant-growing game and a private messaging system. With features such as a Tinder clone for just pictures of your partner, countdown timers for events, light/dark mode, shared journal, and a virtual letter sending system with a complete envelope opening animation.

Tech Stack:

React
Firebase
JavaScript
HTML
CSS
Active Directory & Virtualization Setup (Course Project)
Managed virtual network, AD, security policies, and PowerShell scripting.

Created and managed a virtual network using Oracle VirtualBox on an x64 host,running multiple Windows Server 2022 and Windows 10 instances. Implemented and managed Active Directory Domain Services, configured system security policies, and performed user administration tasks. Wrote PowerShell scripts for system administration automation. Designed and analyzed Active Directory architectures, conducted virtualization feasibility studies, and managed system resources across virtual environments.

Tech Stack:

Oracle VirtualBox
Windows Server 2022
Windows 10
Active Directory
PowerShell
Nile Dot Com (E-Store Simulator) (Course Project)
A Java GUI application simulating an e-store with shopping cart, checkout, and transaction logging functionality, focusing on event-driven programming.

Developed a Java GUI application to simulate an e-store called "Nile Dot Com." The application allows users to add items from a CSV inventory file to a shopping cart, calculates total costs including tax, generates an invoice, and logs each transaction to a persistent file. This project was designed to practice event-driven programming and core Java skills in a simulated enterprise context.

Tech Stack:

Java
Java Swing
Event-Driven Programming
GUI
Multithreaded Banking Simulator (Course Project)
A Java application simulating concurrent banking operations using synchronized, cooperating threads and locks to manage shared resources.

This project simulates concurrent deposits and withdrawals to bank accounts using synchronized, cooperating threads. It features multiple agent types (Depositor, Withdrawal, Transfer, Audit) that interact with shared account objects. Synchronization is managed with locks to ensure mutual exclusion and handle conditional blocking, such as a withdrawal agent waiting for sufficient funds. The simulation models a complex multi-producer/multi-consumer problem, demonstrating advanced thread cooperation and communication.

Tech Stack:

Java
Multithreading
Synchronization
Locks
Two-Tier DB Client-Server App (Course Project)
A Java-based, two-tier client-server application for executing SQL commands against a MySQL database using a JDBC connection.

Developed a two-tier client-server application with a Java GUI front-end that connects to a MySQL server via JDBC. The application allows users with different permission levels to execute SQL DDL and DML commands. It features a general-purpose interface for standard users and a specialized, restricted interface for an "accountant" user to view a transaction logging database. The system logs all queries and updates to a separate operational database, demonstrating secure, multi-user database interaction.

Tech Stack:

Java
MySQL
JDBC
SQL
Client-Server Architecture
MS Access Database Implementation (Course Project)
Relational database in MS Access with data integrity measures.

Created a relational database in Microsoft Access based on provided schemas, populating tables with sample data. Implemented data integrity measures by defining specific input masks and validation rules for table attributes.

Tech Stack:

Microsoft Access
SQL
Stat Lab (NBA Stat Tracker)
NBA stat tracker using Python, JavaScript, and React + Vite for data aggregation and analysis.

Building an NBA stat tracker using Python, JavaScript, and React + Vite to aggregate and analyze player performance data. Currently working on implementing a persistent newsticker, user chatting, and head-to-head matchup information. Next steps will be creating an API for up-to-the-minute updates on player stats and an API for the newsticker.

Tech Stack:

Python
JavaScript
React
Vite
API Development
Interested in more details?

For more projects and contributions, please visit my GitHub profile.