Projects

Some cool things I've built

KAIROS

Hack The Future Finalist

KAIROS supply chain analytics dashboard

Built an agentic AI supply chain intelligence platform that orchestrated LLM-driven analysis across agricultural data, insider inputs, and live external signals to proactively detect weather, logistics, and geopolitical disruptions.

More about this project
  • Engineered an AI-driven decision pipeline using Google ADK and Gemini to synthesize risk signals, assess disruption severity, and generate actionable mitigation strategies for planners and operators.
  • Developed a full-stack real-time analytics dashboard in React and Next.js with Firebase-backed data flows and interactive visualizations, enabling users to explore KPIs, trends, exposure hotspots, and simulation outputs.
  • Architected a modular API layer (/analyze, /signals, /alert) and automated alerting with server-side Resend integration, triggering immediate email escalation on high-severity agent findings and improving response time for critical events.

Zombie Express

Zombie Express 3D survival game with train and inventory

Engineered a real-time 3D survival simulation in Java using libGDX and OpenGL, implementing dynamic chunk-based world generation with <5 ms streaming per update to enable seamless large-scale terrain traversal.

More about this project
  • Architected the system with Clean Architecture and a deterministic update loop, decoupling rendering, inventory logic, and input handling to improve maintainability while achieving 100% unit test coverage across core features.
  • Integrated Firebase Authentication and Firestore for secure user registration, login, and cloud-persisted player data, enabling credential-based access and real-time synchronization across sessions.

Columns (but made with Assembly 😵😵)

Columns puzzle game running in a MIPS assembly bitmap display

Built a real-time Columns-style puzzle game entirely in MIPS assembly, implementing a bitmap display renderer that draws a 13×6 grid, landed gems, and the active falling column as 4×4 blocks through a layered draw pipeline (clear, board, column).

More about this project
  • Engineered the core game loop with frame-based gravity and a dynamic difficulty curve, decrementing the drop delay every 600 frames down to a floored minimum to accelerate play without breaking collision handling.
  • Implemented a recursive match-resolution system detecting 3+ gem alignments across horizontal, vertical, and both diagonal axes, using a mark-then-clear pass and a read/write-pointer gravity fill to cascade chain reactions until the board stabilizes.
  • Designed a queue-backed next-piece preview rendering the upcoming 5 columns, plus a ghost-outline drop indicator that scans downward to the landing row, improving playability through look-ahead and drop prediction.
  • Extended match logic with wildcard "pink gem" special blocks by abstracting equality checks into a reusable three-gem matcher, enabling flexible cross-colour matching across all four directions without altering the clearing or falling systems.

RippleGraph

RippleGraph reply tree and Bluesky influence analytics

Engineered a tree-based analytics engine in Python to model influence propagation across 100+ Bluesky posts, integrating engagement metrics, VADER sentiment, and regression analysis to quantify influence drivers.

More about this project
  • Built an interactive dashboard with Flask and PyVis to visualize reply trees and user interaction graphs, enabling real-time exploration of 200+ nodes and improving interpretability of social network dynamics.
  • Collaborated in a 3-person team using Git workflows to integrate Bluesky AT Protocol data pipelines and optimize graph-processing algorithms, reducing runtime by 40% and enabling scalable analysis of large discussion threads.