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