Oct 2022 — Present
Singapore (Remote)
Nautilus Network Solutions
Frontend Engineer · React 19, Next.js App Router, TypeScript, SIP.js/WebRTC, Go, PHP/Laravel
Customer support, cloud telephony and identity/access-management platform (Next.js App Router frontend, Go gateway).
- Cloud webphone (SIP.js). Built a browser-based softphone on SIP.js covering SIP registration, call setup and teardown, and in-call state, giving support agents a full phone inside the CRM with no desktop client to install.
- Real-time messaging. Shipped agent and customer chat on React, Redux and Pusher with live presence, delivery state and reconnection handling that survives flaky networks.
- Token-safe BFF architecture. Designed a backend-for-frontend proxy layer so the browser never holds an auth token. Tokens live in httpOnly cookies and a same-origin route handler injects Authorization server-side, removing XSS token-theft exposure and eliminating client-side CORS entirely.
- Silent token refresh. Built a refresh pipeline that collapses concurrent 401s into a single refresh via an in-flight flag and request queue, then transparently replays the original calls: no duplicate refresh storms, no forced re-login.
- Defence-in-depth RBAC. Implemented middleware plus per-route permission checks driven by one permission-to-module map, making it structurally impossible for nav visibility and route guards to disagree and strand a user on a 403.
- Server-first data layer. Eliminated hydration refetches by prefetching on the server and seeding TanStack Query with the exact URL-derived filter set rendered, with staleTime tuned per data volatility (30s for lists, 300s for admin data).
- Zendesk and Salesforce integrations. Delivered ticket sync, agent context and identity mapping natively inside the console, plus custom Zendesk theme development.
- Design system, errors and accessibility. Centralised error handling behind a typed ApiError contract (global 409/429/5xx, field-level 422, boundaries for 403/404), and established a Tailwind v4 @theme token system with dark mode and WCAG 2.1 AA built into shared primitives rather than retrofitted.
- Testing and cross-stack delivery. Stood up an MSW mock backend for unshipped Go endpoints, reused as the fixture layer for Vitest/Playwright integration tests in CI; shipped PHP/Laravel and Go modules with the backend team, and built the frontend for an AI research collaboration with an external team.