PolyU freshman · Photographer · Bass player · Co-Founder
Learning product, design, and agent development while building intelligent experiences across Apple platforms and the web.
Favorite show: Severance · Favorite band: my little airport
Say hi anytime.
Spotify ↗ ·
LinkedIn ↗ ·
X ↗
TOMEET ↗ · AGENT / AdventureX track 1st place
A conversational social Agent that turns ongoing dialogue into real-world connections.
Product direction · Interface design · Frontend & backend engineeringNext.js Fastify Supabase Photon Spectrum Agent Memory V2 Injective Web3
DeadLineTodo ↗ · iOS PRODUCT / Available on the App Store
A deadline-first task manager for iOS, available on the App Store.Swift SwiftUI SwiftData StoreKit 2 WidgetKit EventKit
SoulHealing ↗ · EMOTION & AI / Hunan Hackathon track 2nd place
An experiment combining emotion recognition, multimodal AI and music therapy.SwiftUI AVFoundation FastVLM MLX VLM Core ML Vision
VisionKeyboard ↗ · visionOS / AdventureX track 4th place
A 26-key spatial keyboard for Apple Vision Pro using fingertip tracking.Swift visionOS ARKit Hand Tracking RealityKit Plane Detection Spatial Gestures
RSNA 2024 · YOLO Approach ↗ · KAGGLE COMPETITION / Silver Medal
An object-detection approach for the Kaggle RSNA 2024 Lumbar Spine Degenerative Classification competition.Python PyTorch YOLOv8 Ensemble 3D DICOM MaxViT Multi-scale Inference
Languages Swift ·
Kotlin ·
Python ·
TypeScript
Web & data React · Next.js · Supabase
Vision & tools PyTorch · OpenCV · Git
Repositories with my commits · public + authorized private · language mix.
Data & methodology
Includes repositories where GitHub attributes a commit to zs-andy as author or committer—not just repositories I own. Global commit search is supplemented with current-branch checks for repositories accessible through ownership, collaboration or organization membership. Public, authorized private, archived and fork repositories are eligible; each repository is counted once. Coverage is limited by token permissions, GitHub indexing and linked commit identities; deleted or inaccessible history cannot be included.
The chart uses a repository-normalized language mix: each included repository with language data contributes equally after its own GitHub Linguist proportions are calculated. This keeps one unusually large repository from overwhelming the overview. It is not the lines I personally wrote, time spent or proficiency. All detected languages remain available in the chart; the ten largest get bars and the smaller ones appear in the compact key. Notebook files retain GitHub's “Jupyter Notebook” classification. Forks are counted separately and may share code with their upstream repositories.
Only aggregate language totals and repository counts are published—no repository identifiers, commit records or per-repository details. A weekly refresh is scheduled; it requires a configured access credential and otherwise preserves the last snapshot. Refresh setup.
Current data & full language breakdown · Generator · Update status


