Next.js Frontend Engineer in Taiwan | Jacky Yang

Jacky Dev © 2026
Built with Next.js, TypeScript, and an unreasonable amount of debugging.
logo

Projects

Side projects built outside of work: from a subscription checkout integrated with the TapPay payment API to the job-search tracker I use every day.

Screenshot of BillingVault

BillingVault

A mock SaaS subscription checkout wired to the TapPay sandbox payment flow.

Sandbox environment. No real charges are made.

  • TapPay Fields tokenize card data into a Prime, so raw card numbers never reach my own server; saved cards are charged via Pay by Token.
  • Subscription requests carry an idempotency key plus a submit lock, so retries and double clicks never double charge.
  • Sessions are verified with Supabase SSR, with CSP nonces and a redirect allowlist guarding against injection and open redirects.
  • Next.js
  • TypeScript
  • Supabase
  • Prisma
  • TapPay
Live Demo ↗(opens in a new tab)GitHub ↗(opens in a new tab)
Screenshot of Job Tracker

Job Tracker

The application tracker I use daily during my own job search, installable to the home screen.

A tool I use personally. Sign-in is closed, but the source code is on GitHub.

  • Built as a PWA: installable, with assets cached by a service worker.
  • A kanban board tracks every application so stalled stages stand out at a glance.
  • Born from my own job-search pain points and iterated on while using it.
  • Next.js
  • TypeScript
  • PWA
  • Google OAuth
GitHub ↗(opens in a new tab)