Iterasi ketiga portofolio pribadi saya — situs Next.js 15 dwibahasa (EN/ID) dengan shadcn/ui dan Tailwind v4, sepenuhnya digerakkan oleh headless Payload CMS.

Personal Website v3 adalah pembangunan ulang terbaru portofolio saya, memakai Next.js 15 (App Router) dengan React 19 dan TypeScript. Antarmuka dibangun di atas shadcn/ui dan primitif Radix, ditata dengan Tailwind CSS v4, tema terang/gelap via next-themes, dan animasi dengan Motion (Framer Motion).
Situs ini sepenuhnya dwibahasa dengan next-intl memakai prefiks locale yang selalu aktif (/en, /id) — setiap rute berada di bawah /[locale] dan teks UI disimpan per bahasa. Konten terlokalisasi sendiri berasal dari CMS, yang mengembalikan locale aktif dan fallback ke bahasa Inggris.
Seluruh konten — proyek, tulisan, pengalaman, testimoni, dan bagian about — bersumber dari headless Payload CMS lewat satu lapisan data bertipe (lib/cms.ts) menggunakan ISR Next.js (revalidate 60). Infinite scroll dan formulir kontak berjalan lewat server actions, dan SEO ditangani dengan helper JSON-LD.
Di-deploy di Vercel sebagai salah satu dari empat aplikasi independen dalam monorepo portofolio, berbagi CMS yang sama dengan versi frontend lainnya.