Skip to main content
Auto-memory
Retell + Twilio
MCP ecosystem
Founder Pres.
Obsidian + QMD
Review pass
Claude / Codex
Convex
75K+ sold
SwiftUI CloudKit
Next.js + Vercel
1,350+ locations
Shopify
Session notes
Founder
MCP forks
<60s response
Operator chapters
QMD retrieval
121+ skills
Six figures raised
Founder office
back to grid
Projects2026

Redline

Redline reads a commercial lease or contract before you sign it. A model pulls the numbers out of the PDF. Deterministic rules do the math. So when it flags a problem, that's arithmetic you can check, not a model's opinion.

Math decides
deterministic rules, not model judgment
6 checks
rent, escalation, term, draft-vs-deal
Cites the line
quote + page on every finding
No silent pass
what it can't verify, it flags
§01The workLive system

Drop in a lease or a contract. Redline reads it, runs the checks, and hands back a verdict with every problem pinned to the clause that caused it.

Redline
macOS app · CLI · MCP

A second read on your lease or contract before you sign.

Redline reviewing a Master Services Agreement: a 'don't sign yet' verdict lists two problems (an auto-renewal opt-out window that already passed, and a cross-reference to a section that does not exist), each linked to the exact clause on the page.
Redline's start screen: the app icon over the line 'Catch lease problems before you sign,' with a 'Check a lease' button.
The workA contract review. The verdict, the findings, and the source clause on one screen. / The front door. Drop in a lease or contract and run the checks.
§02The pipelineEnd-to-end flow
01

Extract

A language model pulls the lease facts out of the PDF (rent, schedule, term, dates) and tags each one with the quote and page it came from.

model + provenance
02

Validate

Deterministic rules do the math: schedules sum, per-face reconciles to the total, numerals match the words, dates cohere. No model judgment in the verdict.

pure functions
03

Flag

Each problem shows what the document says and what it should be, with the exact clause to open and check yourself.

in-document → should-be
04

Decide

A clear sign-or-don't, calibrated to severity. A check it couldn't run is surfaced as 'not run,' never quietly passed as clean.

verdict + severity
§03What I builtPieces that compound

What's actually doing the checking.

The trust boundary.

The model only turns prose into structured numbers. Every verdict is arithmetic over them, so you can re-check any finding by hand in seconds.

extract, then validate

It won't fake certainty.

When a rule can't get the facts it needs, it says so instead of returning a clean pass. Extraction runs locally through Ollama or Codex, or through OpenAI or Anthropic when you opt in. The API key stays runtime-only.

could-not-verify, not pass
§04The checksSix deterministic rules · R1–R6

The rules the verdict is built on. Each one is a pure function over the extracted facts, with a synthetic fixture behind it.

The rule set6 deterministic checks · evidence on every fail
  1. Schedule sums to total. The year-by-year rent has to add up to the stated total.
  2. Per-face reconciles. Per-face rent times the number of faces has to equal the total, catching a figure that was silently applied to each face.
  3. Escalation stays consistent. Each year has to match the escalation clause; flat-with-a-clause or rising-with-none gets flagged.
  4. Numerals match the words. $400,000 has to agree with 'Four Hundred Thousand Dollars.'
  5. Term and dates cohere. Commencement plus the base term has to land on the stated expiry.
  6. Draft matches the deal. An optional dealsheet checks the draft's numbers against the terms actually negotiated.
§05StackEvery tool earns its line
Python / Enginepdfplumber / pypdf / PDF textDecimal money / Exact mathRule registry R1–R6 / ValidationCodex / OpenAI / Ollama / Anthropic / ExtractionCLI / Form factorMCP server / Form factorSwiftUI / macOS appmacOS 14+ / Target
§06ArtifactsReceipts and public proof

The public repo, the app, the CLI, and the rule engine. Alpha package, not published yet.

chountalas/Redline on GitHubOpen ->

Public repository for the lease and contract validator, including the Python engine, CLI, MCP server, and macOS wrapper.

public source · alpha package
Redline.app

The native macOS wrapper. Drop in a lease PDF, pick a provider, set the exit threshold, and run the same validator the CLI uses.

local · alpha
redline check lease.pdf

The Python CLI and library. Deterministic findings over extracted facts, with JSON output and a CI-usable exit code.

pip-ready · not yet published
The rule engine

Six pure-function checks with synthetic fixtures. Each rule is a function plus a test, and a check it can't run returns 'could not verify,' never a pass.

trust boundary · math only