Optimizing Monorepo Deployments on Vercel: A Case Study of utities.online
Large Monorepo projects—especially those hosting multiple independent web apps—often face a common deployment inefficiency on Vercel: even minor changes to a single subproject trigger a full rebuild and redeployment of the entire repository. This not only wastes valuable build resources but also significantly slows down deployment times, hampering developer productivity.
The utities.online
project is a typical Monorepo managed with pnpm workspaces, hosting several standalone web apps under the utities.online
domain ecosystem:
├── package.json
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
└── packages/
├── altitude/ ← Altitude measurement tool
├── auto-trim-image/ ← Automatic image cropping tool
├── image-compare-pro/ ← Image comparison tool
├── logo-dash/ ← Logo generation tool
├── shared-ui/ ← Shared UI component library
└── video-splitter/ ← Video splitting tool
Each app is deployed to a unique subdomain (e.g., altitude.utities.online
, logo.utities.online
), while the main website lives at www.utities.online
.
Subprojects reference the shared UI library via pnpm’s workspace protocol:
json// Example package.json for a subproject { "dependencies": { "shared-ui": "workspace:*" } }
All subprojects use a similar vercel.json
configuration:
json{ "buildCommand": "pnpm generate", "outputDirectory": "dist/static", "installCommand": "pnpm install", "framework": "vite" }
Vercel offers a powerful feature to skip builds when no relevant changes are detected. For multi-subdomain projects like utities.online
, this is a game-changer.
This setting instructs Vercel to analyze code changes intelligently. If only one subproject is modified, only that subproject will be rebuilt and redeployed to its corresponding subdomain.
After enabling smart deployment skipping, the utities.online
project sees dramatic improvements:
utities.online
faster, boosting productivity.For large Monorepos like utities.online
, this simple configuration change transforms the deployment workflow. It ensures that each subdomain updates independently and efficiently, making the most of Vercel’s infrastructure.
Key Takeaway: By leveraging Vercel’s built-in intelligence, you can optimize Monorepo deployments—saving time, resources, and developer frustration.
Have you faced similar Monorepo deployment challenges? How did you solve them?