I am a full-stack developer and technology enthusiast who enjoys turning an idea into a complete working product. I move across product thinking, UX, frontend, backend, data, automation, deployment, and iteration—whatever the problem needs.
I am always exploring new platforms, AI-assisted development, mobile and hardware integrations, and better ways to build. My public projects include setup steps, validation commands, limitations, and security notes so the engineering decisions remain inspectable.
Discover → Shape → Design → Build → Ship → Learn
| Focus | What that means in practice |
|---|---|
| End-to-end products | Product discovery, UX, architecture, implementation, deployment, and continuous improvement |
| Web, backend, and data | Responsive interfaces, APIs, source-backed content, automation, and reliable data flows |
| Mobile and hardware | Flutter, iOS/Android integration, BLE, physical-device validation, and resilient local state |
| Developer productivity | Native macOS and terminal tools that make AI-assisted work more observable and controllable |
Private-inclusive aggregate snapshot generated from GitHub. Private repository names, organizations, and code remain hidden.
A 3D Happy Valley night-racing betting simulator that runs in the browser (Three.js), with a Traditional Chinese UI. It has a floodlit course, grandstand crowd and neon skyline, plus galloping horses with jockeys in their racing colours. The race engine is calibrated to real 跑馬地 winning times, and the betting uses pari-mutuel 獨贏 / 位置 / 連贏 / 位置Q / 三重彩 pools. Races are shown through TV-style cameras with Cantonese race calls.
▶ Play it live · Explore the repository →
A real tmux session with Claude Code on the left and the read-only sidebar on the right. The panel keeps context usage, Git state, worktrees, configured MCP servers, touched files, todos, and the latest diff visible without modifying the coding session.
An interactive, video-first doubles badminton analysis workspace combining synchronized playback, manual court calibration, player movement trails, sparse shuttle evidence, rally events, and score state. The screenshot shows the raw detection and tracking evidence; reviewed identities and scoring remain explicit rather than being presented as automatic facts.
- Tested developer tooling:
claude-sidebardocuments 126 dependency-free tests;codex-usage-menubarincludes parser and normalization tests. - Tested 3D simulation:
hk-racing-simpairs core unit tests with a Playwright E2E run on the real GPU that plays a full race meeting and reconciles the balance against pool dividends. - Products you can use: J-Pop HK Concerts, HK Horse Memory and HK Racing Simulator are live.
- Real-device engineering: Eddystone Playground documents Android/iOS capability boundaries, diagnostics, screenshots, and physical-device validation.
- Security-conscious backend work: whatsmeow-playground documents Host, Origin, content-type, XSS, and local credential-storage safeguards.
- Own the whole journey from idea to deployment, then keep improving from real feedback.
- Trace the real data path from source payload to rendered behavior.
- Treat privacy, failure modes, and operational limits as product requirements.
- Make uncertainty visible instead of presenting guesses as facts.
- Prefer small, verifiable releases with useful documentation and honest validation boundaries.
Daily totals for the last 31 days, including anonymous private and internal activity enabled through GitHub. Repository and organization details remain hidden. This is not a pull-request count.
More public experiments
- Design Tools — reusable skills for editable presentations and visual production.
- Video Publish Automation — a small Python workflow for moving selected videos and publishing them to YouTube.
Build clearly. Verify honestly. Leave a useful trail.




