All work
Real Estate AI

NOAL

An AI underwriting engine that reads a T12, OM, and rent roll and turns them into a complete, IC-ready multifamily proforma, cutting underwriting time by 60%.

Role
Full-stack development, document-extraction pipeline, underwriting engine design
Timeline
Selected work
Stack
AI Agent/LLM Development · Python · Backend Development · React · Next.js · TypeScript · Financial Modeling · Underwriting Engines · Document AI · Excel & PDF Data Extraction · Real Estate Data API Integration · PostgreSQL · Data Engineering · AWS · Cloud & SaaS Infrastructure
NOAL multifamily underwriting platform

The problem

Institutional multifamily underwriting still ran on manual data entry.

An analyst evaluating a deal had to read through a T12, an offering memorandum, and a rent roll, then hand-key every line into an Excel model, cross-check the OM's claims against the actual trailing financials, pull comps separately, and rebuild the capital stack for each financing scenario. A single deal could take days before it was even ready for investment committee, and inconsistencies between what a seller's OM claimed and what the T12 actually showed were easy to miss under that time pressure.

The ask was to take a firm's existing Excel model and assumptions and turn them into an underwriting engine that could run itself, without asking analysts to trust a black box or abandon the model they already knew.

What I built

Documents in, an underwritten deal out.

NOAL ingests a T12, OM, and rent roll, auto-populates the full underwriting model, and pulls jurisdiction-specific tax context and instant comps alongside it. I built the system end to end: the document-extraction pipeline, the risk-flagging and reconciliation logic, the financing and capital-stack modeling engine, and the shared deal workspace teams underwrite in together.

Every extracted field is backed by a traceable data pull, so an analyst can see exactly which line in the T12 or OM produced a given number, and the system automatically flags where the OM's story diverges from what the trailing financials actually support, catching the kind of discrepancy that used to surface only in diligence.

  • T12/OM/rent-roll ingestion with explainable field-level sourcing
  • Automatic risk flagging on OM-to-T12 inconsistencies
  • Instant comps and jurisdiction-specific tax modeling
  • Live loan matching and capital-stack/equity-waterfall modeling
  • Auto-generated IC-ready reporting and proforma

By the numbers

60%
Reduction in underwriting time
Days → minutes
From documents to complete proforma
4 average
Inconsistencies caught per rent roll in diligence
One workspace
Replacing emailed spreadsheet versions

Illustrative figures.

System design

Extract with a reason, flag with a citation.

The extraction agents don't just pull numbers, they reason over each document and record why a figure was chosen, so a rent-roll total or expense line is traceable back to its source rather than presented as an opaque output. Financing and comps run as separate, composable modules on top of the same underwriting core, so a team can test five loan structures or a wider comp set without touching the underlying property assumptions.

Everything lives in one shared workspace: when an analyst adjusts a CapEx line, the change updates for asset managers and leadership in real time, so the team never underwrites off of stale, emailed copies of the same model.

The model reads the OM. The team still decides whether to trust it.

Reliability and rollout

Built for a decision investment committees have to stand behind.

Because a missed rent-roll discrepancy or an over-optimistic OM assumption carries real capital risk, flagged inconsistencies are surfaced before the model is finalized, not buried in a footnote after IC has already reviewed it. Post-close, the same underwriting assumptions connect to actual asset performance, so a firm can see exactly where a deal outperformed or missed its original model, and feed that back into how the next deal gets underwritten.

Moving from spreadsheet-based underwriting to a shared, explainable engine changed how acquisition teams worked day to day: diligence moved from a solitary, days-long spreadsheet exercise to a same-day, team-reviewed decision.

Built with

  • AI Agent/LLM Development
  • Python
  • Backend Development
  • React
  • Next.js
  • TypeScript
  • Financial Modeling
  • Underwriting Engines
  • Document AI
  • Excel & PDF Data Extraction
  • Real Estate Data API Integration
  • PostgreSQL
  • Data Engineering
  • AWS
  • Cloud & SaaS Infrastructure