Hi, I'm Justin! I'm a recent CS grad from CSU East Bay. I'm passionate about fullstack and game development - I like combining my creative interests and engineering skills to build things that people enjoy using.
I'm just trying to get my foot in the door, so if you have any questions or would like to chat, I'd love to hear from you!
Projects
Action Map Problem Solver (GameDev, Fullstack)
Demo |
Code
Demo for experimental decision making algorithm.
Implementing game AI is hard. Developers often turn to common solutions like
behavior trees, but hit walls when they realize how inflexible these can be.
I built this to give all devs, regardless of experience, an AI system that's easy
to implement while still being powerful and modular. Uses depth-first search on
pre-calculated action maps to generate optimal behavior sequences.
Tech: GDScript, Godot Engine 4.0
Restaurant Optimizer (WebDev)
Site |
Code
A tool that generates optimal fast-food orders based on your preferences and budget.
Web development was always a weak spot for me, so I decided to dive in and
try making a sophisticated website that's also fun and practical. What I ended
up with was a full-stack application that uses a 0/1 knapsack algorithm with
custom exponential decay scoring to balance cost, variety, and your favorite
items, all wrapped in a lava lamp inspired React interface with a Node.js/PostgreSQL
backend, deployed on Vercel.
Tech: TypeScript, React, Node.js, PostgreSQL
LUT Converter (WebDev, Fullstack)
Site |
Code
Converts CUBE LUTs to PNG, or PNG LUTs to CUBE.
LUTs (color grading lookup tables) are a convenient way to make videos and
games look professional. But, the ones you find online are *always* the wrong
format for your software. I kept seeing people complain online that there
weren't any free tools to convert between formats, so I built one.
Tech: React, Python, Flask
Waffle Trials (GameDev)
Play |
Code
Fast-paced cooking unsimulator game made in the Godot Engine. Whatever you do, do NOT throw away the pan.
Uses a polymorphic item system for easy extensibility. Adaptive difficulty
scaling using a sine wave algorithm to modulate customer spawn rates. Designed
state-machine driven AI for customers and enemies. Riveting, edge-of-your-seat breakfast gameplay.
Tech: Godot, GDScript, Aseprite
Banking Application (Fullstack)
Code
Built a networked ATM/Teller system to learn distributed systems and concurrent programming. Collaborated with a 5-person
team using Git version control and agile practices.
Uses a multithread server to handle multiple client connections. Clients communicate
with server over TCP using custom string-based protocols. The client UI flow is
handled by a state pattern, allowing pages to be easily added and removed. Wrote
JUnit tests for authentication and account operations. Worked through the complete waterfall model process, making UML documents for requirements, design, and implementation.
Tech: Java, Swing, Multi-threading, Networking
TileSet Generator (Fullstack)
Code
A tool that automates the 2D TileSet drawing process.
Having to make new edges, corners, and doorways every time you want to add a
new type of wall to your game is tedious. I wanted to be able to draw a flat
wall, and generate the rest of the surfaces based on that single image. There
were no tools that allowed that, so I made one.
Tech: Python, Tkinter, PIL, PyInstaller
Appliance E-Commerce Site (WebDev, Fullstack)
Code
A full-featured e-commerce platform for an appliance store, built collaboratively with a 4-person team.
Uses Express sessions for cart persistence. Implemented MongoDB for account
storage and order history. Created a multi-step checkout system using regex
patterns for zip codes, phone numbers, and credit card formats. Uses Git for
version control, and a GitHub project kanban for collaboration.
Tech: MongoDB, ExpressJS, React, NodeJS, Regex