Structure A
—
- Cash down at closing
- $0
- Upfront programme fee, financed
- $0
- Interest paid to that year
- $0
- Mortgage insurance paid to that year
- $0
- Cost of the years you were here
- $0
- Balance still owed
- $0
—
A cut section, top to bottom
3–7 yr · What has this loan cost me by the time I leave?
A rate sheet answers a question nobody asks, which is what a loan costs over thirty years. Almost nobody keeps a loan for thirty years. This page asks the real question instead — what has this cost me by the time I hand back the keys — and answers it twice, side by side, for a held period you set.
Every figure this page produces is illustrative. The rate you type is an assumption, not an offer; nothing here is a quote, an application or a commitment to lend. The assumptions in force are printed at the bottom of the page.
At the year you leave Illustrative
$0
—
Structure A
—
Structure B
—
—
Cash down plus interest plus mortgage insurance, accumulated. Both curves start at their own down payment on day one, which is why the cheaper structure at year one is usually the one that asked for less cash. Where the two lines cross, the answer changes sides.
One of these lines usually falls off a cliff and the other one usually does not. Conventional PMI must terminate automatically at 78% of the original value; FHA annual MIP below 10% down runs for the life of the loan and only a refinance ends it.
Every figure here is illustrative and moves with the assumptions in the panel above. The last row is deliberately kept out of the total: the balance is not a cost, it is what the sale has to clear before anything reaches you.
| Line | Structure A | Structure B | Difference |
|---|---|---|---|
| Cash down at closingHanded over once, and gone. | $0 | $0 | $0 |
| Upfront programme fee, financedNot cash — it is added to the loan, so you pay interest on it for as long as you keep the loan. | $0 | $0 | $0 |
| Interest paid to that yearThe largest line on almost every file, and the one nobody adds up. | $0 | $0 | $0 |
| Mortgage insurance paid to that yearThe layer with an end date on one structure and not on the other. | $0 | $0 | $0 |
| Cost of the years you were hereCash down plus interest plus insurance. What the years cost you. | $0 | $0 | $0 |
| Balance still owedNot a cost. It is settled out of the sale — but it decides what you walk away with. | $0 | $0 | $0 |
There is no structure that is cheaper than another structure. There is only a structure that is cheaper over the years you are actually there. A loan that asks for less cash on day one and charges insurance for its whole life wins early and loses late; a loan that asks for more cash and drops its insurance at a fixed loan-to-value loses early and wins late. Every honest comparison has a year written on it, and every comparison without one is selling you something.
Which is why the first input on this page is not the rate. It is how long you think you will be there — the one figure a lender cannot know and you can at least estimate. Set it honestly, look at where the lines cross, and then decide how much confidence that estimate deserves.
Everything you typed lives in the address bar and nowhere else. Copy the link and the page rebuilds this result before it paints.
Validated. On a live site this would be queued for delivery; on this demonstration it stops here and nothing was stored or transmitted.
No obligation, and no transmission
A broker needs six things to say anything useful. This form asks for exactly those and nothing else — no date of birth, no Social Security number, no credit pull.
This form does not send anything. It validates what you type and then stops. Nothing is stored, nothing is transmitted, no cookie is set and nobody will call you. The demonstration is the point — on a real build one function call inLeadForm.astro would hand this to a CRM.
Everything validated. On a live site the details would now be on their way to a licensed loan officer, and you would see a reference here.
On this demonstration nothing left your browser. The submit handler stops at this message on purpose, and the fields have been cleared.
These are real controls, not a badge. This site has not been audited against WCAG, so it does not claim conformance.
Rebrand this demo live. Every control writes to the address bar, so the result is a link you can send.