ORCA-TECH
Back to articles

Tech

App Router seams that keep a Next.js app honest

Omar Farouk · 2025-12-11 · 6 min

Code on a monitor
Laptop on a desk
Keyboard close-up

The App Router is not a folder rename. It is a contract about where data is allowed to live, what can be cached, and which components may touch the network. We draw that line before we move a single page.

Teams that skip the contract end up with client components that fetch in useEffect, cache that nobody can explain, and a production bug that only appears after a hard refresh.

Cache on purpose

Accidental caching is how catalogs go stale. We name the tags, the revalidate windows, and the mutations that bust them. If a merchandiser publishes a price, we know which tag to invalidate.

Server components read. Client components interact. The boundary is a file, not a feeling. We review that boundary in every pull request that crosses it.

Move page by page

We do not flip the whole site. We move a route, watch the metrics, then move the next. Parallel routes and intercepting routes wait until the basics are boring.

Honest Next.js apps are slow to start and fast to change later. That trade is the point of the App Router.

Related articles

Kubernetes without the theatre

Tech

Kubernetes without the theatre

The smallest cluster that still gives us rollbacks, secrets, and sleep.

Karim Nasser · 2025-09-02 · 6 min

Read article
React Native without a leaky native bridge

Tech

React Native without a leaky native bridge

When we drop to native modules, and how we keep the JS side boring.

Omar Farouk · 2025-10-09 · 6 min

Read article
Preview apps that stakeholders actually click

Tech

Preview apps that stakeholders actually click

GitHub Actions, ephemeral URLs, and the review comment that replaces a meeting.

Karim Nasser · 2025-11-18 · 6 min

Read article