Commercial real estate underwriting

Underwrite the broker’s document.

Today that first pass is a blank spreadsheet, rebuilt by hand overnight so somebody senior can decide in the morning.

Underwrite reads the offering memorandum, builds the model, tests the downside, and writes the Excel workbook and the committee memo. You review the first pass instead of building it.

AI reads. Code calculates. You decide. The document goes to a model; the arithmetic from the inputs to the verdict never does. Built for sponsors, acquisitions teams, lenders and family offices.

From chaos to conviction
  1. Source
  2. Model
  3. Risk
  4. Decision
01 | Source

A broker sentence becomes evidence.

“24 residential units at $2,400 per month. 4,200 SF of retail at $38 per SF. $8.5 million asking price.”

Each value the parser reads carries the sentence it came from, or a flag to verify it by hand when it could not quote one. Every value from a PDF is flagged, and tenant rows from a rent roll carry no quote.

02 | Model

Assumptions snap into a model that recomputes.

Purchase price
$8,500,000
Senior debt
65% LTV
Rent growth
3.00%
Exit cap
6.50%

The values feed a deterministic TypeScript model of the pro forma, debt schedule and returns. The same inputs always produce the same outputs, and every change recomputes at once.

03 | Risk

One thousand trials and a debt coverage stress.

P(IRR at or above 15.00%)
23.70%
Downside IRR at 7.00% exit
13.51%
Minimum DSCR
1.46x
Covenant floor
1.25x

One thousand seeded trials and a DSCR stress against the covenant, all in deterministic code.

Inspect the engine source
04 | Decision

PURSUE, against two published thresholds.

Base caseExit cap 6.50%
Project IRR
15.34%
Verdict
PURSUE

The deal clears the 15.00% hurdle and covers its debt service. Raise the exit cap to 7.00% below to test it.

Underwrite takes a deal from the broker’s email to the IC memo.

The 30-second proof

Move one number. The whole model answers.

This is the worked example, running on the live engine. The seller’s exit cap came from a sentence. Move it and every output below recomputes, verdict included.

01 · AI readsIllustrative source

“The seller's guidance contemplates an exit cap rate of 6.50%”

The illustrative offering summary, verbatim
Exit guidance
6.50%

The sentence is kept beside the number where it can be checked. The number is an input you can change, and the engine computes from it.

02 · Code calculatesCalculated by model
Seller caseExit cap 6.50%
Project IRR
15.34%
Verdict
PURSUE

Project IRR 15.34%. Clears the 15.00% hurdle by 0.34 pts.

Project MoIC
2.44x
Min DSCR
1.46x

Returns, coverage, and the verdict run in tested code, with no language model in it.

03 · You decide

What if the buyer exits wider than the seller’s guidance?

The seller’s case is on screen. Try 7.00%.

TRACE walks the IRR back through the cash flows and revenue assumptions to the seller’s sentence on rent. The desk uses the same tool.

A fast first pass on a CRE deal, with the work shown.

AI helps read the broker file. Deterministic code computes every return, coverage ratio, stress and verdict.

The memo is that work, organized for review.

The model should
survive the meeting.
Process

From the document to the decision.

Today
Read the memorandum, transcribe the assumptions, rebuild the model, stress it, write the memo, then chase every number back by hand.
With Underwrite
Upload the memorandum, review the assumptions, challenge the model, decide.
  1. 01

    Upload the document

    A memo, a flyer or a rent roll. Purchase price, rents, debt terms and tenant detail come back filled in. Operating expenses are not read from the document, so you enter those yourself.

  2. 02

    Challenge the assumptions

    Change any value you disagree with. Returns, debt coverage, sensitivities and the verdict recompute as you type, so you see which changes move the decision.

  3. 03

    Carry the decision into committee

    Open the memo, open TRACE on the Project IRR to walk it back through its cash flows and assumptions, and export the workbook.

Proof

Check the work.

Read the method and the engine source, then a finished memo.

392
Regression assertions
Canonical outputs locked
7
Registered limitations
Stated on the desk, the memo and /trust
0
LLM calls in the engine
Tested code computes the return

How it works

Reviewable engine source
The methodology page renders the six TypeScript files the decision depends on, the verdict rule included, from the live source. The repository is private, and the memo's other modules are not on that page. The same inputs produce the same outputs.
Source quotes
A quote appears only when the server found the sentence in your pasted or spreadsheet text and it states the value. It stays at that field for the session that parsed it. Every other value is flagged with the reason, or says how the server computed it. The server passes a PDF to the model without reading its text, so every PDF row is flagged and its sentence is the model’s account of the document, not a checked quote. Quotes are not carried into a saved deal or a share link, and tenant rows have none.
Confidential Mode
It turns off the parser, the AI review, the memo's AI summary, share links and memo links. Everything else keeps computing in your browser.

Inside the IC memo

  1. 01Deal Strength Score
  2. 02Monte Carlo Distribution
  3. 03Sponsor Co-Invest Sweep
  4. 04Stress Test Matrix
  5. 05Lender Risk Rating
  6. 06Refinance Rate Risk
  7. 07Capital Stack Visualization
  8. 08GP Promote Yield
  9. 09Reserve Adequacy
  10. 10Sale vs Refinance Decision
  11. 11Real Returns
  12. 12LP Suitability Index
THE IC QUESTION

WHERE DID
15.34%
COME FROM?

A committee will ask it.

PROJECT IRR / ILLUSTRATIVE CASE / 7-YEAR HOLD

01 | LEVERED CASH FLOWS

Seven years of levered cash flow, and the exit.

Discounted at 15.34%, their present value equals the equity invested. That rate is the IRR, computed from these rows.

02 | YEAR 1 NOI

$594,066.40

Effective gross income less operating expenses, in the first year.

03 | THE ASSUMPTIONS

24 units. $2,400. 4,200 SF. $38.

24 residential units at $2,400 per month with 6.00% vacancy. 4,200 SF of retail at $38 per SF with 8.00% vacancy. Other income of $45,000. Each is editable and labeled with where it came from.

04 | THE SOURCE

“The residential component consists of 24 residential units achieving an average in-place rent of $2,400 per month, with residential vacancy of 6%.”

ILLUSTRATIVE OFFERING SUMMARY / WRITTEN FOR THIS CASE

On your deal, the sentence the parser quoted stays at the field for this session. It shows only if the server found it in your source and it states the value; otherwise the field is flagged.

NOW YOU CAN ANSWER.

Walk it back yourself.

TRACE opens on the Project IRR of your deal and walks it back through its cash flows, Year 1 NOI and revenue assumptions. It shows a calculation and its inputs. It does not cite a source for every figure.

Trace a deal →
Show the work.
Then decide.

Monthly access is planned at $49 per month.

Underwrite is free to use today. A subscription would renew monthly until canceled and could be canceled anytime. No feature is locked behind it. There are no accounts, so the desk works the same whether or not you subscribe. What a subscription would buy has not been decided. Ali has not chosen between defined founder support and paid software access, so no offer is made.

Analyst
$49 per month, planned
Pro and Team
On request
Read the pricing page

Leave a work email and Ali replies personally.

From the founder

“The first pass through a CRE deal should not cost a half-day in Excel, and it should not cost the audit trail. Underwrite is the desk I wanted to use myself: fast enough for triage, defensible enough for IC.”

Ali Azim | Founder | Cornell MPS-RE candidate