2025-10-02 | Thursday
I want to find the best tech-stack for a modern software company. Of course, tech-stacks tend to be task specific, some application demand specific tools but our goal here is to find the maximum encompassing umbrella for the most general scalable system.
Here's a hypothetical scenario, there is a giant tech company, or a mid-cap one that has more than 5 software products, most of them customer oriented, some of them solely for internal staffs, some are for the developers own software needs. What monorepo architecture can scale well in this situation, I'm not talking about build systems, i don't care about that. What's the best way to organize the whole directories in the monorepo? Along with that, the workspaces and what goes were etc...
I guess , I will list it out first and then get to the explanations, we will assume all of codebase is typescript/javascript focused because come on, whether you like it or not, most softwares are made them, and they have rich dev toolings imo, I could be biased but its my blog, so fuck off!
- root
- infra (workspace)
- terraform (or any other IaC & can be used by any products)
- payment_utils
- auth_utils
- etc...
- genesis
- products (workspace)
- product-1 (workspace)
- infra
- db
- terraform
- .....
- apps
- web
- mobile
- docs
- svc
- desktop
- packages
- contracts
- ui-1
- .....
- ...product-2
- packages
- dev-configs
- env-utils
- stringUtils
- arrayUtils
- ...genericUtils
TBD: i will continue and finalize this later :)