<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-we-cut-our-next-js-build-time-without-changing-frameworks-lqzvtilnd" -->

---
title: How We Cut Our Next.js Build Time Without Changing...
description: A team&#x27;s Next.js builds had grown slow enough to change developer behavior — larger PRs, delayed releases, batched changes. Rather than blaming the framework,...
canonical: https://daily.dev/posts/how-we-cut-our-next-js-build-time-without-changing-frameworks-lqzvtilnd
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How We Cut Our Next.js Build Time Without Changing Frameworks | daily.dev
og:description: A team&#x27;s Next.js builds had grown slow enough to change developer behavior — larger PRs, delayed releases, batched changes. Rather than blaming the framework,...
og:url: https://daily.dev/posts/how-we-cut-our-next-js-build-time-without-changing-frameworks-lqzvtilnd
og:image: https://api.daily.dev/og/posts/LQzvtIlNd.png
og:image:alt: How We Cut Our Next.js Build Time Without Changing Frameworks
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How We Cut Our Next.js Build Time Without Changing Frameworks

**[Medium](https://daily.dev/sources/medium_js)** · 11 min read · 0 upvotes · 0 comments

## Summary

A team's Next.js builds had grown slow enough to change developer behavior — larger PRs, delayed releases, batched changes. Rather than blaming the framework, they investigated the full pipeline and found the real causes: oversized shared dependency graphs (barrel files exporting everything), unrelated routes coupled through frequently-changing shared modules, and CI pipelines repeating work like type checks, code generation, and dependency installs across multiple jobs. The fix involved narrowing import boundaries, separating stable primitives from product logic, keying caches to actual inputs rather than the whole repo, and parallelizing independent checks. No single change was dramatic — the cumulative result was significant. The key insight: a new framework would have inherited the same architectural waste; the build was slow because of accumulated project decisions, not the tool executing them.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/skillstuff/how-we-cut-our-next-js-build-time-without-changing-frameworks-84e51f9f77c1>

## Similar posts on daily.dev

- [Verify faster](https://daily.dev/posts/verify-faster-zmkbwrxol) · RUBYLAND · 0 upvotes · 0 comments
- [Build at Zepto Speed: How We Cut Frontend Webpack Build Times by 95%](https://daily.dev/posts/build-at-zepto-speed-how-we-cut-frontend-webpack-build-times-by-95--naalyyjoz) · Medium · 1 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#cicd](https://daily.dev/tags/cicd), [#nextjs](https://daily.dev/tags/nextjs)

[View this post on daily.dev](https://daily.dev/posts/how-we-cut-our-next-js-build-time-without-changing-frameworks-lqzvtilnd)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How We Cut Our Next.js Build Time Without Changing Frameworks","url":"https://daily.dev/posts/how-we-cut-our-next-js-build-time-without-changing-frameworks-lqzvtilnd","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-we-cut-our-next-js-build-time-without-changing-frameworks-lqzvtilnd"},"datePublished":"2026-07-23T16:00:42.823Z","dateModified":"2026-07-23T16:09:50.048Z","description":"A team's Next.js builds had grown slow enough to change developer behavior — larger PRs, delayed releases, batched changes. Rather than blaming the framework,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e4f4d9f546d2021c559c5c121059fa4c?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e4f4d9f546d2021c559c5c121059fa4c?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-we-cut-our-next-js-build-time-without-changing-frameworks-lqzvtilnd","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,cicd,nextjs","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"How We Cut Our Next.js Build Time Without Changing Frameworks"}]}
```

