MasterSuite

A PropTech platform for New Again Houses — investment analytics, franchise sales, and seller-lead acquisition on one .NET codebase.

MasterSuite property evaluation web application
Architecture
Modular .NET · 7 host apps
Runtime
.NET 10 · C#
Front end
ASP.NET Razor Pages · React · Vue.js · Angular
Data
MariaDB · Estated · Real Estate API

The full deal lifecycle

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.

Seven applications.
One platform.

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.

Inside the platform

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.

MasterSuite heads-up display reporting dashboard
Reporting

Reports & Analytics

A multitude of reports provide insight to franchisees, corporate staff, and leadership.

MasterSuite administration panel
Administration

Admin Panel

Privileged users configure mission-critical calculation variables.

MasterSuite design system component library
Foundation

Design System

A custom CSS framework atop Bootstrap 5, shared across every application.

One platform.
Many modules.
One database.

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.

Host applications 7 ASP.NET apps · one Docker image each
  • MasterSuite
  • MasterSuiteApi
  • MasterSuitePortal
  • NewAgainHouses
  • NewAgainHousesWebCms
  • FranchiseWebsite
  • LegacyApi
ServiceEngine Composition hub · ServiceFactory · cross-module configuration

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.

Feature modules ~25 MasterSuite.Modules.* · each with a .Tests sibling
Deal analysis
  • Valuation
  • CbEstimation
  • CompWarehouse
  • Chiron
  • RentalCalculator
Acquisitions & marketing
  • Intake
  • Gunner
  • Scout
  • Serp
  • Listing
  • WebForms
  • Property
Operations
  • ProjectManagement
  • NewConstruction
  • RentalManager
  • PayHub
Franchise system
  • Territories
  • TerritoryDesigner
  • Frandev
  • Coaching
  • Eos
  • Mastermind
  • Training
  • MyHub
  • CorporateReports
Platform Cross-cutting · every module depends on it
  • Auth · JWT / cookie
  • DB-driven permissions · 60s live cache
  • Users & Scope
  • Email
  • Images
  • S3
  • Health
  • Configuration · SettingKeyRegistry
  • AiSpend
  • Agents · AI gateway, call metering, guardrails, tool registry
Data access Injected everywhere · mocked in tests
  • DataAccess · IDataAccessLayer, ~120 partial classes by area
  • Dapper + MySqlConnector
  • Entities
  • CommonWebUtilities
  • FormatHelpers
MariaDB

Application 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.

AWS S3

Images and files.

Delivery pipeline
  1. Pull requestGitHub Actions runs 22 MSTest suites
  2. Merge to mainDeploy workflow triggers automatically
  3. AnsibleBuilds images, runs migrations, deploys per host app; staging and production lanes
  4. DockerContainers on Linux hosts

Built from the first commit.

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.

  1. .NET Core 1.1

    Foundation

    A custom .NET framework and web APIs behind PHP / CodeIgniter interfaces, built to power the first investment analysis tools.

  2. Angular

    Single-page analysis

    An Angular application layered over the property analysis page to make the evaluation engine interactive.

  3. Razor Pages · React · Vue

    One stack, many products

    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.

  4. .NET 10

    One platform

    Standalone R&D apps folded into modules on one codebase and one database, with AI built into the platform itself.

Four new contributors.
None of them developers.

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.

Technologies.