Dinetap Admin Dashboard
Full-stack internal operations and financial analytics dashboard for restaurant payments.
- Next.js
- Express.js
- TypeScript
- MySQL
- Sequelize
- Redux Toolkit
- TanStack Query
- nuqs
- Tailwind CSS
- Playwright
- Jest
- AWS
- Supabase
Full-stack internal admin dashboard for restaurant payment operations across Singapore and Australia. I contributed across both the Next.js 14 frontend and Express.js backend - owning Adyen payment features, surcharge systems, business intelligence dashboards, and platform-wide performance improvements.
Highlights
- Owned the Adyen transaction charges management system end-to-end across both admin frontend and backend API - per-restaurant configuration supporting Adyen and Stripe with full CRUD, provider-specific validation, and charge calculation logic.
- Owned 76% of the Adyen Australian surcharges management system - complex surcharge matrix across Credit/Debit × Local/International × payment method combinations, covering the admin UI, form validation, and backend computation layer.
- Built business intelligence dashboards for financial analytics - real-time payment performance and merchant operations reporting consumed by internal product and business teams.
- Delivered Adyen and Airwallex merchant onboarding flows - multi-step account creation and payment provider configuration workflows integrating Adyen and Airwallex APIs across Singapore and Australia.
- Refactored Redux state management to URL-based state using nuqs - eliminated redundant client storage, simplified filter and pagination logic, and improved developer velocity across the codebase.
- Optimized Next.js dashboard loading by 4 seconds using hybrid SSR/CSR rendering and query caching strategies, eliminating unnecessary client-side data hydration on initial load.
- Eliminated a 35% performance bottleneck in the Adyen merchant onboarding backend service by parallelizing sequential third-party API calls in the Express.js layer.
Last updated: 2026-06-06