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 · EMPLOYMENT PASS HOLDER
/ 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 → 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; production Solidity shipped to client spec.
Selected Work
TetherMax
Crypto cashback platform, 100K+ users. Took the web + mobile frontend in-house, and own it end to end.
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 pipelines, dynamic imports, bundle trimming: TetherMax JS down 85-90%. When React is the bottleneck, work moves out of the render loop (refs + rAF).
Data Fetching & Caching
App Router per-route caching + 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 <0.5s.
Reliability & Process
CI/CD and code-review standards adopted team-wide. Sentry + Mixpanel observability. 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
Agent workflows instrumented, not just used: lifecycle hooks, token-derived identity, and dashboards that make agent state readable. The LLM parses intent; it never designs.
Stack
Lab
Side experiments where I go one layer down: render loops without React, agents wired into a 3D floor, a photo that never leaves the vault.
Desker
Desks around the world, rebuilt as low-poly dioramas on a globe you spin.
Pokoffice
My AI agents, clocking in as Pokémon, in a 3D office that shows what they're working on.
Beer Can
Imported-beer essays, each rebuilt as a can on a turntable.
Jetstream Deck
Bluesky's firehose, thousands of events a second, drawn at 60fps without React.
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.
Wedding Invite
Our own wedding invite, hand-coded. Every guest was a user.
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.



