CDealAnalyzer Logo
CDealAnalyzer
Built for clarity — not coaching
BRRRR • Buy • Rehab • Rent • Refi • Repeat

BRRRR Analyzer

Paste the listing link for reference (we do not auto-pull data). Enter your assumptions below to get a verdict.

BRRRR analysis hero image

Inputs

Keep it conservative. BRRRR deals die on optimism.

Rental & Expenses

Refinance Assumptions

We save your listing link for reference. Auto-pulling data from Zillow/Redfin without a backend/API is blocked by browser security.

Results

BRRRR snapshot + verdict based on conservative rules.

Total Project Cost (All-In)
$0
Purchase + rehab + closing + holding costs
Refi Loan Amount (ARV × LTV)
$0
Estimated takeout loan based on your ARV and LTV
Cash Left In Deal
$0
All-in cost minus refi loan (if positive)
Monthly Payment (P&I)
$0
Estimated payment on refi loan
NOI / Year
$0
Effective income minus operating expenses (before debt)
Monthly Cash Flow (After Debt)
$0
NOI/12 minus principal & interest
DSCR
0.00
NOI ÷ annual debt service
Cash-on-Cash (Year 1)
0.00%
Annual cash flow ÷ cash left in deal (or all-in if cash-out)
BRRRR Verdict
Enter numbers to see verdict.

Baseline targets: DSCR ≥ 1.20, cash left in deal low, and positive monthly cash flow.

if (input){ input.addEventListener("input", onInput); input.addEventListener("change", onInput); input.addEventListener("paste", () => setTimeout(onInput, 10)); } if (openBtn){ openBtn.addEventListener("click", () => { const url = getUrl(); if (!isValidUrl(url)) return setStatus("Paste a valid listing link first.", false); window.open(url, "_blank", "noopener,noreferrer"); }); } const saved = localStorage.getItem("cdeal_lastListingLink"); if (saved && input && !input.value.trim()) input.value = saved; onInput(); })(); // Wiring $("btnCalc").addEventListener("click", calc); $("btnReset").addEventListener("click", resetForm); document.querySelectorAll("input[type='number']").forEach(inp => inp.addEventListener("input", calc)); if ($("propertyAddress")) $("propertyAddress").addEventListener("input", updateMapsLink); $("year").textContent = new Date().getFullYear(); updateMapsLink(); calc();