
Next.js App Router vs Pages: when I still touch Pages
I start new work in App Router. I still open pages/ on old repos. Here is when, and what I refuse to rewrite in a weekend.
Hi, I'm Aris Setiawan. Cursor Ambassador in Indonesia. I build Next.js, WordPress, and AI products for teams worldwide — and coach developers on practical Cursor workflows. 13+ years.
Experience
13+ Years
Projects
50+ Delivered
Location
Indonesia

Next.js, WordPress, AI features, and performance work — shipped to production, remote-friendly.
Build blazing-fast React applications with server-side rendering, static generation, and modern web architecture.
Custom themes, plugins, and headless WordPress solutions for scalable content management systems.
Enterprise-grade PHP applications with Laravel, custom APIs, and database architecture.
Audit, analyze, and optimize your web applications for Core Web Vitals and user experience.
Mentoring, Cursor workflows, and community learning for teams and builders who want to ship faster with AI.
13+ years building scalable web products for startups, agencies, and enterprises.
Named collaborators include Hongkiat, SAB Digital, Raja Kreatif, and Ta-Wan.
Cursor Ambassador Indonesia and MiniMax Dev Community Expert.
Remote-first workflow with clear communication and timely delivery.
Previously worked with
Technical articles, tutorials, and thoughts on web development.

I start new work in App Router. I still open pages/ on old repos. Here is when, and what I refuse to rewrite in a weekend.

I use App Router as a route tree I can explain, not a React SPA with a Next wrapper. Here is the set I keep.

When someone asks me to hire a Next.js developer, I ask for a shipped App Router repo, not a year count. Here is what I open first.