Projects
What I've Built
Backend services, full-stack web apps, and software designed to last.
Here's a look at what I've built so far, from scheduled Spring Boot services backed by PostgreSQL to object-oriented game engines and AI-integrated assistants.
01
A full-stack web application that automatically tracks and aggregates job postings from target companies. Polls the Greenhouse ATS API every hour, persists new postings to a PostgreSQL database, and displays them through a clean web interface, only surfacing roles that haven't been seen before.
- >Built a full-stack job monitoring application in Java and Spring Boot that automatically aggregates live postings from target companies via the Greenhouse ATS API
- >Implemented a scheduled polling system using Spring Scheduler that syncs new job postings hourly without duplicates, using external ID deduplication backed by PostgreSQL
- >Designed a relational data model with Spring Data JPA/Hibernate and managed schema evolution using Flyway database migrations
- >Containerized the development database using Docker for a reproducible local environment
- >Rendered a dynamic web interface with Thymeleaf templating and responsive CSS
Tech Stack
JavaSpring Boot 3.5Spring Data JPASpring SchedulerPostgreSQLFlywayThymeleafMaven
02
A RESTful Tarot card service built with Spring Boot that serves the full 78-card deck and draws single or multiple unique random cards, backed by PostgreSQL and documented with OpenAPI.
- >Designed a layered Controller → Service → Repository architecture that separates HTTP handling, business logic, and data access for independent testability
- >Built endpoints to retrieve the full deck and draw 1 or n random cards, shuffling the deck so every card in a draw is unique
- >Validated draw requests and centralized error handling in a global exception handler, returning 400 Bad Request for invalid counts
- >Seeded all 78 cards into PostgreSQL on startup from a JSON dataset, skipping the load when the data already exists
- >Wrote unit tests with JUnit 5 and Mockito for draw logic and boundary conditions, plus MockMvc tests for HTTP responses and error handling
Tech Stack
Java 17Spring Boot 4.1Spring Data JPAHibernatePostgreSQLSpringdoc OpenAPIJUnit 5MockitoLombokMaven
03
A console-based dungeon crawler RPG built in Java with character creation, turn-based combat, a shop, and leveling, architected with Factory, Mediator, and Singleton design patterns across 15+ entity types and 2,500+ lines of code.
- >Built a turn-based combat system where minor, major, and boss enemies spawn based on dungeon depth, with health and damage scaling as players descend
- >Applied the Factory pattern to create weapons, armor across five equipment slots, and minor, major, and boss enemies
- >Routed game events through a GameManager mediator to centralize communication between game components
- >Implemented a Singleton dice class backed by SecureRandom to drive critical hits, misses, bonus chests, and status effects
- >Designed RPG progression with XP-based leveling, stat point allocation across attack, defense, stamina, and speed, and a shop for potions, antidotes, and spell tomes
- >Wrote a 12-test JUnit 4 suite covering factories, stats, inventory, enemies, and RNG, with Checkstyle and SpotBugs static analysis configured in the Gradle build
Tech Stack
JavaOOPDesign PatternsJUnit 4GradleCheckstyleSpotBugs
04
A full-stack Flask web application built as a team project that uses Google's Gemini API to deliver personalized educational support, adapting answers to each student's age, academic level, learning style, and interests.
- >Integrated Google's Gemini API to generate answers tailored to each learner's profile, including academic level, learning style, and personal interests
- >Built a comprehension scoring service that evaluates user understanding and adjusts response-style weights to adapt future answers
Tech Stack
PythonFlaskFlask-LoginWTFormsJinja2Google Gemini APINLTKBootstrapBleachMarkdown
05
A website built using Next.js and Tailwind CSS to showcase my projects, skills, and experience, with a terminal-inspired design. (This website!)
- >Implemented a responsive design using Tailwind CSS, ensuring optimal viewing across devices
- >Optimized performance with statically prerendered pages, next/font for font loading, and client-side navigation with next/link
- >Deployed the website on Vercel, enabling seamless updates and continuous deployment
Tech Stack
Next.jsReactTypeScriptTailwind CSS
Want to See More?
Check out my GitHub for additional projects and contributions, or reach out directly.