2023 – Present · Tech lead and main developer
Roof design and estimating platform
Designing a roof, pricing it and quoting it ran across scattered subsystems that had grown apart over the years.
- developers led
- 5
- of 1,000+ design-app commits
- ~80%
How it fits together
- Design appRoof plans, rules, DXF
- BOQ servicesQuantities and estimates
- QuotationPricing and sales data
Context
Sales teams design a roof, work out the materials it needs and quote a price. Over the years that flow spread across a desktop design application, a library that turns roof formulas kept in Excel into data, services that build the bill of quantities (BOQ), and connectors to sales and ERP systems.
Each part worked, but they had grown apart. A change in one place had to be repeated in others, and the people who knew each part were not always the same.
My role
- Main developer of the desktop design application since 2023, with about 80% of its 1,000+ commits.
- Now lead a team of 5 developers on a one-year rebuild that brings the subsystems into one platform. I set the technical direction, co-design the architecture, plan sprints, break down tasks, review code and mentor the team.
What I built
- Roof plan features in the design application: roof notes and items, new roof edges, automated cover calculation for step tiles, solar legends and new tile colour ranges.
- DXF export, so a finished design opens directly in CAD tools.
- BOQ service work: revision status rules, read-only checks while a design is being changed, reference-data endpoints for the new design flow, and fixes for silent failures when optional fields were missing.
Decisions
- Rebuild as one platform instead of patching each subsystem, so business rules live in one place.
- Keep the rule data (tiles, equipment, formulas) as data the business can update, not code that needs a release.
Stack
- VB.NET
- C#
- ASP.NET Core
- Blazor
- PostgreSQL
- AWS