A licensed full-stack code footprint for B2B enterprise SaaS.
A comprehensive evaluation document for business owners and the technical advisors they trust.
Operator
Product Perfect LLC
Architect
Shawn Livermore
Web
cleenui.com
Start here
cleenui.com/book-call
Contents
Front matter
Executive summary
Part I — The Why
The problem CleenUI solves
The category — licensed code footprints
Part II — The What
What ships in the codebase
The technology choices
What you don't have to build
AI-readiness
Anatomy of one request
Part III — The Who and How
The architect-led model
Real production deployments
Pricing & licensing
Risk assessment
Part IV — The Decision
ROI framework
Is CleenUI right for you?
Questions to ask
Next steps
Executive summary
CleenUI is a licensed full-stack code footprint for B2B enterprise SaaS applications. It is delivered as a single coherent codebase — React 18 frontend with 60+ accessible components, ASP.NET Core 8 Web API with 524 endpoints, Azure SQL database with 300+ tables and 700+ stored procedures, and a 12-project Azure WebJobs + Functions background-services solution — organized into 15 production-ready vertical-slice modules.
The codebase is licensed (not subscribed) to your team, deployed onto your own cloud, and modified freely. Every engagement begins with a no-cost 30-minute architecture review with the architect personally. Pricing is custom-scoped to the shape of your project rather than tiered by seats or usage.
Who this document is for
A business owner — founder, CEO, or operator — evaluating CleenUI as part of a technological solution, typically on the recommendation of a technical advisor (CTO, fractional CTO, architect, or senior engineer). Both audiences are served: the surface reading is for the business owner; the sidebars, diagrams, and code samples speak to the technical advisor reading along.
What's inside
Four parts across fifteen chapters. Part I covers the category and the problem CleenUI solves. Part II covers what ships in the codebase. Part III covers the engagement model, the customers shipping on it, the licensing terms, and the risk story. Part IV translates everything into a decision framework — when CleenUI fits, when it doesn't, what to ask in the architecture review, and what next steps look like.
Part I — The Why
Chapter 1
The problem CleenUI solves
Every B2B SaaS team rebuilds the same thirty things before they ship one distinctive thing. CleenUI eliminates that bottleneck.
The substrate-build trap
Behind every B2B SaaS product is a long list of substrate-level concerns that have nothing to do with what makes the product distinctive: authentication, authorization, multi-tenant data isolation, audit history, translation infrastructure, the admin console, the user dashboard, the notification system, the API schema, the background-job runner, the observability layer. Each one is a multi-week project. Each one has to be built right or it becomes the source of a security incident or an outage later. Each one consumes senior engineering time that the team could otherwise spend on the product.
The common path is to build them — slowly, imperfectly, while shipping the product. Six to nine months in, the team has a half-finished substrate, a feature-thin product, and a roadmap full of "we need to fix the auth layer" tickets.
Why AI-assisted coding makes this worse, not better
The premise of AI-assisted coding (Claude Code, Cursor, Copilot, Windsurf) is that an engineer with a capable model ships work that previously required three engineers. The premise holds — when the substrate already exists. When it doesn't, the model has to invent the substrate at the same time it's writing the feature. Auth schemes. Multi-tenant guards. Audit logs. Translation hooks. Permission checks. And the inventions don't reconcile across prompts — by month three the codebase is twelve flavors of half-finished foundation glued together.
What teams actually need
A foundation that is: fully implemented (not a template), internally consistent (one architectural lineage), modifiable (source code you own), AI-readable (the model can pattern-match the existing code and write more in the same idiom), and battle-tested (other teams have shipped real products on it). Almost nothing on the market fits all five constraints at once. CleenUI was built to.
Part I — The Why
Chapter 2
The category — licensed code footprints
Twenty years of SaaS scaffolding rolled through four eras. The fourth — licensed source-code footprints — is the one AI-augmented teams need now.
Got you to "hello world"; every real concern was DIY
2020–2024
SaaS platforms (Retool, Bubble, Supabase)
Fast to first screen, vendor-owned data model, customization cap
2025+
Licensed code footprints (CleenUI)
Production substrate you own, deploy onto your cloud, modify freely
Code footprints vs the alternatives
Alternative
What works
Where it breaks
Starter templates create-react-app, dotnet new
Free, familiar tooling, no vendor lock-in
No auth, no multi-tenant, no audit, no translation registry, no real components
SaaS platforms Retool, Bubble, Supabase
Fast to first screen, managed infra, built-in auth
Vendor owns your data model, customization cap, migration off is expensive
Consulting builds Custom agency engagements
Tailored to your domain, architect-led if you pay enough
6-month minimum, $200k+ minimum, code only one team understands
Licensed code footprints CleenUI
Full source you own + modify, production primitives, architect-led setup, your cloud
Requires a real engineering team to operate; up-front investment
Why this category emerged now
AI-assisted coding tools made the substrate problem urgent. The market noticed. The category will be a lot more crowded by 2027. CleenUI is one of the first shipping in production at scale.
Part II — The What
Chapter 3
What ships in the codebase
The numbers, the architectural shape, and the 15 modules — at a glance.
Headline numbers
React frontend components
60+
12 categories — forms, DataGrid, charts, overlays, navigation, AI
Web API endpoints
524
ASP.NET Core 8 Minimal API · OpenAPI 3 documented
Database tables
300+
Modeled for real B2B scenarios — soft-delete, audit, translation
Stored procedures
700+
All data access — no Entity Framework, no ORM mystery
Production modules
15
M01–M15, each a complete vertical slice
Background-services projects
12
Azure Functions + Azure WebJobs solution
AI agent skills shipped
3
Setup, Builder, Theme — for Claude Code, Cursor, Windsurf
The five-layer architecture
CleenUI is a modular monolith, not a microservices fleet. One deployable artifact, in-process service composition, four-environment CI/CD pipeline. Every request flows top-to-bottom through five layers:
Each module is a complete vertical slice — UI screens, API endpoints, services, repositories, schema tables, background jobs. Every module ships in the codebase you license.
Code
Module
What it covers
M01
Security
Auth (Auth0), RBAC, granular permissions, role admin
M02
Accounts
Tenant + member management, settings, transfer of ownership
PDF ingestion, structured data extraction, custom data model mapping
Part II — The What
Chapter 4
The technology choices
Exact versions per tier, and the deliberate decisions that shape the codebase.
Stack
Tier
Technology
Version
Frontend framework
React
18.3
Build tool
Vite
4.x
Backend framework
ASP.NET Core
8
Backend runtime
.NET
8.0
Data access
Dapper + ADO.NET (no EF)
—
Database
Azure SQL
2022
Cache
Redis (Azure Cache)
—
Blob storage
Azure Blob Storage
—
Background services
Azure WebJobs + Functions
4.x
Auth
Auth0 (OAuth2 / OIDC / JWT)
—
Observability
Serilog + OpenTelemetry → App Insights
—
Why no Entity Framework
The codebase predates EF being a serious option for high-performance .NET, and the team has deliberately stayed on Dapper + stored procedures. Query plans are predictable, DBAs can read the data layer, performance is observable. This is a feature that .NET shops modernizing off WCF / WebForms / .NET Framework will recognize as the right choice for them.
Why modular monolith, not microservices
Microservices buy operational complexity in exchange for scaling problems most teams don't have. The modular monolith pattern gives the architectural clarity (clear module boundaries, in-process composition, single CI/CD pipeline) without the distributed-systems tax. Teams that genuinely need microservices later can carve modules out individually — the boundaries are already there.
Why deploy onto your cloud, not ours
CleenUI ships you source code, not a hosted service. You commit it to your git repo, deploy it onto your Azure subscription, and operate it yourself. Product Perfect doesn't host anything, doesn't run services on your behalf, doesn't have access to your data. This eliminates vendor lock-in by construction.
Two-layer caching by design
Performance-sensitive read paths hit a two-layer cache before reaching the database: an in-memory .NET runtime cache for hot per-process data, and a shared Redis cache for cross-process / cross-instance state. Both layers are wired and invalidation-aware out of the box.
Native Azure, fittable to other clouds
The codebase is designed natively for Microsoft Azure (Azure SQL, Azure Functions, Azure WebJobs, Azure Cache for Redis, Azure Blob Storage). It can be fitted to AWS or other clouds with engineering effort — the abstractions are clean — but the out-of-the-box deployment story is Azure. Plan accordingly if your stack is committed elsewhere.
Part II — The What
Chapter 5
What you don't have to build
Every B2B SaaS application has to solve these. CleenUI ships them already wired — every endpoint inherits them, no copy-paste per route.
Auth & access
✓ OAuth2 / JWT validation via Auth0
✓ Role-based authorization (RBAC)
✓ Permission-based authorization (granular ABAC)
✓ Multi-tenant data isolation
✓ Row-level access control
✓ API-key auth for service-to-service calls
Data integrity
✓ Audit history on every mutation (actor / timestamp / diff)
The codebase is built so that Claude Code, Cursor, Windsurf, and Copilot produce idiomatic code in it — not invented-from-scratch code.
Why AI tools work better here
AI coding tools amplify whatever foundation you give them. They are pattern-matchers — they look at the existing code in the repo and produce more code that looks like it. When the existing code is internally consistent and idiomatic, the AI's output is consistent and idiomatic too. When the existing code is twelve flavors of half-finished invention, the AI's output is the thirteenth flavor.
CleenUI was deliberately built for consistency. Every endpoint follows the same shape. Every service composes the same way. Every repository is structured the same. The AI can read one handler and write the next forty.
AI agent skills shipped in the codebase
Setup — for a fresh team, walks the AI through CleenUI conventions, ADRs, and codebase shape so it learns the patterns before writing code.
Builder — scaffolds new modules / endpoints / components in the idiomatic shape. Knows which layer each concern belongs at.
Theme — applies design-token-aware visual customization across the codebase consistently.
Machine-readable discovery artifacts
The site ships a small constellation of well-known endpoints so AI agents can discover and ingest CleenUI without scraping the marketing HTML:
/llms.txt — concise AI-crawler sitemap
/llms-full.txt — long-form companion (~117KB) for deep ingestion
/.well-known/api-summary.json — every module, every cross-cutting concern, every external system
/.well-known/tech-stack.json — exact versions, every tier
/.well-known/ai-plugin.json — AI plugin discovery manifest
SQL writes three tables in one transaction Assessment · AssessmentResponse · AuditLog
L3
TranslationService localizes response messages Caller's language → keyed string lookup
L1
Response returned to React { id, version, lastModified, errors? }
The same endpoint, at three layers
For the technical reader: the same SaveAssessment route at L2 (endpoint), L3 (service), L4 (repository). Every endpoint in the codebase has this same shape.
public async Task<Assessment> SaveAsync(Guid id, Assessment entity)
{
using var conn = _db.Open();
return await conn.QuerySingleAsync<Assessment>(
"sp_Assessment_Save",
new { Id = id, entity.TenantId, entity.Title,
entity.Questions, entity.Version },
commandType: CommandType.StoredProcedure);
}
Part III — The Who and How
Chapter 8
The architect-led model
One architect, one codebase, one no-cost 30-minute review to decide if it fits.
Who is the architect?
Shawn Livermore. 27 years in technology. Senior Enterprise / Solutions Architect. Amazon top-10 bestselling author in three business non-fiction categories. Raised six rounds of seed funding across his own startups. Real person, real LinkedIn, real published books. Operates Product Perfect LLC, the company behind CleenUI.
Selected Fortune 500 consulting portfolio
The architectural lineage of CleenUI is informed by decades of in-the-trenches modernization work at enterprise scale. A representative sample:
Largest US title insurance company — Enterprise Architect; led consolidation of 700 applications across 80 subsidiaries and 1,000+ software engineers.
2nd largest US property-tax payment processor — led a 5-year, $20M migration across 12 contracts, 30+ developers, 2 flagship products renovated/migrated.
Largest US corporate housing company — Enterprise Architect; drove consolidation of 80+ applications over 3 years.
One of the largest US tax-prep firms — re-architected the TaxCut consumer software product; guided the team toward a more fluid and scalable design.
Other clients — Buy.com · Carvana · Ceridian · CloudVirga · CompUSA · Kelley Blue Book · Lereta · Marsh & Swift · MedPartners · New York Energy East · Simpluris · PacifiCare · Toptal · TRW · WellPoint · Herbalife · Ziptask · PRAM Insurance.
The 30-minute architecture review
Every CleenUI engagement begins with a 30-minute architecture review with Shawn personally — not a sales engineer, not an AE. You bring your stack diagram and your top three modernization headaches. You leave with either a scoped engagement plan or a clear answer that CleenUI isn't the right fit for you.
The bus-factor question
The legitimate concern: "what happens to us if Shawn gets hit by a bus?" The answer has four parts:
You already have the source. The codebase keeps working without ongoing architect access. Nothing is in escrow with a kill-switch.
The codebase is internally documented. ADRs, glossary, inline comments, OpenAPI specs, a published machine-readable api-summary.json — a new architect or your own team can pick up operations.
The codebase is idiomatic. Any senior .NET / React engineer can read and extend it. There are no proprietary frameworks or non-standard languages.
Code escrow is available on request for engagements that need it for diligence.
Part III — The Who and How
Chapter 9
Real production deployments
Three live customer engagements as of mid-2026. Different domains, similar shape of outcome.
Digital Contact Card Marketing Engine
Domain
Digital contact card platform
Location
Florida, US
Surface
Web + iOS
Cloud
Microsoft Azure
Licensed CleenUI, configured Azure cloud infrastructure to the team's naming conventions, built the product-distinct work on top. Weeks from license to a working platform their developers could extend without architect supervision.
Licensed CleenUI to skip the multi-tenant plumbing, i18n registry, moderation tooling, and a dozen other primitives. Engineering time went entirely into the syntax engine and discovery surface — the parts that make their product distinctive.
FNDRS.io
Domain
Closed-loop exit ecosystem for business owners
Location
platform.fndrs.io
Surface
Web (production platform)
Cloud
Microsoft Azure
Started building October 2025, in production within a few months. Modular monolith on CleenUI gave them the substrate to build FNDRS-specific workflows on top of without inventing the foundation. One of the most workflow-heavy platforms on this list — shipped fast because the substrate was already there.
Part III — The Who and How
Chapter 10
Pricing & licensing
License-based, not subscription-based. Custom-scoped per engagement. No per-seat, no usage caps.
The model
License-based, not subscription. You pay once for the engagement, you own perpetual usage rights to the codebase your team receives.
No per-seat pricing. Your team is your team. No "growing into" the next tier.
No usage caps. No "you've hit 100K requests this month."
Custom-scoped per engagement. Pricing reflects the shape and duration of your project, not a price list.
Deployed onto your cloud. Product Perfect doesn't host anything. Your Azure subscription, your data, your control.
What "license" means in plain English
You receive the full source code. Your team commits it to your own git repo, runs it on your own infrastructure, modifies whatever you want, and ships products built on top of it. No vendor kill switch. No "we're sunsetting this." If Product Perfect stops operating tomorrow, your codebase keeps working — you just lose access to ongoing architectural advice.
What you specifically receive on day one
The initial code drop is six concrete deliverables, set up and verified before the architect hands off:
AzureSQL Database + CI/CD — restored from a .bak file into your Azure environment, with source control and CI/CD configured for the deployed database.
C# API codebase — entire ASP.NET Core 8 solution dropped in, verified to build and run locally, verified to connect to your remote Azure database.
CI/CD DevOps deployments — Azure DevOps automated deployment configured for the database, API, WebJobs, and Functions across up to 4 environments included (dev, QA, staging, prod, or your equivalent split).
React dashboard codebase — entire CleenUI React starting-point codebase dropped in with the required configuration for leveraging all CleenUI components. Verified to build and run locally.
React CI/CD deployment — front-end deployment pipeline configured (Netlify by default; your choice of host works).
Developer guidance — direct work with your developers to ensure they're well-adapted to leveraging the entire CleenUI stack. Includes the 20 hours of developer setup time bundled into every license.
What ongoing updates look like
Updates follow a formalized product roadmap. React components ship via Storybook and a versioned npm package; C# and database updates ship as scripts or zipped solution files. Your team chooses when to adopt each update — there's no forced upgrade. The license covers updates indefinitely.
What's explicitly NOT included
So there are no surprises:
Cloud hosting costs (your Azure subscription)
Auth0 subscription (third-party, your account)
AI provider API costs (OpenAI, Anthropic — your accounts)
External integrations beyond what ships (Stripe, Twilio, HeyGen are wired; you pay the vendors)
24/7 support hotline (this is a code-license relationship, not a SaaS subscription)
Custom feature development (the architect advises; your team builds)
Compliance certifications (SOC2, HIPAA — codebase is built to support them, certification is your team's project)
Part III — The Who and How
Chapter 11
Risk assessment
Vendor, technical, and business risks — and the mitigation for each.
Category
Risk
Mitigation
Vendor risk
Vendor goes out of business
You own the source. Codebase keeps working.
Vendor risk
License revoked
License terms are perpetual usage. No revocation clause.
Vendor risk
Pricing changes mid-engagement
Engagement is scoped + priced once. No re-negotiation triggers.
Vendor risk
Vendor-locked deployment
Deploys onto your Azure subscription. Vendor has no access.
Vendor risk
Bus factor
Code escrow available; codebase is idiomatic + documented for handoff.
Technical
Code quality unknown
Three production deployments verify it works at scale. Customer references available.
Technical
Upgrade path unknown
Architect provides upgrade guidance as part of ongoing engagement.
Technical
Team adoption
Architect-led ramp; AI agent skills accelerate onboarding.
Business
Won't fit your domain
30-min review up-front. Architect declines engagements that won't fit.
Business
ROI uncertain
6–9 months of foundation work is the conservative estimate, comparable to 2–4 senior FTE-equivalents.
Business
Exit diligence concerns
Codebase architected by a published author with documented ADRs reads well in acquirer diligence.
Part IV — The Decision
Chapter 12
ROI framework
The build-vs-license math, the quantified outcomes, and the exit/diligence story.
What it actually took to build CleenUI
The codebase represents roughly 24 developer-years of focused work: an average of 7.5 developers across 39 months of active development, producing 300,000+ lines of source code, 524 endpoints, 15 modules, 700+ stored procedures, and 60+ accessible React components. That number is the floor — not the ceiling — of what your team avoids when you license rather than rebuild.
Developer-years of work captured
~24
7.5 developers × 39 months of active development
Total months of focused build
39
3+ years of sustained engineering investment
Lines of source code
300k+
Across React, C#, T-SQL, infrastructure
Average team size during build
7.5
Senior + mid blend
The build-vs-license math
A back-of-envelope calculation a CFO can run, two ways:
By dev-years. 24 dev-years × $300k fully-loaded annual cost = ~$7.2M in engineering cost to recreate the substrate from scratch. Pre-licensing this work at a fraction of the cost is the math behind the engagement.
By API surface alone. 524 endpoints × ~10 engineering hours each (design + implementation + test + review + docs) = ~5,200 hours. At $200/hour blended senior rate = ~$1.04M for just the API tier. Frontend, database, and background-services add 50–100% more.
Time cost. 4 senior engineers full-time, ~6 months minimum for the API surface alone. Market opportunity cost of those 6 months often exceeds the engineering cost.
CleenUI engagement cost. Custom-scoped per project, but reliably an order of magnitude less than the build-from-scratch estimate. Typically a small fraction of one engineer-year.
vs the ~5,200 engineering hours the surface represents
The exit / diligence story
When an acquirer's technical diligence team looks under the hood, they want to see an identifiable architectural lineage (not "we figured it out as we went"), documented decision records, a real audit trail, a stable data layer, and code an outside team can read. A CleenUI-based codebase clears these bars by construction. The delta between "codebase architected by published expert" and "codebase invented during 14-hour days by the founding team" shows up in diligence valuations.
Part IV — The Decision
Chapter 13
Is CleenUI right for you?
Honest fit criteria, written to disqualify as much as qualify.
CleenUI fits when…
✓ You're building a B2B SaaS application from scratch, or modernizing off legacy (.NET Framework, WebForms, WCF)
✓ Your product needs multi-tenant, auth, audit, RBAC out of the box
✓ Your team is 2–10 engineers (works above; works exceptionally below)
✓ You want to ship in months, not quarters
✓ You're willing to operate the codebase on your own cloud
✓ Your tech stack is open to .NET + React (or you're not committed yet)
✓ You expect to use AI coding tools (Claude Code / Cursor / Windsurf) heavily
CleenUI is NOT a good fit when…
✗ You need a hosted product with no engineering team (use a SaaS platform)
✗ You're committed to a stack CleenUI doesn't use (Python / Node / Go / Rust backend)
✗ You need microservices at scale (CleenUI is a modular monolith)
✗ You want to outsource the whole build (this is a foundation, not an outsourced team)
Part IV — The Decision
Chapter 14
Questions to ask
Ten for the architecture review with Shawn. Seven for your technical advisor to answer for themselves.
For the 30-minute architecture review
Walk through how M01 Security handles multi-tenant isolation for our use case.
We have an existing app in [tech]. What's the migration story?
Show me one place where customers have struggled with the codebase. What did they do?
What's the typical engagement length, and what happens at the end of it?
We're considering [competitor]. Where would they be a better choice than CleenUI?
What's NOT in the codebase that we should plan to build ourselves?
What's the upgrade path if you ship a new version next year?
Can you give us 2 customer references we can talk to?
How do we handle the bus-factor question internally? What's your stance on code escrow?
What's the engagement model after the initial license — ongoing retainer, project-by-project?
For your technical advisor to validate independently
Read the code on /api-coverage and /codebase. Does the shape match what we'd want to maintain for 5+ years?
Run the architecture dependency graph at /architecture. Does the layering make sense for our domain?
Look at the data model at /database. Will our entities fit, or will we be fighting the schema?
Test the API in Postman (entry point at /postman). Are the endpoints idiomatic?
Try the AI agent skills with Claude Code / Cursor. Does the tooling produce idiomatic code in this codebase?
Read the ADRs at /decisions. Do you agree with the architectural choices?
Review the integrations list at /integrations. Are our must-have vendors there?
Part IV — The Decision
Chapter 15
Next steps
Three concrete actions that take less than 10 minutes each.
1
Book the 30-minute architecture review
No cost. With the architect personally — not a sales engineer. Bring your stack diagram and your top three modernization headaches. You'll leave with either a scoped plan or a clear "this isn't the right fit for you."
cleenui.com/book-call
2
Hand this PDF to your CTO
This document was designed for both audiences. Your technical advisor can read the same artifact and form an independent opinion. A sample forwarding email:
Subject: Worth looking at — CleenUI evaluation
[Name] — we've been talking about whether to build the
substrate of [project] ourselves or license something.
Attached is a 24-page evaluation of CleenUI, a licensed
full-stack code footprint (React + .NET 8 + Azure SQL).
Skim Ch 3-7 first (the technical scope) and Ch 13 (the
fit criteria). If it looks worth a 30-min architecture
review, the booking link is at cleenui.com/book-call.
Curious whether you think it fits.
3
Go deeper on cleenui.com
Specific pages organized by what you'd want to validate next:
Architecture deep-dive
cleenui.com/architecture
API narrative + search across 502 real endpoints
cleenui.com/api
Every endpoint mapped
cleenui.com/api-coverage
Database model + 700+ stored procs
cleenui.com/database
15 modules in detail
cleenui.com/modules
Live customer engagements
cleenui.com/clients
Architecture decision records
cleenui.com/decisions
Try the API live (Postman / Swagger)
cleenui.com/postman
About the architect
cleenui.com/about
Ready when you are.
A 30-minute architecture review with the architect, no cost, no obligation. You'll know whether CleenUI fits your project by the end of the call.