
A full-stack personal portfolio and branding website built from scratch with Next.js App Router, designed for two sides at once: public visitors browsing the work, and the admin (myself) managing everything through a custom dashboard.
On the public side, there's a Home page with a hero section showing real-time Instagram stats (followers, posts, following count) pulled straight from the API, a Portfolio page filterable by category (Graphic Design / Web Development), a Blog page with automatic reading time & view counters, a Product page (free & paid items), an About page with education and work experience timelines, and a Contact page integrated directly with WhatsApp.
On the admin side, there's a fully private dashboard with complete CRUD functionality for Portfolio, Blog, and Products — each with modal-based forms, a custom rich text editor, Cloudinary image uploads, and a Summary page displaying content performance stats (total views, likes, category breakdowns, unviewed content, etc.).
Features:
Key Technical Implementation:
usePortfolioAdmin, useBlogAdmin, etc.) to share form state, loading, error, and CRUD actions without prop drillingcubic-bezier<style> tag, automatically disabled at desktop breakpointspriority loading for LCP elements, manually calculated sizes prop matching actual container width at each breakpointdangerouslySetInnerHTML with CSS specificity override — renders rich text editor content with !important font enforcement ([&_*]:!font-onest) to guarantee typography consistency across devicesuseMemo for category-based portfolio filtering without unnecessary re-rendersGET/POST/PUT/DELETE) for portfolio, blog, and products, backed by Redis as the database"use client" for interactivity — forms, modals, animations, drag gestures)Tech Stack:
Next.js (App Router), React, Tailwind CSS, Redis, Cloudinary, Instagram Graph API, WhatsApp Business API
PageSpeed Insights
Report URL: https://pagespeed.web.dev/analysis/https-www-izamhn-my-id/8h6vr8h17x?hl=id&form_factor=desktop
GTmetrix
Report URL: https://gtmetrix.com/reports/www.izamhn.my.id/yxf9QFy0/