The app
Every screen on a deal, the chart beside each number, a scratch sheet that stays with the deal, and a layout for whatever you are holding.
What it looks like
Ten tabs, one deal
These are photographs of the running application, taken by a script that drives a real browser against the real engine and the sample deals the product ships with. Nothing here is a mock-up, and every figure was computed rather than typed. Nine tabs on an open deal; the tenth arrives when you close one. Which nine depends on the deal: a rent roll, a unit mix or a lot schedule sits in the same slot.
IRR and NPV up top, and the rest in three labeled groups (returns, capital, and risk and lender tests), recomputed on every keystroke, LP and GP returns included once a waterfall is on.
The chart beside the number
The picture next to the number
Each tab carries the chart that answers the question it raises, drawn from the same model run as the figures and redrawn as you type.
Where the money goes, and when it comes back
- Assumptions: what the equity puts in against what it gets back, split by where it came from, with the profit marked; where the sale price goes, to the equity, the lender and the cost of sale; and the year-one expense mix.
- Debt: the balance across the hold, interest-only shaded and the payoff marked, and coverage by year against a DSCR covenant you set once. The tile, the warning and the memo all read the same one.
- Waterfall: each tier split between LP and GP, the GP’s profit share against its equity share, and the month each party is paid back.
- Development: the budget by phase, shared costs kept apart, and the month cumulative lot revenue overtakes cumulative spend.
The rent roll, as a building
One bar, every suite at its share of the floor area, shaded darker the sooner its lease ends and hatched where it is empty, with the largest tenant’s share of the rent, the weighted average lease term and the occupancy at close beside it. The rollover risk in a building is visible before you have read a row.
On a phone, a row you swipe
The same charts sit above the inputs in one row, each card most of the screen wide with the next one showing at the edge. A bar above them says how many there are and folds them away; the choice is remembered. On an iPad they sit above the form two across in portrait and beside it in landscape.
- The contract timeline, the NOI against plan and the building bar follow the same rules, so nothing is 2,000 px down the page on a tablet.
- Axis labels give way rather than print over each other on a narrow chart.
The side sums
A scratch sheet that stays with the deal
Every underwriting has the sums nobody keeps: a TI allowance checked two ways, a tax bill per foot, a yield worked out on the back of an envelope. They used to live in a spreadsheet beside the model and never came back with it. Now they have a place.
Keyed like Excel, saved like an input
- Formulas name the deal’s figures. =NOI/PurchasePrice, =SalePrice*1.5%, picked from a list, always the model’s current number, never written back into it.
- Cell and sheet references, named sheets, and SUM, AVERAGE, MIN, MAX, COUNT, ROUND and ABS. Arrows, Enter, Tab, F2 and a block pasted from Excel all do what your hands expect.
- Saved with the deal, so a colleague opening it sees how you got there, and it rides undo and version history like any edit.
- Never read by the model. Nothing in the work area can change a return, make the model circular or reach a committee memo. It is how somebody got to a number, not the number.
On any screen
It fits the screen you are actually holding
The same deal, the same engine, the same numbers, laid out for whatever you opened it on. Drag the handle, or leave it running.
Phone · 390 px
- Nothing is hidden. Every tab, every table and every figure is present at 390 px. The layout changes; the model does not.
- Tables scroll, they do not shrink. A wide table gets a horizontal scrollbar above it as well as below, so a reader forty rows down does not have to travel to the bottom to find one.
- Nine tabs become two balanced rows of five and four, every target 67 × 44 px, rather than eight squeezed onto one line with an orphan underneath. The strip lays itself out from the number of tabs, so a closed deal's tenth tab makes it five and five rather than breaking the arithmetic.
- The top bar stays put as you scroll, with save, undo, history and the exports in it. On a phone they fold into a side menu instead of running off the edge.
- The page grows to 1800 px on a large display instead of stranding a model in a narrow column down the middle.
Built for a finger, not adapted for one
A web app that happens to work on a tablet and a web app that was made to work on a tablet are different products. Here is the difference, itemized.
The lot schedule at 393 px: the whole table, scrolled sideways rather than squeezed into the width.
44pxTargets a thumb can actually hit
The smallest reliable target on a touch screen is about 44 pixels square. The deal tabs are 67 × 44 on a phone. The strip lays itself out from the number of tabs rather than a hard-coded column count, so adding a tenth tab cannot quietly break the arithmetic and leave an orphan on a second row.
swipeTables glide, they do not stop dead
A swipe on iOS hands the scroll to the compositor, which keeps it moving after your finger has left the glass. Two mirrored scrollbars driving one table used to cancel that momentum on release. They count events now rather than animation frames, so nothing depends on timing the browser never promised.
dragReordering works with a finger
Rows are dragged by a grip on pointer events rather than the desktop drag-and-drop API, which touch devices never fire. The same grip takes arrow keys, so the keyboard has a way in that does not depend on a pointer at all.
notchNothing hides under the notch
Safe-area insets are honored top and bottom, so the header does not run under a status bar or a home indicator: in a browser tab, in landscape, and from a Home Screen icon, which is a different rendering environment rather than a shortcut to the same one.
menusThe pickers belong to the app
Dropdowns, suggestion lists and the date picker are all drawn inside the page. An operating system's own menus are painted in a layer no stylesheet reaches, which is why a dark app on a tablet so often opens a bright gray list on top of itself. The calendar here was written rather than borrowed, and it is the app's colors at every size.
installAdd it to the Home Screen
A web app manifest and a full icon set, so it installs to an iPad or a phone and opens without browser chrome. Confirmed on a real handset rather than reasoned about. An installed app is a different rendering environment, and the first render from a Home Screen icon is the first one that can show you so.
Dates can be typed as well as picked. 3/1/28, 030128, Mar 2028 and Excel's own 1/15/2027 0:00 all parse, because on a phone a keyboard is very often faster than a calendar. And every number box in the app, in every table, takes arithmetic: 3*2, =15.50*1.03.