Engineering Note

The Rails stack you choose on Day 1 can quietly decide what becomes painful at 10,000 users.

I've seen teams spend too much time choosing tools before they have a real scaling problem.

For an early-stage SaaS, we usually keep the stack boring:
Rails + PostgreSQL + Redis + Sidekiq

The important decisions are often about versions and boundaries, not adding more tools.

For example:
* PostgreSQL for transactional data
* Redis for caching and short-lived state
* Sidekiq for background processing
* Supported Rails and Ruby versions with a clear upgrade path
* Docker and CI/CD kept simple from the beginning

One early-stage Rails product we worked on reached 30K+ users without needing to replace its core stack.

We upgraded components as the workload changed instead of designing for an imaginary future.

The mistake isn't choosing a simple stack.

The mistake is choosing versions and dependencies that make the next upgrade painful.

Day 1 architecture should be simple enough to move fast and disciplined enough to survive growth.