r/node • u/1017_frank • 4h ago
What building a backend managing $12M+ taught me about software engineering.
I started building a construction management SaaS in November 2025. About eight months later, it’s being used to manage more than $12M in project value.
Looking back, the biggest lesson wasn’t learning another framework or database. It was learning that users don’t care how elegant your architecture is if the product doesn’t solve their problem.
They only care about outcomes everything else is secondary
The best example was scheduling.
I rebuilt our scheduling feature four times.
The first version made sense to me as the developer.
The second version was technically cleaner.
The third version covered more edge cases.
The fourth version was the one project managers actually wanted because it fit how they already planned projects in Microsoft Project and allowed them to upload their existing schedules instead of forcing a completely new workflow.
That experience completely changed how I think about building software.
A few lessons that have stayed with me:
- Spend time designing your entities and relationships. A good domain model makes everything else much easier.
- Keep business logic in services and let controllers stay thin.
- Design APIs around business workflows, not database tables.
- Add validation and database constraints early to prevent bugs before they happen.
- Build observability into production from the beginning. Monitoring and error tracking save countless hours.
- Listen to users early and often. The code you’re most proud of isn’t always the feature customers actually need.
One of my favorite parts of backend engineering has become domain modeling. Turning concepts like BOQs, procurement, scheduling, earned value, variation orders, and cash flow into entities and services is where everything starts to click.
Once the schema accurately reflects the business, implementing services, controllers, and API endpoints becomes much more straightforward.
Lastly properly document your work.
Also I’m doing a thing whereby I talk more about my projects and experiences, I find it hard to share sometimes so I decided this is a good place to start since we are all node devs.
Happy to answer any questions about the architecture and why I made certain decisions.

