All Projects

A comprehensive collection of my software engineering projects, showcasing various technologies and problem-solving approaches.

Design Pattern Linter

A sophisticated static analysis tool that examines Java source code to identify design patterns, detect anti-patterns like singleton abuse, and highlight over-dependencies between classes. The tool uses ASM bytecode manipulation and generates PlantUML diagrams for visualization.

Java ASM PlantUML Static Analysis

Computer Processor Design

A complete processor design from instruction set architecture to RTL implementation. Features accumulator-based architecture optimized for Euclid's Algorithm with custom instruction set, multi-cycle RTL design, and comprehensive testing using Quartus Prime and ModelSim.

Verilog Quartus Prime ModelSim Computer Architecture

Racket Interpreter

A functional programming language interpreter implemented in Racket. Supports complex language constructs including let expressions, continuation passing style (CPS) conversion, and tail recursion optimization for improved performance and memory efficiency.

Racket Functional Programming Language Design CPS

ClubFlow

A comprehensive group management website built with 3-layer architecture. Features member management, event scheduling, financial tracking, and bulletin board functionality with role-based access control and secure authentication.

Python Flask SQL BCrypt

Catan Board Game

A digital replica of the popular Catan board game developed using Test-Driven Development principles. Features comprehensive testing with boundary value analysis, mutation coverage, and internationalization support for multiple languages.

Java TDD i18n JUnit

Summit Productivity Tracker

A unified productivity platform featuring todo lists, habit tracking, goal setting, and pomodoro timer. Built with modern web technologies and Firebase integration for real-time data synchronization and user management.

JavaScript Firebase HTML/CSS Web App

Genetic Algorithm Research Project (GARP)

A comprehensive simulation of population evolution using genetic algorithms. Features diverse evolutionary pathways including elitism, crossover, selection, and mutation methods with interactive GUI for parameter adjustment and real-time visualization.

Java Genetic Algorithms GUI Research

Replica Pacman Game

A responsive Python implementation of the classic Pacman game featuring independent NPC ghost movement, smooth single-axis player controls, and team development practices. One of my first projects that introduced me to collaborative development and version control.

Python Game Development Team Development GitHub