@vivekcsein-logo
  • Home
  • About
  • Development

    • Web Development
    • Performance & Optimization
    • Backend & APIs
    • Authentication & Security

    Specialized

    • SEO & Ad Monetization
    • AR Experiences
    • Animation
    • Figma to Code
  • Articles
  • Projects
  • Marketplace
  • Contact
@vivekcsein-logo

A portfolio full stack developer with a passion for building scalable and high-performance web applications.

Explore

  • Home
  • About

Services

  • Web Development
  • Backend & APIs
  • Performance Optimization
  • Security & Authentication

Connect

  • Contact
  • Privacy
  • Terms
  • Home
  • About
  • Web Development
  • Backend & APIs
  • Performance Optimization
  • Security & Authentication
  • Contact
  • Privacy
  • Terms

© @vivekcsein. All rights reserved.

  • Home
  • All Articles47
  • Featured
  • Recently Added
  • Most Read
  • Bookmarks
Topics
  • Interview3
  • 3d4
  • Ai Prompts2
  • Business3
  • Deployment1
  • Dev2
  • Frontend5
  • Getting Started2
  • Security2
  • Seo2
  • Workflow10
  • Backend1
  • Deployment1
  • Security1
  • Javascript1
  • Client Advisory5
  • Engineering2
    • How I structure a Next.js project
    • How to Approach Creating a Web-App from Scratch
Collections
  • Docs
  • Tutorials
  • Resources
  • Articles
“A better developer every single day.”
— Vivek
  1. Articles
  2. Engineering
  3. How I structure a Next.js project
Engineering

How I structure a Next.js project

The folder layout, config split, and conventions I reuse across every Next.js App Router project.

Updated Sep 15, 20261 min read
On this page

On this page

  • Routes stay thin
  • One config file per concern
  • Co-locate feature components

Every Next.js project I start uses the same shape: app/ for routes only, components/ split by feature, packages/ for anything not React (config, utils, hooks), and content/ when the site is content-driven.

Routes stay thin#

Pages fetch data and lay out components — they don't contain business logic. If a page function is more than ~30 lines, something belongs in packages/ instead.

One config file per concern#

app.config.ts for copy and branding, content.config.ts for how content maps to routes, shell.config.ts for routing constants. Splitting them means a copy change never touches routing code.

Co-locate feature components#

components/features/<feature>/ beats one flat components/ folder once a project has more than a handful of screens — it's the difference between guessing and knowing where something lives.

Next How to Approach Creating a Web-App from Scratch

Keep reading

  • Engineering

    How to Approach Creating a Web-App from Scratch

    The end-to-end process for building a web app from scratch: discovery, design, theming, config files, project structure, UI and page assembly, with AI prompt templates.

    8 min read·Sep 12, 2026
  • Client Advisory

    Client Advisory & Technical Playbook: Next.js App Router, RSC & Performance Engineering

    Client advisory playbook for Next.js performance: choosing CSR, SSR, SSG or ISR per route, fixing common bottlenecks, plus an audit checklist and SOW templates.

    17 min read·Sep 12, 2026
  • Workflow

    Stage 1 — Project Initialization

    Create the Next.js app every later stage builds on: App Router, TypeScript, Tailwind CSS, Biome, Bun and Turbopack, verified and running locally.

    2 min read·Oct 2, 2026

On this page

  • Routes stay thin
  • One config file per concern
  • Co-locate feature components