One thing I've learned from scaling content-heavy apps is that monthly users can be a misleading metric. 1M monthly users who browse a few pages a day is very different from 1M users actively searching, filtering, messaging, and refreshing listings all day.
For a text-only job board, I'd worry less about "when do I need multiple servers?" and more about query efficiency, indexes, connection pooling, and caching hot searches. PostgreSQL can go surprisingly far if those basics are done well.
Also, race conditions usually aren't the thing that bites first. Slow queries, missing indexes, N+1 patterns, and exhausted DB connections tend to show up much earlier. I've seen apps with far fewer users struggle because of inefficient queries, while others handled huge traffic on modest infrastructure because the data layer was designed carefully from day one.
Curious to hear from people who've actually taken a Node + PostgreSQL app from a single VPS into the hundreds of thousands of users what became the first real bottleneck for you?