The challenge
Scattered documents that were difficult to find, limited coordination between the owner, contractor, and engineering office, and overlapping work that wasted resources.
What we built
We developed a system to organize work and coordinate activities among all three parties, addressing fragmented documentation within the workflow.
Implementation scope
- Coordinating work among the owner, contractor, and engineering office.
- Organizing documents within the workflow and making them easier to track.
- Separating domain logic, the application layer, and infrastructure.
Technical architecture
The system was built with C# and .NET 10 for backend services and APIs, TypeScript, Next.js, and React 19 for the web interface and backend-for-frontend (BFF) layer, and PostgreSQL for data management with EF Core for data access.
The architecture separates domain logic, the application layer, and infrastructure. It also uses database row-level access policies and Python and Bash scripts for automation and security and operational checks.
- Web interface & BFFNext.js · React 19 · TypeScript
- System services & APIsC# · .NET 10
- Data accessEF Core
- Database & row-level policiesPostgreSQL
Implementation layers and technologies
| Layer | Technologies |
|---|---|
| Backend services and APIs | C# · .NET 10 · EF Core |
| Web interface and BFF | TypeScript · Next.js · React 19 · TSX |
| Data | PostgreSQL · SQL |
| Interface structure and styling | HTML · CSS · CSS Modules |
| Operations and security scripts | JavaScript / MJS · Python · Bash / Shell |
| Build and deployment configuration | GitHub Actions · YAML · JSON |
An implementation decision
The architecture separates domain logic from the application layer and infrastructure. This makes each responsibility explicit when tracing a change from the interface to data, while the BFF connects the web interface’s needs to system services.
The outcome and experience
The system helped improve coordination, made documents easier to track, and addressed overlapping work that had been wasting resources.
