Background image

Projects

MIT 6.5840: Distributed Systems Labs

Computer SystemMIT 6.5840 Distributed Systems (Spring 2025)

Implementation of four fundamental distributed systems labs from MIT's 6.5840 course, including MapReduce, fault-tolerant key/value storage, Raft consensus algorithm, and replicated state machines.

Key Features & Contributions

  • Lab 1: Built distributed MapReduce with coordinator/worker architecture and fault tolerance
  • Lab 2: Implemented at-most-once key/value server with linearizability guarantees
  • Lab 3: Developed Raft consensus with leader election, log replication, and persistence
  • Lab 4: Created fault-tolerant KV service using Raft for replication with snapshot support
GoRaftRPCConsensus AlgorithmsDistributed Systems

NYU GA-2250: Operating System Labs

Computer SystemNYU GA-2250 Operating Systems

Four systems-programming labs in C focusing on core OS concepts: memory management, process control, concurrency, and filesystems. Built with portable C (GNU17) and validated with Valgrind for memory safety and thread correctness.

Key Features & Contributions

  • Lab 1 (nyuc): Safe string manipulation with heap allocation and variadic APIs - 0 memory leaks
  • Lab 2 (nyush): Unix shell with pipelines, redirection, signals, and job control - no zombies
  • Lab 3 (nyuenc): Run-length encoder with thread pool using POSIX threads and condition variables
  • Lab 4 (nyufile): FAT32 undelete utility with SHA-1 verification for non-contiguous file recovery
  • All code validated with Valgrind (Helgrind/DRD) for memory safety and race conditions
CPOSIXPthreadsLinuxDockerValgrindGDB

BareNet: GPU-Accelerated Deep Learning Framework

GPU/CUDANYU Machine Learning Systems Course

A minimal deep learning framework with automatic differentiation, built from scratch using CUDA for GPU acceleration. Implements a PyTorch-like API with autograd engine, supporting matrix operations, neural network layers, and training on MNIST dataset.

Key Features & Contributions

  • CUDA kernels: Implemented matrix multiplication, element-wise operations, reductions, and cross-entropy loss
  • Automatic differentiation: Built autograd engine with reverse-mode backpropagation and computational graph tracking
  • Python bindings: Used Pybind11 to create seamless Python API similar to PyTorch
  • GPU acceleration: All tensor operations run on GPU with CUDA kernels for 5X speedup over CPU
  • MNIST training: Successfully trained 2-layer MLP achieving 97.48% test accuracy
  • Memory management: Efficient GPU memory allocation/deallocation with reference counting
  • Operator library: Supports add, multiply, matmul, ReLU, transpose, sum, argmax, and cross-entropy operations
CUDAC++PythonPybind11GPU ProgrammingAutomatic DifferentiationDeep Learning

NYU DevOps Wishlists Service

DevOpsCSCI-GA.2820-001 DevOps and Agile Methodologies

A production-grade RESTful microservice for managing user wishlists, built with Flask and deployed on Kubernetes. Features comprehensive CI/CD pipelines, automated testing, and cloud-native architecture following 12-factor app principles.

Key Features & Contributions

  • RESTful API with CRUD operations for wishlists and wishlist items
  • 97% test coverage with comprehensive unit and integration tests
  • CI/CD pipeline with automated testing, linting, and deployment
  • Containerized deployment on Kubernetes with health checks
  • Database migrations and ORM using SQLAlchemy
  • Security features including input validation and error handling
PythonFlaskPostgreSQLKubernetesDockerGitHub ActionsPytest

Trajectory-based Table Tennis Statistics and Tactics Analysis System

Machine LearningNCKU Multimedia and Computer Vision Lab Research

A real-time table tennis analysis system that tracks ball trajectories from single-view video to generate comprehensive statistics and tactical insights. The system performs three-stage analysis, serving type classification, and point loss classification with high accuracy.

Key Features & Contributions

  • Real-time ball tracking using fine-tuned YOLOv8 for robust detection in table tennis videos
  • Landing point analysis: Divides table into 6 regions and tracks trajectory bounces with 76-77% accuracy
  • Three-stage analysis: Classifies scoring patterns (SA/RA/SO) to indicate attacking trends
  • Serving type classification: Categorizes serves into 4 types (left/right short/long) based on landing points
  • Point loss analysis: Decision tree model classifies fault types with 76% accuracy
  • Published research: Presented at ACM Multimedia Asia 2023 (MMAsia '23)
  • Applications: Training analysis, tactics design, and player performance evaluation
PythonYOLOv8Kalman FilterComputer VisionObject DetectionTrajectory Analysis

Person Re-Identification System

Machine LearningNCKU Advanced Machine Learning Project

An advanced computer vision system that tracks and re-identifies individuals across multiple video feeds using deep learning. The system combines YOLOv4 for detection, ResNet50 for feature extraction, and custom matching algorithms to identify the same person appearing in different videos.

Key Features & Contributions

  • Detect tracklets: Uses YOLOv4 for bounding box extraction and ResNet50 for feature extraction
  • Match tracklets: Compares features using cosine distance with intelligent threshold-based matching
  • Template management: Optimizes storage by avoiding similar templates, improving speed and efficiency
  • Person matching: Assigns tracklets to persons using template counting with 60% threshold
  • Performance: Achieved 95.35% accuracy on easy scenarios and 55.50% on challenging crowded scenes
  • Custom dataset: Built and tested on real-world campus surveillance footage with varying difficulties
PythonYOLOv4ResNet50OpenCVPyTorchComputer VisionCentroid Triplet Loss

Pedestrian Attribute Recognition (PAR) System

Machine LearningNCKU Advanced Machine Learning Project

A comprehensive pedestrian attribute recognition system that identifies various attributes (age, gender, clothing, accessories) from video footage. Combines Multi-Object Tracking (MOT) with Attribute Localization Module (ALM) for superior performance on PETA, RAP, and PA-100K datasets.

Key Features & Contributions

  • Multi-Object Tracking: Uses MOT with PaddlePaddle and ByteTrack for robust identity tracking
  • Attribute Localization Module: Focuses on relevant body parts for accurate attribute extraction
  • High accuracy: Achieved 83% F1-score on PETA and 82% F1-score on PA-100K datasets
  • Frame-by-frame processing: Calculates confidence scores and averages them across tracklets
  • User-friendly interface: Built with PyQt for easy video input and attribute selection
  • Real-time results: Displays tracklets with bounding boxes and attribute confidence scores
PythonMOTPaddlePaddleByteTrackPyQtDeep LearningComputer Vision

NCKU Real-time Campus Crowd Hotspot Map System

Machine LearningNCKU Campus System Development

A real-time population monitoring system developed during the COVID-19 pandemic to track student movement across campus buildings. Uses multithreading to process card swipe data every 10 seconds and displays live population density heatmaps on an interactive campus map.

Key Features & Contributions

  • Real-time monitoring: Collects and processes swipe card data from access control terminals
  • Multithreading architecture: Updates population data every 10 seconds without blocking
  • Interactive heatmap: Displays live population density overlays on NCKU campus map
  • COVID-19 response: Helped university track and manage building occupancy during pandemic
  • Instant feedback: Shows current population movement and hotspot areas simultaneously
  • Scalable design: Handles data from multiple building entry/exit points across campus
PythonMultithreadingData VisualizationHeatmapReal-time ProcessingDatabase