Projects
Project Shinobi
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
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.
Text-to-SQL AI Assistant
An LLM-powered analytics assistant that lets users query relational databases using natural language. Built with Python, SQL, and the OpenAI APIs, it translates plain-English questions into SQL and turns the results into business insights.
Tech stack & tools
Features
- Query relational databases using natural language via an LLM-powered assistant.
- Validation pipeline that evaluates generated SQL against test datasets to improve accuracy and reliability.
- Structured output generation and prompt engineering, with pandas-based processing to turn query results into business insights.
- Web interface and REST API for interacting with the system.
- Applied software engineering best practices including testing, debugging, and version control.
Calculator
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
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
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
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
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
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.















