Frontend
Engineer
I build fast, readable, product-driven interfaces, with an auditor's eye for what breaks.

/ About
Five years in engineering, two of them auditing Solidity, now focused on frontend. I care about interaction, reliability, and ownership, and I ship products that are easy to use, easy to read, and easy to maintain.
BASED IN SINGAPORE
/ Experience
Neovate
2024 - PresentTook TetherMax's web + mobile frontend (100K+ users) in-house in 2024, then drove the rebrand and performance overhaul: JS down 85-90%, in-app screens 2-3s → under 0.5s. Now leading the frontend team.
HAECHI LABS
2019 - 2021Contract from 2019, full-time from late 2020. 100+ DeFi & ERC-20 audits securing $5B+ in TVL, 30+ critical/high findings before deployment; 10+ contracts on Ethereum mainnet with zero incidents.
Selected Work
TetherMax
Crypto cashback platform, 100K+ users. Took the web + mobile frontend in-house, then led the rebrand and performance overhaul.
TongTong
Couples track shared expenses and assets in one place. Web, app, server, DB, all built solo. Live on Google Play.
Discover Singapore
A fog-of-war map over real GPS. Offline tiles, one-polygon fog, noise-hardened dwell detection.
Contract Audit
100+ DeFi & ERC-20 smart contract audits at HAECHI LABS, where I learned to read code by asking how it breaks.
/ Technical Strengths
Performance & Bundle
Image delivery, code-splitting, API caching and rendering work: TetherMax JS down 85-90%. When React is the bottleneck, work moves out of the render loop (refs + rAF).
Data Fetching & Caching
Team-wide static vs. dynamic rendering rules for the App Router, plus TanStack Query: aggressive where static, exempt where staleness costs users money.
Cross-Platform
React Native + WebView hybrid. Native for interaction, WebView for weekly-changing screens, pre-warmed to under 0.5s.
Reliability & Process
CI/CD and code-review standards adopted team-wide. Sentry, Mixpanel and Amplitude, so regressions are fixed before users report them. Pure cores that unit-test.
Security Habits
Two years auditing Solidity. Untrusted input and "how does this break?" carried into every frontend.
AI-Native Engineering
Agents take scaffolding and rote implementation; I keep architecture, code review and every product decision. I also build for agents: lifecycle hooks that put Claude Code sessions on a live floor, and skills that declare their own UI.
Stack
Lab
Side experiments where I go one layer down: render loops outside React, agents wired into a 3D floor, a photo that never leaves the vault.
Office
My Claude Code sessions on a hand-drawn 3D floor: every session gets a desk, every agent a worker.
Desker
Desks around the world, rebuilt as low-poly dioramas on a globe you spin.
Aqua
A Maldives trip kept as a jelly-block lagoon, where plush sea creatures swim.
Jetstream Deck
Bluesky's firehose, thousands of events a second, drawn at 60fps without React re-renders.
Charlos
An always-on agent that outgrew Telegram. Now its skills declare their own UI.
Album
Ten trips told as one continuous scroll. Each page grows into the next.
Working Style
Treat it like it's mine
Ownership doesn't stop at the merged PR. When something breaks at 3am, I want to be the one who knows why.
Read it like an auditor, build it like a teammate
Auditing Solidity taught me to ask "how does this break?" before "does this work?" Same for writing: if a teammate can't follow it in one read, it's not done.
Reliability is the baseline, not a feature
Users never notice when it works. They leave when it doesn't, so I'd rather catch a failure in CI than in a support ticket.




