From XAMPP & Laravel to Next.js: My Web Development Evolution
1. The First Web Project: Laravel and XAMPP
Every software engineer remembers their first "real" backend web project. For me, that milestone was building a cinema ticketing website using Laravel and PHP.
Kodingan pertama bikin website bioskop dari Laravel ini lumayan seru. It taught me fundamental web architecture: how MVC (Model-View-Controller) patterns separate business logic from Blade views, how Eloquent ORM maps database tables to object models, and how session cookies manage user authentication.
However, along with the fun came the friction. Back then, my entire local development environment relied on XAMPP. You had to manually start Apache and MySQL services from a control panel, configure database privileges in phpMyAdmin, and wrestle with local virtual host configurations whenever paths clashed.
And then came the real headache: deployment. Taking a classic PHP/Laravel application from your local machine to a live public server was an exercise in frustration. Configuring shared hosting environments, managing PHP runtime versions, uploading files via FTP or configuring remote SSH servers, and debugging .htaccess rewrite rules felt unnecessarily convoluted and error-prone.
Discovering Next.js Near Graduation
Fast forward to my final semesters near graduation. As I prepared to enter the industry, I started exploring modern frontend ecosystems and was introduced to Next.js and TypeScript.
The contrast with my early web experiences was night and day.
Kenal Next.js saat hendak lulus, dan langsung jauh lebih suka ekosistem ini. Next.js solved virtually every operational friction point that had frustrated me in the past:
- Zero-Friction Deployment: Instead of wrestling with server configurations and manual Apache setups, deploying a Next.js application requires nothing more than pushing a Git commit to GitHub. Vercel automatically detects the framework, builds static bundles, optimizes images, and deploys the app to global edge networks in seconds.
- Effortless Backend with Supabase: Rather than maintaining local MySQL instances with XAMPP, connecting Next.js to Supabase gives you a production-grade PostgreSQL database with instant REST/GraphQL APIs, real-time subscriptions, and built-in authentication, all accessible via clean TypeScript clients.
- Full-Stack Flexibility: Next.js seamlessly combines static site generation (SSG) for lightning-fast documentation with server-side rendering (SSR) and API routes for dynamic data transactions.
The Engineering Lesson
Looking back, working with Laravel and XAMPP was an essential stepping stone. It forced me to understand traditional server lifecycles, HTTP routing, and database relationships without relying on magical abstractions.
However, modern tools like Next.js, TypeScript, and Supabase exist for a reason: they eliminate unnecessary operational overhead. Less time spent wrestling with server configuration files means more time focusing on what actually matters: crafting intuitive user experiences, writing clean code, and shipping real software into the hands of real users.
2. Archival References & Documentation
- “From XAMPP & Laravel to Next.js: My Web Development Evolution”. Authored by Krisna Hadi Prasetya. Recorded in KrissphiWiki archives (October 25, 2025).
- Verification repository and dossier: https://krissphi.dev.