Projects

Things I have built

ESP32 Open-Source Wi-Fi MAC

  • C
  • FreeRTOS
  • ESP-IDF
  • ESP32
  • IEEE 802.11
  • PTP

A Wi-Fi MAC layer for the ESP32 written in C on reverse-engineered hardware registers, extending the open-source esp32-open-mac project.

  • Rewrote the upstream Rust 802.11 MAC (STA/AP, beacon, auth, assoc) in C, then added multi-client AP, intra-BSS forwarding, and runtime SSID and channel changes.
  • Replaced boolean TX-slot tracking with a mutex-guarded slot state machine, collision retry with random backoff, and a watchdog that reclaims stuck DMA slots. Fixed wrong TX-error register addresses along the way.
  • Built a PTP-style UDP multicast time-sync service and PTP-scheduled channel hopping with PHY-only fast switching. Result: nodes hop channels on a shared schedule and drive synchronized LEDs.

Source code not public

VFCS: Vehicle Forensics Cloud System

  • Python
  • Raspberry Pi
  • OBD-II
  • CAN
  • NTRU
  • FALCON
  • RabbitMQ
  • Hyperledger Fabric

My M.S. thesis. A system that collects driving data from a car, protects it with post-quantum cryptography, and keeps a verifiable chain of custody.

  • Raspberry Pi 4 collector reading OBD-II through an ELM327 bridge, 14 PIDs per query loop of about 1.5 s.
  • NTRU encryption and FALCON signatures on driving data, about 0.525 s for 20 PIDs on the Pi. RabbitMQ to an evidence server with MongoDB, and Hyperledger Fabric chaincode for chain of custody.
  • Isolation Forest anomaly detection on RPM data at 90.4% accuracy.

github.com/jason19970210/vehicleforensics — Proof-of-concept data logger from the thesis work

ilivenet (startup, 2019)

  • Python
  • Flask
  • Elasticsearch
  • MongoDB
  • Node.js
  • GCP

A search platform for live streams across YouTube, Twitch and Facebook. It reached 10,000 monthly active users within its first month.

  • Led an 8-person team and designed the full architecture: crawlers, a Flask API in front of Elasticsearch, MongoDB, and a Node.js frontend on GCP, with crawl jobs scheduled across distributed IoT devices.
  • Elasticsearch cluster of five nodes plus a master node, with field-boosted relevance (tag and host above title), language detection, and phrase matching with slop for Chinese queries.
  • Background jobs removed offline streams by comparing each stream's thumbnail with the platform's offline image.

Not public

Temi ROS-Based Robot System

  • Node.js
  • Python
  • Java
  • MQTT
  • Redis
  • MongoDB
  • Android

A robot service system built from scratch on the Android-based Temi robot, with a 4-person team I led as architect and developer.

  • Node.js backend server and Python scripts, connected to the robot through MQTT.
  • Redis and MongoDB for data storage.

github.com/jason19970210/Temi-ROS

Taiwan Handicapped Parking

  • Python
  • pyproj
  • Playwright
  • GitHub Actions
  • open data

Collects handicapped parking locations from Taipei and New Taipei open data and syncs them to a Google Maps saved list.

  • Reads shapefile and paged CSV sources, detects WGS84 or TWD97 coordinates, and converts with pyproj. Polygon zones are reduced to their centroids.
  • Syncs locations to Google Maps with Playwright, scheduled weekly in GitHub Actions.

github.com/jason19970210/taiwan-handicapped-parking

NetScanner

  • Python
  • nmap
  • networking

A small Python tool that scans the local network and reports each host's operating system and MAC address.

  • Built on nmap through python-nmap, with netifaces for interface discovery.
  • Runs on Linux and macOS with no arguments needed.

github.com/jason19970210/NetScanner

MusicAI (2019)

  • iOS
  • Swift
  • Deep reinforcement learning

Personalized music recommendation using deep reinforcement learning on user behavior.

  • Implemented key iOS features and ported the recommendation model to the server.
  • Judges' Award, 2019 Mobile Application Innovation Contest.

Not public