Job Posting & Applicant Management Platform
Context
The service has been discontinued, so there are no screens to show. Internal system names and non-public details are omitted; the process is as it happened.
I built a Next.js 14 service covering job-posting creation through applicant management, alongside the admin panel operations staff used. Both surfaces leaned heavily on input forms and server-state management.
Problem
Backend API development was scheduled to start later than the frontend. Left as-is, the frontend would have had to wait on the backend and proceed sequentially, stretching the overall timeline.
What I did
1. Build frontend-first against MSW mocks
I introduced MSW (Mock Service Worker) to mock responses against the agreed API spec, letting frontend development and testing start before the backend existed. When the API contract changed, only the mock handlers needed updating — the frontend was no longer blocked on backend progress.
2. Forms and server-state management
I implemented validation for complex forms — job-posting creation, application submission — with React Hook Form, and managed server state (applicant lists, status changes) with React Query.
3. Multilingual SSG pages
I used next-translate to statically generate (SSG) job-posting pages in multiple languages.
Results
| Metric | Before | After | Change |
|---|---|---|---|
| Frontend start date | Waiting on backend API completion | Started immediately against MSW mocks | parallelized |
| Schedule risk | Sequential (backend → frontend) | Frontend and backend progressing together | reduced |
The biggest win from adopting MSW wasn't speed so much as removing a category of schedule risk — backend delays stopped pushing back the frontend's start date.
Found this case study interesting?
Always up for a conversation — whether or not there's a project attached.