
Kenapa Kamu Harus Bikin Portofolio & Admin Dashboard Sendiri?
Membangun Portofolio & Admin Dashboard Sendiri, Ini Alasannya
Beberapa waktu lalu, saya memutuskan untuk membangun website portofolio sendiri lengkap dengan admin dashboard. Bukan sekadar halaman statis, tapi sebuah sistem nyata yang bisa saya gunakan untuk mengelola konten seperti tulisan blog, pengalaman, sertifikat, gambar, dan lainnya.
Saya ingin sesuatu yang terasa "hidup", bukan sekadar halaman pajangan.
Kenapa Kamu Harus Membangunnya Sendiri?
Alasan utamanya sederhana: saya ingin punya website personal dengan zero budget, tapi tetap berfungsi penuh. Daripada menggunakan website builder berbayar atau CMS instan, saya meriset cara membangun website fungsional secara gratis menggunakan teknologi modern.
Dengan membangunnya sendiri, saya bisa:
- Pegang kendali penuh atas semua konten.
- Belajar masalah nyata dalam proses pengembangan aplikasi.
- Upgrade skill jauh melampaui sekadar mengikuti tutorial.
- Kustomisasi total sesuai dengan kebutuhan saya.
Dan hasilnya — sistem ini berjalan dengan sangat baik.
Bagaimana Cara Membangunnya?
Frontend
Frontend adalah bagian yang dilihat semua orang. Jadi, wajib hukumnya untuk memiliki desain yang oke, loading cepat, tata letak yang bersih, dan animasi yang halus.
Saya menggunakan Next.js, salah satu framework JavaScript paling populer saat ini. Next.js sangat powerful karena mendukung Server-Side Rendering (SSR) yang bikin SEO jadi bagus dan performa website tetap kencang.
Untuk urusan tampilan (UI & Styling), saya mengandalkan:
- Tailwind CSS untuk styling yang fleksibel.
- shadcn/ui untuk komponen dashboard yang profesional.
Penggunaan shadcn/ui sangat membantu dalam membangun admin dashboard karena komponennya terlihat profesional, mudah dikustomisasi, dan sangat pas untuk menangani forms, tables, hingga skeleton loading.
Backend & Database
Portofolio bukan cuma soal UI. Karena ada admin dashboard, saya butuh backend dan database yang solid. Di proyek ini, saya menggunakan:
- Prisma sebagai ORM agar interaksi database lebih aman dan bersih.
- PostgreSQL sebagai database-nya.
Di sini saya belajar banyak hal yang jarang dibahas di tutorial pemula, seperti cara menangani database connection limits, connection pooling, hingga perilaku serverless saat aplikasi sudah online.
Penyimpanan Gambar & Deployment
Untuk urusan upload gambar (logo, sertifikat, dsb), saya menggunakan Vercel Blob yang simpel dan terintegrasi baik dengan Next.js. Sedangkan untuk deployment, saya menggunakan Vercel.
Proses deploy memang mudah, tapi di sinilah tantangan baru muncul — mulai dari masalah caching, metadata yang tidak update, hingga data yang tidak langsung tersinkronasi. Memecahkan masalah ini justru menjadi bagian belajar yang paling berharga.
Apa yang Saya Pelajari?
Membangun portofolio plus admin dashboard mengajarkan saya lebih dari yang saya duga:
- Lingkungan production sangat berbeda dengan local development.
- Tidak semua bug berasal dari "kode yang buruk"; arsitektur dan environment sangat berpengaruh.
- Admin dashboard ternyata jauh lebih kompleks dari kelihatannya.
- Belajar yang sesungguhnya adalah saat ada sesuatu yang "pecah" dan kita harus memperbaikinya.
Kesimpulan
Portofolio ini mungkin belum sempurna, dan itu tidak masalah. Yang penting adalah sistem ini nyata, berfungsi, dan saya bangun sendiri.
Kalau kamu seorang developer dan masih pakai template atau portofolio statis, saya sangat menyarankan untuk mencoba membangun sistem kamu sendiri — meski sederhana. Kamu akan belajar banyak hal yang tidak akan pernah kamu temukan di tutorial mana pun.