Skip to content

Repository files navigation

Retainage Ready

Retainage Ready is an interactive closeout-operations prototype for commercial low-voltage, security, AV, and controls contractors. It turns a difficult business process into a clear customer experience: estimate closeout drag, understand a bounded service offer, and leave with a usable project-intake brief.

This repository is a portfolio release candidate. It contains no customer documents, credentials, private deployment metadata, analytics, or production database.

What it demonstrates

  • A responsive, accessible React interface with server-rendered metadata.
  • A transparent revenue-leakage calculator with independently tested logic.
  • A browser-only intake workflow that creates copyable and downloadable text.
  • Explicit claim boundaries, human-review gates, and minimum-data guidance.
  • A Cloudflare Worker-compatible vinext build with reproducible CI checks.

Product decisions

The calculator deliberately separates cash held as retainage from estimated administrative and financing drag. Its displayed estimate is:

(delay weeks × PM hours/week × loaded hourly cost)
+ (retainage held × 12% annual carrying rate × delay weeks / 52)

The intake never uploads the values entered into the page. It formats them in the browser and lets the user copy or download a plain-text brief. The example readiness score is visibly labeled as illustrative rather than a customer result.

Architecture

Layer Implementation
Interface React 19, TypeScript, semantic HTML, responsive CSS
Rendering vinext app router and React Server Components
Runtime Vite and a Cloudflare Worker entry point
Styling Tailwind CSS import plus project-specific CSS
Verification Node test runner, TypeScript, ESLint, GitHub Actions

The current product is intentionally client-only. It does not need a database, authentication, or file-upload service for the demonstrated workflow.

Run locally

Requirements:

  • Node.js 22.13 or newer
  • pnpm 11
pnpm install --frozen-lockfile
pnpm dev

Open http://localhost:3000.

Verify

pnpm typecheck
pnpm lint
pnpm test

pnpm test creates a production build, runs unit tests for the calculator, and checks the server-rendered page for its customer experience, launch claims, privacy boundaries, and removal of preview-starter content.

Repository map

app/                     Product UI, metadata, styles, and calculator logic
public/                  Static brand asset
tests/                   Calculation and rendered-output checks
worker/                  Cloudflare-compatible application entry point
.github/workflows/ci.yml Automated type-check, lint, build, and test gate

Scope and limitations

  • This is a working product prototype, not evidence of a customer engagement.
  • Pricing and turnaround language are bounded launch concepts, not guarantees.
  • The calculator is planning information, not legal, accounting, collections, engineering, code-compliance, or payment advice.
  • A production service would require contractual, operational, security, and data-handling controls beyond this public demonstration.

License

Copyright 2026 Lucas Tao. All rights reserved. The source is publicly viewable for portfolio review but is not licensed for reuse; see LICENSE.

About

React and TypeScript closeout-operations prototype with a transparent leakage calculator and browser-only intake brief.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages