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

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

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

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

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.