A decision and its outcome.
- Situation
- By July 2026, Catchwright faced a choice between a narrow position among established vendors and a lower-cost entrant, or expansion into a full subcontractor-management platform.
- Decision
- I decided to retire the product.
- Reason
- I did not think either position justified continuing to build. I could preserve the engineering without maintaining an operating service.
- What changed
- I kept the engineering privately and reconstructed the source-confirmation workflow here, including the states that withhold a result.
Check it yourself.
- Only confirmed rates reach the comparison.
- Open Try Catchwright, choose North or South, use Flag for review on one hourly-rate field instead of confirming it, then go to the comparison: it stays incomplete until that rate is confirmed.
- A written number has to be read by a person.
- Find the threshold the agreement writes as “sixty (60)”: the demonstration leaves its value empty for you to enter from the clause it shows beside the field.
- State lives in memory only.
- Refresh after confirming a few fields: everything resets. The PDF is fictional and the product has been retired since July 2026.
Reviewing beside the source
Catchwright was a project for checking contractor paperwork against source documents. This example reconstructs one workflow from its preserved source.
The demonstration reads the digital text of a two-page agreement. As you review each field, the PDF follows the relevant clause and shows the source beside the proposed value. You can confirm a field, mark it absent, or hold it for review. The interface keeps those choices distinct.
Trying the rate comparison
Choose North or South, then review the rates and travel terms. One threshold is written as words in the agreement: read the clause and enter the value yourself. Review the confirmed terms together, then attest that you checked them against the agreement.
The sample-pay comparison uses only hourly rates you have confirmed. Enter matching pay, then change a paid amount to see the difference. Clearing an input stops that comparison until the value is complete. You can download the confirmed terms and comparison as JSON files.

What I kept from the original implementation
The document-reading, confirmation, export, and fixed hourly-rate rules come from thirteen archived source modules, preserved byte-for-byte in the recovery package. The responsive interface is a new demonstration around that implementation.
Why I retired the product
I retired Catchwright in July 2026. I chose not to expand it into a full subcontractor management platform or compete for a narrow position between established vendors and a lower-cost entrant. I preserved the engineering privately and stopped pursuing the operating product.
