Waynick Underwriting Open the app

Real estate underwriting

A model you can check.

Waynick Underwriting is monthly cash-flow modelling for income deals and phased land development. Lease-level rent rolls that actually roll over, debt sized the way a lender sizes it, an equity waterfall measured on the LP's cash flow — and exports the server recomputes from scratch before it hands them to you.

478automated tests
2deal types
0language models in the math
M0 M120 IRR
The mark is the chart — each vertex above the last

What it models

Two deal types, one engine

Both run a monthly cash flow from a project start date you set, roll up to annual, and produce IRR, equity multiple, NPV, peak equity and profit.

Income

Acquisition, value-add, ground-up

Valued on a forward-NOI exit cap.

  • Lease-level rent roll with expiry, rollover and downtime
  • Expense recoveries, other income, replacement reserves
  • Rent steps addressed by lease year, with an "each year" escalator
  • Development budget by lump sum, $/SF, $/LF or $/CY, phased
  • Debt sized by amount, LTC or LTV, with a capitalised interest reserve
  • DSCR and debt yield reported against lender thresholds

Lot sales

Phased land development

Sold lot by lot, with the loan paid down as lots close.

  • A row per lot: acreage, $/SF or total price, premium, escalator
  • Release prices forcing paydown at each closing
  • Absorption by date, lots per month, or a sellout period
  • Phases with per-phase returns on a pro-rata share of the land
  • CSV round trip for the whole lot schedule
  • Closing costs and net-after-closing carried per lot

The model

Six things most models get wrong

Every one of these is silent. The statement still foots, the IRR still prints, and the number is wrong. This is the list Waynick was built around — check it against whatever you use today.

Leases expire

At expiry the space rolls on a weighted-average basis: rent resets to market, TI and LC blend renewal and new-deal terms by renewal probability, and expected downtime is (1−p) × downtime. A five-year lease does not pay a compounding escalator through a ten-year hold.

Exit capitalises forward NOI

The twelve months modelled past the hold, not the trailing year grossed up. On a lease-up deal the trailing year still contains partial occupancy, and capitalising it understates the sale price.

NPV and IRR agree what 10% means

Loan interest is nominal — the monthly rate is APR/12, as lenders accrue. Return metrics are effective: a monthly IRR annualises as (1+m)¹²−1. Mixing the two conventions is the classic modelling error.

Vacancy is counted once

Credit loss applies to occupied contract rent only. Physical vacancy comes from the rent roll itself, so a general vacancy factor and an empty suite are never subtracted from the same dollar twice.

Hurdles measure the LP

Pref, catch-up and promote tiers are all measured on the LP's cash flow, which is what a term sheet quotes. Sponsor co-investment sits pari passu with LP money — subordinated on the promote, not on the cash it actually put in. LP plus GP reconciles to the project cash flow in every month.

The statement foots

Every subtotal can be derived from the lines printed above it. Expand a row and the components — tenants under base rent, phases under lot revenue, budget lines under development cost — sum back to it in every month and every year.

What "leases expire" looks like

Escalator, no rollover Modelled rollover
$0 $10 $20 $30 $40 M0 M24 M48 M72 M96 M120 lease expires $40.32 6 months of downtime, then market rent $36.02

Contract rent of $30.00/SF on a five-year lease with a 3% annual step, inside a ten-year hold. The dashed line is what a model without rollover pays in year ten. The solid line expires the lease, takes six months of expected downtime, resets to a market rent of $32.00/SF and escalates from there — and never collects a dollar of rent during the gap. Illustrative figures; your assumptions drive the real one.

The export recomputes the deal

The model has one implementation, and the server runs the same code head-lessly. When you export, the API re-runs the whole model from your assumptions and compares its own IRR, NPV, equity multiple and peak equity against the numbers the browser sent. Any disagreement is printed into the workbook and the memo rather than quietly resolved. An export is an independent recomputation, not a transcription.

Your assumptions Model in the browser Model re-run on the server Compared, then written

What leaves the app

Three documents, generated server-side

The cash flow runs periods across and line items down — the way a model reads, not the way a database dumps. Costs write as negatives so a column foots to the subtotal underneath it, and zero prints as an em-dash.

XLSX

Excel workbook

Monthly and annual cash flow, rent roll, development budget, lot schedule, phase returns and both sensitivity grids in colour. Breakdown components are written as collapsed Excel outline groups — the workbook's version of the disclosure triangles in the app. For anyone who wants to interrogate the model.

PDF

Investment memo

Two to three pages: returns, lender tests, the annual operating summary, the rent roll and the assumptions behind them. It carries the sensitivity grids you were looking at — the layout is saved on the deal — plus a ranked tornado of what moves the return most. For circulating to a committee.

PDF

Deal comparison

Two to six deals ranked side by side on returns, financing and the assumptions that explain the difference, with the winning column marked per metric. Each model is validated separately and every note is attributed to the deal it belongs to — a ranking is only as sound as the weakest model in it.

Your name on it, not ours

Company name, logo and accent colour flow through the app and both export formats. Accent colours are solved for contrast on the server, so the app, the memo and the workbook cannot disagree about what your brand looks like.

Sensitivity, not guesswork

Two-axis grids on IRR, equity multiple and NPV across exit cap, rent, price, construction cost, interest rate, hold period, vacancy and sale timing — with per-axis step sizes and a tornado ranking each lever.

Improve Returns

A goal seek over every lever the grid already defines: the value each one would need to reach your target on its own, reported whether or not the target is reachable. Computed by root-finding over the model. No language model anywhere in it.

For firms

Built for a team, not a seat

An analyst tries a tool. A principal buys one for eight analysts and needs to know what happens when two of them open the same deal.

Organisations and four roles

Owner, admin, member and viewer. A viewer can open, model and export but change nothing. Deals are private or shared to the organisation, decided per deal.

Email invitations

Invite a colleague by address; the link carries them through sign-in or sign-up to the right organisation either way.

Version history on every save

Every save keeps a snapshot. Restoring adds a revision rather than rewinding one, so a restore is never destructive and the thing you restored from is still there.

Live presence

See who else has the deal open, and which field they are in — a colleague's focused cell is ringed and named. Two people in one model stop being a merge problem.

Conflicting saves keep both

Saves are checked optimistically. If someone got there first, your work is kept in history or forked into a deal of its own — whichever button you press. Neither one discards it.

Autosave

On by default, off by choice. The pop-out cash flow window runs the engine itself against the same deal, so two views of one model cannot disagree about a number.

Security and data

The database never sees a purchase price

Deal economics are encrypted by the application before they reach storage. What follows is what the system actually does today — no certifications are claimed, because none have been obtained.

Deal payloads
Encrypted with Fernet by the application before they reach the database. Only non-sensitive list metadata — deal name, asset class — is stored in the clear, so the dashboard can draw a card without decrypting every record. Keys rotate without re-encrypting everything.
Uploaded files
Encrypted with AES-256-GCM under a key derived from the application key, before they reach object storage, which then encrypts at rest with its own keys underneath. Reading a deal photo requires the storage credential and the application key, and those are held separately. Objects reveal nothing about their own type.
Accounts
Passwords hashed with SHA-256 then bcrypt, so a long passphrase keeps its entropy; twelve-character minimum. Short-lived access tokens with rotating refresh tokens. Logging out revokes; a password reset invalidates every outstanding session. New addresses are confirmed by email, and a change of address is parked until the new one answers — so the warning to your old address arrives somewhere you can still read it.
Lockout
Brute-force lockout is keyed on email and IP address, so nobody can lock you out of your own account by guessing at it.
Uploads
Validated by magic bytes rather than by filename, size-capped, stored under a key derived from the validated content type, and served with a restrictive content policy.
Analytics
There is no third-party analytics, no session recording and no advertising pixel inside the application. This site and the app are deployed on separate infrastructure, so nothing here can reach in there.
Key custody
The encryption key is held by the deployment, not by the database provider. That is deliberate, and it cuts both ways: there is no support path that can recover a deal without it.

Pricing

Priced per seat, published

Roughly a third of what the institutional standard costs per analyst, and it models phased land development, which that standard sells you a second product for.

Analyst

$99

per seat / month, billed annually · $129 monthly

  • One seat, unlimited deals
  • Income and lot-sales modelling
  • Equity waterfall and sensitivity
  • Excel, memo and comparison exports
  • Version history on every save
Start underwriting

Ten seats and up

Let's talk

volume pricing, invoiced annually

  • Everything in Firm
  • Volume seat pricing
  • Onboarding and model review
  • Migration of your existing templates
  • A direct line to whoever wrote the engine
Talk to us

Invoiced annually — there is no card form yet, and pretending otherwise would be the first thing you found out was untrue. Seats can be added mid-term and are pro-rated. The first ten firms keep their launch rate for as long as they stay subscribed.

What it does not do yet

The gaps, in writing

You are going to find these in an evaluation. Better here.

No fee structure above the waterfall

Acquisition, asset management and disposition fees are not modelled. The waterfall shows pref, catch-up and promote, and nothing layered on top of them. If your economics depend on the fee stack, this is not complete sponsor economics yet.

No refinance

One loan, sized and amortised across the hold. A mid-hold refinance has to be modelled as a separate deal today.

One shared encryption key

Deal payloads and uploads are encrypted by the application, but a single key covers the deployment rather than a key per customer. The encryption is real; per-tenant key isolation is not there yet.

No published uptime or durability commitment

There is no service level agreement, and the backup posture is being upgraded before one is offered. Export the workbook for anything you cannot afford to re-key.

Open a deal and see whether it argues with you

Set up an account, build a model, export the workbook, and check the numbers against your own. That is the whole evaluation.