A free guide by FourthspaceOS INSTAGRAM WAITLIST
Day 17 · 30 Prompts in 30 Days

Automate real estatefinancial modelswith Codex.

Manual property underwriting in Excel eats a day. Codex builds the same model in minutes, surfaces the assumptions you would have missed, and re-runs itself when new transaction data lands. The full workflow, end to end.

What this buys you

A property underwriting model that runs itself. Drop the market data in, describe the deal, and Codex returns a structured model with cash flow, leverage, yield, and a 10 year IRR. Re-run the same prompt against new transactions and the numbers update without rebuilding the spreadsheet.

The end state

A working underwriting model for one off-plan deal. Equity IRR by exit strategy, projected sale values, and sensitivity charts on yield and IRR. Plus a one-pager summarising the analysis for clients or your own files.

The investor still makes every call on the deal. Codex runs the modelling chain that gets the numbers in front of you.

What you need

A paid ChatGPT plan with Codex access. Codex runs inside your ChatGPT account. The free tier does not include it. Check what your current plan allows before you start.

The context for one deal ready to drop in. Sales and rental transactions for the area, developer track record, brochure, payment plan options, floorplans, indicative pricing, and a location pin. The full list lives in step 02.

A real deal to point it at. Generic inputs produce generic models. The exercise only sticks when there is a deal you are actually considering.

Heads up

Codex is a coding agent, not a property tool. You are pointing its general modelling ability at property data. The output is only as accurate as the inputs. Garbage in, polished garbage out. Get the transaction comps right before you run the brainstorm prompt.

Step 01 · Setup

Get Codex open and ready.

Codex is OpenAI's coding agent. It runs inside your ChatGPT account, with its own dedicated interface. The first run on a property model takes longer to set up than to actually execute.

Where to find it

Open ChatGPT. Codex sits in the sidebar on plans where it is available. If you cannot see it there, it also lives at codex.openai.com. Same account, same login.

Start a new task

Create a new Codex task and title it specifically. Something like "Underwriting model for [project name]". Each task has its own context, file uploads, and chat history, so use one task per deal.

Step 02 · Context

Feed Codex the deal.

The output is only as good as the inputs. Drop every piece of context that bears on the deal into the task before you ask Codex anything. Each file becomes part of the model's working memory.

The eight inputs

This is the set used on the deal in the reel. Substitute the equivalent files from your own market.

01. Latest sales transactions for the area. The last twelve to twenty four months of comparable sales, ideally per square foot with date, unit type, and bedroom count.

02. Latest rental transactions for the same area. Per square foot or annual rent, same period and unit-type detail.

03. Developer track record. Their last five to ten completed projects, with promised handover dates versus actual handover dates.

04. Floorplans. The PDF the developer's brochure or sales team sends.

05. Indicative pricing. Starting price from the launch sheet. Codex handles ranges fine. It does not need the final number.

06. Google Maps location. The pin or a screenshot of the project's location with the surrounding context visible.

07. Brochure. The developer's project brochure, the full version.

08. Payment plan options. Every payment plan the developer offers on the project.

Format

PDFs, CSVs, screenshots, and URLs all work. The cleaner the file, the better the model. If your transaction data is in a portal you can only export as a screenshot, that still works. A clean CSV will pull more accurately into the assumption layer.

Step 03 · Brainstorm

Let Codex think before it builds.

Most people skip this step. They drop the context in and immediately ask for the model. The output is generic, with assumptions that miss the things that actually drive returns. The fix is one prompt that asks Codex to plan the model structure first.

01
The brainstorm prompt

Ask Codex how it would model the deal.

Codex returns a structured plan. Which financial outputs to include, what drivers each one needs, and which assumptions matter most for this asset class and market. Read it, refine if needed, then ask it to build.

Paste into Codex
How to best build a financial model for an off-plan residential investment? What should we include and how can we forecast returns? Market data and project information attached.
What Codex came back with

A full underwriting model. Equity IRR by exit strategy, projected sale values, and sensitivity charts on yield and IRR. It also surfaced assumption variables most investors would have missed.

A rent free period at handover. Built into the rental income projection. New builds in established communities typically lease at a discount in the first year while reputation is still building.

A vacancy buffer that scales with neighbourhood supply. Pulled directly from the supply pipeline data, so the vacancy assumption tightens or loosens with the actual launch pipeline.

Service charge inflation tied to community age. Built as a function of project age. Reflects how service charges typically settle higher than the launch estimate after the first few years.

Then say "implement plan"

Two words. Codex takes the plan it just produced, runs it against the context you uploaded, and builds the actual model. Spreadsheets, formulas, sensitivity charts, the lot.

The brainstorm-then-implement pattern is the whole reason the output is better than asking for the model directly. The plan is where Codex earns its keep.

Step 04 · Refresh

Link the data so the model updates itself.

Once the first model exists, the second refresh should not take any modelling work. Codex can rerun the same task against a new file drop, or pull from a data source you link directly.

Two routes

Option A. Manual refresh. Drop the latest sales and rental transaction file into the same task. Ask Codex to update the model against the new data. Takes about a minute.

Option B. Linked refresh. Connect a data source Codex can read directly. The model rebuilds when the source updates. Setup takes longer. The cost afterwards is zero.

Sensitivity charts on demand

Once the model is live, ask Codex for any sensitivity slice you want. Yield against rate. IRR against handover delay. Cap rate against service-charge inflation. The chart is generated against the live model, so it reflects every input you have given it.

A client-ready one-pager

Ask Codex to summarise the model into a one-pager with the financial analysis and the clear investment takeaways. It pulls the headline numbers off the model, formats them for someone who will not scroll through the spreadsheet, and produces it in minutes.

Useful for clients, for a partner, or for your own files. The model is the proof. The one-pager is what you actually send.

Sanity check the output

Codex is a coding agent doing finance work. The math is solid. The assumptions sit on whatever you fed it. Read the assumption layer of the model. If a rent free period is six months and your market actually does three, push back and ask Codex to revise. Treat the first model as a draft to interrogate, not a final answer.

What it costs

One ChatGPT plan. Nothing else to buy.

Codex runs inside ChatGPT. No additional tools, no plugins, no third-party model fees. If you already have a paid ChatGPT plan with Codex access, this workflow runs on it.

ChatGPT (paid plan)
From $20/mo

A paid ChatGPT plan with Codex access is the only spend. The free tier does not include Codex. Check what your current plan allows before you start.

First model
10 min

From a blank Codex task to a working model with sensitivity charts. The time investment lives mostly in gathering the eight inputs cleanly before you start.

Every model after
Seconds

Once the first model exists, every subsequent run on the same deal is instant. Refresh against new transactions, ask for new sensitivity slices, all from the same task.

What "done" looks like

An underwriting model that runs itself.

The end-state vision

A working financial model. Live sensitivity charts. Source data linked. Re-runs in seconds.

You sit down on a Monday morning. New transactions landed over the weekend. Codex re-runs the model against the updated data. The yield assumption moves, the IRR moves, the sensitivity charts move. You glance, sense-check, and ask the questions only you can ask.

Manual Excel modelling for one deal can eat a day. The Codex setup runs in about ten minutes the first time, then seconds for every subsequent refresh. That is the trade Day 17 ships.

16
Where this builds from

Day 16 · The Claude roadmap for property investors.

Read Day 16
FourthspaceOS

An operating system for property investors.

Every prompt in this 30-day series is one capability. FourthspaceOS bundles all of them into a single product: underwriting, comps, market research, deal sourcing, portfolio tracking, and investor reporting. The product runs natively on the same Anthropic agents and plugins you are learning to use this month.

Waitlist members get founding pricing, early access, and one new prompt delivered each day for the next 30 days.

Join the waitlist

Founding pricing locks in for waitlist members.

One email a day for 30 days. No spam. Unsubscribe whenever.

Share the workflow

Know an investor still modelling deals in Excel by hand?

Send them this page. Manual modelling for one deal can take a day. The Codex setup runs it in minutes and updates itself when new transaction data lands. The shift is real, and most investors have not seen it yet.

Find me on Instagram
Start the workflow

Pick a live deal. Build the model this week.

Ten minutes from a blank Codex task to a working model. Every subsequent deal you analyse runs faster than that, because the task structure is already in place. Start with one deal you are actually considering, gather the eight inputs in step 02, and run the brainstorm prompt against them.

Start at step 01