High performance workout manager

Custom-Built Full-Stack Architecture

A highly concurrent, dependency-free workout management system built on a custom Java HTTP server, with secure authentication and a dynamic frontend

  • Custom HTTP server using Java virtual threads for high-throughput, low-latency request handling
  • Interactive frontend with a dynamic calendar and workout management
  • JWT-based session authentication with secure HttpOnly cookies
  • Thread-safe token bucket rate limiter
  • Custom JSON serialization and deserialization
  • User authentication with PBKDF2 password hashing and per-user salts
  • Thread-safe JDBC connection pool with transactional DAOs
  • Admin dashboard for system and user metrics
  • Asynchronous logger with file rotation

Screen capture translation tool

Custom Desktop OCR and Translation Pipeline

Desktop tool for capturing a screen region, extracting multilingual text via OCR, and displaying an English translation in a dynamic overlay, triggered by a global hotkey

  • Custom-built "Snipping Tool" interface for screen region selection
  • Integrated multilingual OCR using Tesseract (Tess4J) with support for multiple scripts
  • Text translation via Google Translate HTTP endpoint
  • Dynamic Swing overlay that adjusts size and position based on screen bounds
  • Asynchronous translation handling to prevent UI blocking
  • System tray support for background execution and clean shutdown
  • Global hotkey capture with JNativeHook

Object recognition model for Dota 2

End-to-End SSD Object Detection Pipeline

Implemented an SSD300 convolutional neural network to detect heroes, creeps, and towers in Dota2 screenshots, including model training, evaluation, and visualization.

  • Single-shot detection for fast localization and classification
  • Custom Dota2 dataset with 6 object classes, bounding boxes, and difficulty tags
  • PyTorch training pipeline with VGG16 backbone, transfer learning, and GPU acceleration
  • Image preprocessing, tensor transformations, and post-processing with NMS
  • Evaluation using per-class AP and overall mAP with visualized predictions

Hybrid ViT & CNN Image Classifier

Custom Vision Transformer + CNN Hybrid Models

Implemented transformer-based image classifiers and hybrid CNN/ViT architectures, including token distillation, serial and late fusion approaches, achieving high accuracy on Fashion-MNIST.

  • Built Vision Transformer (ViT) from scratch with class and distillation tokens
  • Implemented serial and late fusion hybrid models combining CNN feature extraction with ViT
  • Hard distillation training for student-teacher knowledge transfer, boosting accuracy
  • Achieved 90% test accuracy with late fusion hybrid model in only 5 training epochs
  • Visualized predictions for interpretability, showing correct classification even on ambiguous labels
  • Custom training pipelines with PyTorch, GPU acceleration, and feature map handling for hybrid input

Milk tracker

Android app with persistent storage and dynamic UI updates

An android app for tracking a baby's milk consumption and diaper changes.

  • Tab-based interface for switching between milk and diaper tracking
  • Persistent SQLite storage with custom database helper and DAO logic
  • Dynamic UI updates showing totals, today's counts, and time since last entry
  • Fragment-based architecture with callback-driven UI updates
  • Time calculations and formatting for daily totals and intervals between events

EPO Patent Search & Clustering Tool

EPO OPS API Integration with IPC Clustering

A dependency-free Java backend that queries the European Patent Office Open Patent Services API, retrieves bibliographic data, and organizes results into hierarchical IPC classification clusters.

  • Custom Java HTTP server using virtual threads for concurrent patent lookups
  • OAuth2 token management with automatic refresh and 60-second expiry buffer
  • CQL search across titles, applicants, inventors, dates, and classifications
  • Fetches bibliographic data, abstracts, claims, and patent families via the EPO OPS v3.2 REST API
  • Parallel patent enrichment using StructuredTaskScope for high-throughput cluster building
  • Hierarchical IPC clustering (Section → Class → Subclass → Group → Patent) built concurrently
  • Custom XML parser for EPO OPS responses with typed model objects
  • Custom JSON serialization and deserialization — no external dependencies

Pedestrian Navigation Engine

OSM-Powered Walk Routing with Real-Time Session Tracking

A dependency-light Java backend that fetches live OpenStreetMap data, builds a walkable road graph, and supports both target-distance random walks and A-to-B shortest-path routing with real-time position tracking.

  • Fetches walkable road geometry from the Overpass API with automatic retry, exponential backoff, and multi-instance failover
  • Builds a graph from OSM ways, splitting at intersections and preserving full edge geometry and one-way constraints
  • Random walk route generation using weighted probabilistic edge selection — biased by bearing alignment, walkability score, and dead-end penalty
  • A* shortest path finder with haversine distance heuristic for optimal A-to-B routing
  • Real-time walk session engine that interpolates sub-meter position along edges and handles intersections, dead ends, and direction reversals
  • Supports both free-roam and fixed-route (A-to-B) session modes
  • Parallel area queries using StructuredTaskScope for concurrent Overpass fetches
  • Concurrent session management with UUID-keyed sessions and idle expiry cleanup
  • Custom JSON serialization — no external JSON dependencies

SFZ Piano with Rhythm Game (unfinished)

SFZ Sampler Engine with MIDI Playback and Rhythm Game

A fully custom Java piano application built on a hand-written audio engine — loads SFZ instrument samples, plays them with velocity sensitivity and ADSR envelopes, and includes a MIDI player and a rhythm game mode with timing-based hit detection.

  • Custom SFZ parser supporting global/group/region inheritance, attack/release triggers, velocity layers, sequence positions, pan, width, and full ADSR parameters
  • Per-note attack and release voice model — release samples triggered on key-up with rt_decay support
  • Sustain pedal logic that holds voices and defers release until pedal lift
  • ADSR envelope processing with velocity-curve gain and per-region volume scaling
  • Sample cache using SoftReference to balance memory pressure with load performance
  • 24-bit audio output with automatic 16-bit fallback based on system support
  • Nanosecond-precision MIDI playback using LockSupport.parkNanos on a virtual thread
  • Rhythm game engine with PERFECT / GOOD / OK / MISS timing windows and early-release detection
  • JavaFX multi-octave keyboard UI with real-time visual note-on/off feedback