Reports & Analytics
A multitude of reports provide insight to franchisees, corporate staff, and leadership.
A PropTech platform for New Again Houses — investment analytics, franchise sales, and seller-lead acquisition on one .NET codebase.
MasterSuite is the in-house platform behind New Again Houses, a real estate investment franchise. It covers every stage of a deal — sourcing seller leads, valuing properties, running renovation projects, and paying the crews — alongside the systems that sell, coach, and support the franchise network itself.
The platform is a family of deployable ASP.NET applications — each its own Docker image — serving franchise owners and crews, corporate staff, contractors, and prospective franchisees and sellers, all on one codebase, one design system, and one database.
The main web app: property valuation, acquisitions, project management, coaching, payroll, reporting, and training across ~45 page areas.
Public and mobile API with an OpenAPI / Swagger surface.
Contractor timekeeping portal and the front door to PayHub.
The corporate franchise-sales site that markets territories to prospective owners.
Content management for the corporate site.
Per-territory, SEO-driven acquisition sites that generate seller leads for each franchise.
The original API, still serving the earlier PHP interfaces and older integrations.
A few of the surfaces shared across the applications: reporting for franchisees and leadership, administrative control over the calculation engine, and the design system every product is built on.
A multitude of reports provide insight to franchisees, corporate staff, and leadership.
Privileged users configure mission-critical calculation variables.
A custom CSS framework atop Bootstrap 5, shared across every application.
Feature logic lives in ~25 independent modules behind UI-agnostic service interfaces, composed by a single ServiceEngine that every host application depends on. Thin Razor pages on top, an injected data-access layer underneath, so each module ships with a hermetic test suite that never touches a database.
The one project that references every feature module plus Platform and DataAccess. Hosts fan into it instead of wiring modules directly. Runs Hangfire in-process: ~100 scheduled jobs with a job-pulse health monitor.
MasterSuite.Modules.* · each with a .Tests sibling
IDataAccessLayer, ~120 partial classes by areaApplication data and Hangfire job storage. A checksum-recorded, idempotent migration runner (~200 live migrations) runs as a one-shot container before each deploy.
Backed up nightly to an encrypted, compressed archive in S3. Automation restores the latest backup to a dev server, so every backup is proven restorable.
Images and files.
MasterSuite started as an empty repository and a framework I wrote before there was a product to put in it. It has grown one release at a time ever since — upgraded through every version of .NET, from Core 1.1 to .NET 10 — without ever being rewritten from scratch.
A custom .NET framework and web APIs behind PHP / CodeIgniter interfaces, built to power the first investment analysis tools.
An Angular application layered over the property analysis page to make the evaluation engine interactive.
The UI moved into ASP.NET Razor Pages. New products were built in React and Vue, served from their own container behind Nginx and signed in through a shared JWT.
Standalone R&D apps folded into modules on one codebase and one database, with AI built into the platform itself.
I set the codebase up for AI-driven development so people outside engineering could ship their own changes with AI coding agents — safely, through the same review, test, and deploy pipeline as every other commit.
Design-system and architecture documentation in the repository, so agents follow the platform’s conventions instead of inventing their own.
Hermetic module tests run on every pull request; nothing merges until they pass.
Playwright and Chromium scripts render changed pages so UI regressions are caught before review.
Merges to main deploy automatically, so a contributor’s change reaches production the same day.