# Deploying Monorepos Sucks

> Monorepo's are great, but I think they need some love from the platforms that deploy them. 
- **Author**: Dominik Koch
- **Published**: 2026-09-18
- **Modified**: 2026-09-18
- **Category**: Technical
- **URL**: https://dominikkoch.dev/blog/deploying-monorepos-sucks

---

I recently made a tweet asking [@vercel](https://x.com/@vercel) what I was doing wrong, causing my build minutes to make up the majority of my bill.

<div data-twitter="" data-src="https://x.com/dominikkoch/status/2100329110010495329"></div>

To give you a little bit of context [@usenotra](https://x.com/@usenotra) ran about 600 builds in the last 24hours on Vercel alone. *according to their agent at least*

<figure data-width="100" data-align="center"><img src="https://cdn.marblecms.com/media/BdPkhgcj6t3OZ8wjHgOQSicZ4dM159Kv/A7Hz_64CBWQa_fTZn0Erl.png"><figcaption></figcaption></figure>

Most of these deployments should have never been built...

## **The Problem(s)**

Monorepo's are great but I think they need to be changed to accompany agents better.

Lets say we have one package (in our case @notra/db) and three apps, our landing page, an eve agent and our dashboard. Two of those, the eve agent and dashboard, depend on the db package and thus get redeployed when something in the db changes.

In our case the db package includes our database migrations so it changes fairly frequently causing both packages to be redeployed. This would be fine and the intended way, but a lot of changes we do only edit the dashboard, yet also redeploy the eve agent. Causing an unnecessary developments + n amount of *unnecessary* preview developments.

Another example to better grasp this would be a ui package (@notra/ui), we obviously want to share our ui components across apps to have a consistent look. When we add a new component thats only used on our landing page the dashboard will still redeploy even though the component is never used there. This *again*creates unnecessary deployments that end up costing us a lot of money every month

As agents deploy more and more code eliminating unnecessary deployments becomes a huge cost factor that I believe we should try to eliminate.

## **Introducing Smart Deployments**

With Jev the new model by [@typesafeai](https://x.com/@typesafeai)thats both fast and cheap at classifying stuff I would love to see big companies like [@vercel](https://x.com/@vercel)[@cloudflare](https://x.com/@cloudflare), [@unkeydev](https://x.com/@unkeydev) or [@netlify](https://x.com/@netlify)to introduce something I call Smart Deployments, a small AI call to a model like Jev who's only job is determining which app should actually be redeployed.

This of course increases latency and cost slightly but in the grand scheme of things I believe the money you save on deployments that get skipped outweigh the small cost of running a classifier before every deployment.

How should this work? You may ask? When something in our ui package changes it checks what app depends on it then goes further and checks if that app actually depends on the specific component changed.

There most likely needs to be limits to this as I am assuming the deeper you go the more latency and cost you add, for example a primitive being edited might not be used in any apps and thus not redeploy but might be used by another component that IS used by an app. How deep and "smart" you make these needs to be thoroughly tested.

Yet I believe this should exist and I hope the big players build it, thank you for listening to my ted talk. If this post is super stupid and im hallucinating please let me know and correct me :D

---
- [More Technical articles](https://dominikkoch.dev/blog/category/technical)
- [All articles](https://dominikkoch.dev/blog)