Projects

Things I've built, shipped, and experimented with.

Knowledge Graph Based Attribution of Advanced Persistent Threats

  • Built an end-to-end threat intelligence pipeline ingesting IOCs from AlienVault OTX to construct a heterogeneous knowledge graph in Neo4j (2.1M+ nodes, 7.9M+ edges spanning domains, IPs, URLs, and events across 10 APT groups), enriched with passive and live DNS data
  • Designed a 4-layer heterogeneous GraphSAGE model with per-node-type autoencoders and a Dempster-Shafer Theory confidence tier hierarchy: Tier-3 named actor (e.g. 'Kimsuky', 83.69% accuracy), Tier-2 nation-state (e.g. 'Russia', 91.05%), and Tier-1 activity cluster (e.g. 'State-Sponsored') — recommending the most specific tier whose confidence clears its threshold
  • Investigated temporal recency via a year-drop experiment on 1,740 fresh OTX events (April 2023–April 2026): models trained only on historical data dropped from ~83% to ~17% named-actor accuracy on out-of-distribution recent IOCs; retraining directly on 2023–2026 data recovered 73.2% named-actor and 80.1% nation-state accuracy, demonstrating APT tradecraft evolution over time
  • Deployed as a FastAPI service with IOC enrichment, training, and real-time attribution endpoints; automated experiment namespacing and HTML comparison reporting across yearly dataset snapshots
PythonPyTorchPyTorch GeometricNeo4jFastAPIscikit-learnAlienVault OTX APIPassive DNS

Nurse Practitioner VR Tool

  • Animated and role-engineered virtual metahumans to roleplay as patients in OSCE assessments
  • Achieved real-time speech-to-speech using OpenAI API endpoints with utilization of the Runtime Speech Recognizer Library
  • Created animation state machines for life-like human interactions with the project’s metahumans, and implemented user interactions for VR
  • Included guardrails in the system’s role prompt to mimic the behavior of patients in real OSCE assessments, ensuring no extraneous information was volunteered by the LLM
Unreal Engine 5Quest 3Openai APIC++BlueprintsMetahuman Creator

Buddy Trivia

  • Built a real-time multiplayer trivia game for couples and friends to play together over a local network, with one host running the game on a laptop while players join from their phones
  • Implemented real-time communication using Socket.io for seamless game state synchronization between host and player devices
  • Players pair up, draw custom avatars, and answer trivia questions in rounds — the first pair to reach the target score wins
ReactNode.jsExpressSocket.ioSQLiteTailwind CSSVite