Enterprise Software Development
From architecture decisions to production deployment -- everything about building custom enterprise software.
This collection brings together articles on the full lifecycle of enterprise software: foundational architecture patterns, real-world ERP builds, multi-tenant strategy, clean code principles, API design, and the database decisions that make or break performance at scale. Each article is drawn from hands-on project experience.
8 articles in this cluster
Reading Path
Follow these articles in order for a structured journey from strategy to implementation, or jump to any article that matches your current challenge.
Enterprise Software Best Practices (From Someone Who's Shipped It)
Enterprise software fails for predictable reasons. Here are the architectural and organizational patterns that separate systems that scale from the ones that become the story you tell at conferences about what not to do.
What I Learned Building an ERP From Scratch
Lessons from building BastionGlass, a multi-tenant ERP for the auto glass industry — what surprised me, what I got wrong, and what I would tell someone starting one today.
BastionGlass Architecture: Decisions Behind a Multi-Tenant ERP
The architectural decisions that shaped BastionGlass — a multi-tenant SaaS ERP for the auto glass industry. Trade-offs, patterns, and what I would do differently.
Multi-Tenant Strategy for BastionGlass: Isolation vs Shared Resources
How I designed BastionGlass's multi-tenant architecture — the trade-offs between tenant isolation and shared infrastructure, and the hybrid approach we landed on.
Clean Architecture in Practice (Beyond the Circles Diagram)
Clean architecture is frequently described through its concentric circles diagram but rarely explained in practical implementation terms. Here's what it actually looks like in a real codebase.
Domain-Driven Design in Practice (Without the Theory Overload)
Domain-driven design is often taught through dense theory. Here's how to apply DDD's most valuable concepts — bounded contexts, aggregates, domain events — to real projects without the philosophy degree.
Building REST APIs With TypeScript: Patterns From Production
The REST API patterns I use in production TypeScript projects — consistent response shapes, error handling, pagination, versioning, validation, and OpenAPI documentation.
Database Indexing Strategies That Actually Make Queries Fast
A practical guide to database indexing for application developers — B-tree indexes, composite indexes, partial indexes, covering indexes, and how to read query plans.