work
Sixty-four repos, one thread: what my GitHub history says about how I work
I read all 64 public repos as one career: COVID-era hackathon bots, NTU research games, then a 2026 run of on-device Mac AI — macwispr, voice-evolve, a 4.73B MoE trained on a Mac Studio, and the reverse-engineered Cursor API.
Sixty-four repos, one thread: what my GitHub history says about how I work
I pulled my own GitHub history recently — all 64 public repos, from 2019 to now — and read it like someone else's career. The thread is clearer from the outside: I keep building the same few obsessions at higher and higher fidelity.
2019–2021: first repos, first instincts
python-file-encryptor,PYDownloader(a YouTube audio/video downloader) — utility scripts from the JC eraImmigrant-Technologies— COVID second-wave hackathon project: FindPatients.in, a Telegram bot + Flask + MongoDB stack that helped people find hospital resources in India when the system was overwhelmed. Real stakes, real usersNano-mixer,flutter_learn,bbdcbot— early web/mobile experiments
The pattern showed up immediately: build something that does one useful thing, ship it, move on.
2022–2023: NTU and research-adjacent work
URV— Unified Real-estate Viewer (C++)kwg— Kids with Grids: migrated a psychology GridSearch game to the web for NTU CLIC (Center for Lifelong Learning and Individualized Cognition), based on the Schulz/Wu/Ruggeri/Meder studyMFweb-app/MFweb-api— behavioral research studies with apple-picking game mechanics (Maggie's Farm)
This is when the work starts carrying a research component — not just "does it run" but "does it measure what the study needs."
2024: teaching and tooling
sample-telegram-bot— a Telegram bot crash-course I built for JCs (still my most-forked repo)ntufood/nusfood— "made this webapp so I can choose where to eat in ntu"audiototext,whisper-writer— the speech-to-text thread starts here
2025: speech, RAG, and teaching again
parakeetasr— the NVIDIA Parakeet transcription API (the one behind my n8n speech-to-text post)Distilled-RAG— semantic compression via RAG-based deduplication (research)Datagov-lessons— a data-cleaning course with real, messy datasetsbananapeel— banana slides → editable PDF slides for Canva/Slides/PowerPoint
2026: the Mac-AI year
This is where it got serious. Almost everything is on-device, Apple Silicon, agent-shaped:
- macwispr — on-device voice dictation for macOS (Qwen3-ASR via MLX, or Parakeet on the Neural Engine). A free, open-source alternative to Wispr Flow. Hold a hotkey, speak, done
- voice-evolve — two local AI agents call each other on a real Telegram phone line; a Gemini judge grades the call and the pipeline tunes itself until it sounds human. Runs entirely on Apple Silicon
- marco-moe-apple-silicon — pre-training a 4.73B sparse MoE on a Mac Studio. Benchmarking 5 dispatch strategies found a 2,293× speedup between worst and best
- cursorbleed — use Cursor as an OpenAI-compatible API, with the ConnectRPC reverse-engineering notes that explain how
- videodub — single-container GPU video dubbing: ASR → translate → voice-cloned TTS → lip sync
- hf2capcut — convert HyperFrames HTML compositions into real CapCut project files
- lintwechat — WeChat API bridge for international accounts (WeChatFerry + Docker)
- second-brain-recorder — open-source always-on audio recorder PCB that appears as a USB drive and transcribes to Obsidian
- context-poison-bench — benchmark for how well AI coding agents detect planted lies in documentation
- lc-350m — "Lint Clean": a fine-tuned 350M model that cleans voice-dictation transcripts
The through-line
Reading it back, the thread is: local-first, agent-shaped, and built to finish a job. Early repos were scripts. Now they're models I fine-tune and systems where agents call each other. Same instinct — make the tool disappear so the work can happen — with a much bigger toolbox.
The full list lives on GitHub. The cool ones are in the LOADOUT section of this site.