Projects
Project Shinobi
1 / 16
A multiplayer game project built with Unreal Engine, featuring character creation, authentication, and dedicated servers. I led a cross-functional team of 15+ developers, artists, and sound engineers through the full development lifecycle.
Tech stack & tools
Unreal Engine 5AWS GameLiftAWS CognitoAWS DynamoDBGitHubAgile
Features
- Functional main menu with game settings for video, audio, and controls.
- Cognito-based authentication: sign up with email verification, sign in, and a dedicated forgot-password flow for account recovery.
- Character creation system: gender, skin colour, eye (border colour, iris colour/type/size, eyebrow type/colour), and hair (colour, type). All saved to DynamoDB after naming; characters can be deleted.
- Dedicated NA and EU servers hosted via AWS GameLift; choose region and join.
- Spawn as your created character with a functional HUD showing health, stamina, player level, and name.
- Multiplayer text chat.
Calculator
1 / 1
Console calculator in Java that runs in the terminal. Supports addition, subtraction, multiplication, and division with a simple menu-driven flow or full expression input (e.g. 2 + 3 * 4) with correct precedence and parentheses.
Tech stack & tools
Java (standard library only)BufferedReader / InputStreamReaderDequeStringBuilderStringTokenizer
Features
- Addition, subtraction, multiplication, and division.
- User-friendly console interface with clear prompts.
- Error handling for invalid input and division by zero.
- Expression mode: full expressions with operator precedence and parentheses.
- Simple mode: step-by-step (first number → operator → second number).
- Quit option (quit/exit or q).
Digital Clock
1 / 1
A small desktop app that shows the current time in a window. It's a single-window Java Swing program that updates once per second.
Tech stack & tools
JavaJava Swingjava.util.Datejava.text.SimpleDateFormat
Features
- Shows current time in 12-hour format (e.g. 02:30:45 PM).
- Updates every second.
- Single window with large, readable time display.
- Starts on the Event Dispatch Thread for correct Swing usage.
Weather App
1 / 1
A desktop app that shows real-time weather for any city. You type a place name, and it fetches and displays current conditions.
Tech stack & tools
JavaHttpURLConnectionGsonJava SwingMaven
Features
- Real-time weather (temperature, humidity, wind, pressure, condition).
- City search by name.
- Simple GUI with search bar, hero card, and detail cards.
- Placeholder text and loading/error messages.
- No API key required.















