Recruitment Portal & CMS Modernization Platform
A comprehensive modernization of the company's recruitment portal and internal CMS. The old CodeIgniter/MySQL system was fully migrated to a modular, performant Next.js + Express.js + PostgreSQL architecture ready for long-term growth.
Role
Lead Architect & Full-Stack Developer
Timeline
2022 – 2023
Organization
PT. Jurnalindo Aksara Grafika (Bisnis Indonesia Group)
Impact & Tangible Results
<1.2s
Page Load Time
Down drastically from >5 seconds in the old system, significantly improving user experience.
95+
Lighthouse Score
Near-perfect Lighthouse performance, accessibility, and SEO scores.
100%
Process Digitalization
The entire recruitment workflow from posting to onboarding is recorded in the system.
Auto
Candidate Notifications
Application status emails sent automatically, saving HR team hours of work every week.
Problem Statement
The old recruitment portal had very poor performance (load time >5 seconds), a non-responsive mobile interface, and no applicant tracking features. The HR team processed applications manually via email with no centralized candidate visibility.
Solution & Architecture
Built a modern recruitment platform with a Next.js frontend optimized for SEO and performance, a clean Express.js backend API, and PostgreSQL for well-structured data.
Architecture Details
Next.js App Router with SSR for job listing pages (SEO-optimized) and CSR for HR dashboards.
Express.js backend with a clean middleware chain: auth to validation to business logic to response.
PostgreSQL schema redesigned from scratch to support flexible recruitment workflows.
Email notification system using transactional email providers with customizable templates.
Role-based access: Admin HR, Recruiter, and Candidate with role-appropriate permissions.
Key Modules & Features
Public Job Listing Portal
SEO-optimized (SSR) job listing and detail pages, responsive on all devices, with category and location filters.
Application & ATS System
Applicant Tracking System allowing applicants to apply online and recruiters to track each candidate from applied to hired/rejected.
HR & Recruiter Dashboard
Admin panel for HR teams to manage job postings, review applications, schedule interviews, and update candidate status.
Editorial Content CMS
Content management system for the editorial team to publish career articles and company information without needing a developer.
Email Notification Engine
Automatic email sending for application confirmations, status updates, interview invitations, and selection result announcements.
Challenges & Engineering Solutions
Challenge #1
Migrating historical applicant data from old MySQL to PostgreSQL without data loss.
Solution
Node.js ETL script to extract, transform (normalize), and load data into the new schema, run in batches with checksum validation.
Challenge #2
SEO for job pages that were previously client-side rendered and not indexed by Google.
Solution
Implemented SSR with Next.js App Router, structured data (JSON-LD JobPosting schema), and a dynamic sitemap for optimal search engine indexing.
Challenge #3
Non-technical HR teams needed a truly easy-to-use CMS.
Solution
Redesigned the CMS interface with intuitive UX including drag-and-drop, real-time preview, and step-by-step wizards for HR team independence.