v3.5.0
July 2026
New Features
- Pay-As-You-Go Property Reports: No subscription required. Free-plan users can now buy report credits and pull full property reports one at a time. A pack of 3 reports is $5, and bulk pricing is available (100 reports for $129).
- Everything In A Report: Each report includes rent comps, sales comps, ownership data, tax information, demographics, a rent estimate, a value estimate (ARV), a map view, and a downloadable PDF. Credits last 12 months, and reopening a saved report is free until its underlying data expires.
- Flip Analysis: The Deal Analyzer now has a third strategy alongside Buy & Hold and BRRRR. Pick Flip and you get a Sale Exit card: sale price (defaults to your ARV), selling costs, holding period, and the full profit picture down to net profit, ROI, and annualized ROI.
- Rehab: Cash or Loan: A new toggle in Purchase & Rehab lets you say who pays for the work. Choose Loan and the rehab comes out of your cash to close, adds a monthly carrying cost, and gets paid off when you refinance or sell. Choose Cash and it is priced as money out of pocket on day one.
- Rehab Months: Tell the analyzer how long the property sits empty and it prices what you carry while it does: taxes, insurance, utilities, HOA, and loan payments. Your money is now split into three honest lines, Cash to Close, Rehab Carry, and Total Cash In, because the carry is real but it is not due at the closing table. On a six-month rehab this can be thousands of dollars, and it can be the difference between a BRRRR that returns all your cash and one that does not.
- Editable HUD Payment Standard: The published SAFMR is a starting point, not what your housing authority actually pays. PHAs set standards anywhere from 90% to 110% of fair market rent, and exception areas differ again. You can now type in your PHA's real number, and every figure below it updates.
- Set Your Own Target: The Target control now asks a question your strategy can answer. Buy & Hold solves for cash flow, DSCR, or cash-on-cash return. Flip solves for the profit or ROI you actually want, instead of only the break-even price nobody offers at. BRRRR hides it, because a BRRRR already solves for getting all your cash back.
- 5-Year Projection: Buy & Hold now shows where a hold's return really comes from: cash flow, loan paydown, and appreciation over five years, with the appreciation rate under your control. Month-one cash flow is the smallest of the three.
Improvements
- Pricing Page: Added a Pay-As-You-Go section and FAQ so you can start at $5 without a subscription. The landing page, features page, and Help Center FAQ now point to it too.
- Clearer BRRRR Metrics: BRRRR mode used to show one cash flow tile with post-refinance numbers, so raising or lowering your offer appeared to do nothing. It now shows two: "CF/mo Now" for the pre-refinance hold and "CF/mo After Refi" for life after the cash-out. The top metrics also change with the strategy, so a Flip shows profit and ROI instead of DSCR and cap rate.
- Flip Reads Like A Flip: The rental profit and loss no longer sits under the heading "Bottom Line" next to your flip's net profit. On a Flip it is now labeled "Rental Fallback (if it does not sell)", which is a real backup plan worth checking rather than a number to mistake for your result. Vacancy, management, and maintenance are still there and still editable, and the card now says plainly that they feed the fallback and not what you carry while it sells. A separate line shows your true monthly carry.
- The 70% Rule Now Gives You A Price: The Exit / Equity card used to show 70% of your ARV and call it the rule. The rule caps everything you put into the house, so the rehab has to come out before it is an offer. On a $230,000 ARV with $44,000 of work it showed $161,000, which looks like room above a $120,000 offer when the rule actually stops you at $117,000. You now see the offer, with the math spelled out underneath.
- Points Cost Money: Entering points on a DSCR or hard money loan used to change nothing on screen. Points are wired at closing and never come back, so they now show up in Cash to Close, Total Cash In, and your cash-on-cash return. On a $112,500 loan, two points is $2,250 you were not being charged for.
- Financing Header Tells You The Real Terms: The Financing summary said things like "20% down, 7.5%, 30yr" while quietly leaving out interest-only and points, which are exactly what explain your payment and your cash to close. It now reads "30% down, 12% interest-only, 1yr, 2 pts". An all-cash purchase says "All cash, no loan" instead of describing a loan you do not have.
- A BRRRR That Loses Money No Longer Looks Break-Even: When a refinance returned all your cash, "Return on Cash Left In" showed 0.0% even if the property lost money every month. There is no return to report when none of your money is left in, so it now says so plainly and lets the post-refinance cash flow speak for itself.
- Your Money Adds Up: The capital breakdown listed your full rehab even when the bank was paying for it, and mixed in reserves you keep rather than spend. The lines now sum to the total sitting next to them, and reserves are shown as cash you need available, not cash you hand over.
- Where Numbers Come From, Corrected: The source and confidence badges had fallen behind the code. Some listed sources we no longer use, some were missing sources we added (like the ARV consensus model and HUD fair market rents), a few fields had no explanation at all, and three showed a confidence level that does not exist. All of it now matches what actually runs.
- Solver Answers Honestly When A Target Is Impossible: Asking for a return no price or rehab budget can reach used to produce a confident answer at the bottom of the range. It now tells you the target is out of reach instead.
- You Can Zero Out A Preset: Typing 0 into points, PMI, MIP, or reserves used to snap back to whatever the loan preset assumed, so a DSCR borrower who negotiated the point away could not say so. A 0 you type is now a real 0.
- Saved Targets Follow Your Strategy: Reopening a saved deal as a Flip could carry over a monthly cash flow target and quietly solve for that number as profit at sale, turning a break-even flip into a green light. The target now re-points to something the strategy can answer.
- One Loan For The House And The Rehab: Choosing to borrow for the rehab used to open a second loan at its own rate, and that loan was invisible to your mortgage payment, escaped the points you paid, and never paid down, so a rental you planned to keep still owed the whole rehab five years later with nothing scheduled to retire it. That is not how the loans exist in real life: hard money is quoted as one note covering the purchase and the rehab, and a renovation mortgage rolls both into a single thirty-year loan. Borrowing for the rehab now adds it to your loan, which means it is in the payment, in the points, in the payoff, and it pays down like the rest. On a $120,000 purchase with $44,000 of work that is about $132 a month cheaper and about $2,400 less owed at year five.
- The Full Report Now Fills In Everything It Paid For: Running the full report pulls ownership, tax, sales history, rent comps, and sale comps all at once, but the panel kept showing "Unlock Property" and "Run Estimate" as though none of it had arrived, and the Deal Analyzer kept using its rougher ZIP estimate for ARV instead of the report's own value. The panel now reloads everything the report wrote as soon as it finishes, so the cards stop offering to sell you data you already own and the Deal Analyzer opens with the report's ARV, tax, and rent.
- The Header Says What It Is Solving For: The line under the offer figures read "to hit $200/mo cash flow" with nothing saying what would hit it. It now names the number: "Max Offer: to hit $200/mo cash flow", "Max All-In: to recover all cash at refi", "Max Offer: to clear $43,000 profit", and the same while it is still calculating or when the target cannot be reached at any price.
- The Header Fits On One Row: On a Flip the Deal Metrics dropped below the offer figures, because the big number's column was being held wide by the caption underneath it. That caption now sits on the line below with the rest of the explanation, which lets the column shrink and everything fit across. On a BRRRR the Max Offer column also used to disappear while the solver ran and pop back when it finished, nudging the numbers beside it: it now holds its place and shows a dash until the answer arrives, like the figure next to it already did.
- A Level Header Instead Of A Lumpy One: The solved ceiling was printed half again as large as every figure beside it, in a row that also had a third size in the Deal Metrics tiles, and the columns were bottom-aligned so the numbers did not line up. All the figures are now one size on one line with their labels on the next, across both halves of the header. The ceiling still stands out, by weight and brightness rather than by being oversized.
- The Header Stops Jumping While You Type: The line under your Max Offer disappears for a moment while the solver re-runs, and it used to collapse out of the layout, so the whole header shrank and every card below it slid up and then back down on each keystroke. That line now holds its space, and the big number's column holds its width, so the header stays put while you work. That line is also easier to read now.
- BRRRR Tells You What To Offer: A BRRRR's ceiling is a total project cost, which is the right way to judge whether the refinance returns your money, but it is not a number you can put on a contract. The header now shows Max Offer beside Max All-In, so your offer sits next to the price it has to beat instead of next to a project cost. The line underneath tells you how much rehab that offer assumes, since changing the rehab budget moves it.
- BRRRR Reads In The Order It Happens: The refinance card used to sit above the Financing card, so it looked like you finished the deal, cashed out, and then went back to set up your loan again. BRRRR now reads the way the deal actually runs: what it rents for, what you buy, how you fund it, what it costs, what it earns today, then the refinance, then what you are left holding.
- Bottom Line Says When It Is: On a BRRRR every line in that card is priced on your original loan, so it describes today and not the deal you end up with. It now says so, and shows your cash flow after the refinance right beneath today's, so the two numbers in the header both have a home.
- The 70% Rule Is Quoted In Comparable Dollars: On a BRRRR your ceiling is a total project cost, but the 70% rule line showed a purchase price. Two different kinds of dollars sat inches apart and looked like they disagreed. The rule is now stated as a total project cost on a BRRRR and as a purchase price on a flip, matching whichever ceiling is shown above it, and it tells you which of the two limits actually stops you.
- A Cash Purchase Cannot Borrow For The Rehab: If you are paying cash for the house there is no loan to add the rehab to, so the option is no longer offered and the rehab is priced as your own money. Choosing it used to hand you a rehab loan at 0% stretched over thirty years, which made your cash needed look far too low and your return look far too good. Switch back to a financed purchase and your original choice comes back.
- Rehab Ceiling Accounts For The Bigger Payment: When you ask how much rehab a deal can carry and still cover its debt, the answer used to assume the rehab budget had no effect on your payment. That is only true if you pay cash for the work. If it is on the loan it raises the payment, so the ceiling is now calculated instead of assumed.
- No More Interest-Only Switch To Get Wrong: Whether a loan pays interest only is decided by the loan itself, so it now comes from the loan type you pick rather than a separate toggle. The toggle let you build a thirty-year interest-only loan, which nobody sells, and it only ever applied to the purchase loan while the rehab loan was locked to interest-only with no say. The Financing header still tells you which one you have.
- The Expense Breakdown Adds Up: On a property's Investment Analysis, Total Expenses skipped a few real costs: FHA mortgage insurance, PMI, and utilities you pay as the owner. Rent minus expenses did not equal the net cash flow printed right below it, which is a subtraction anyone would try. Every cost now appears, and the three lines agree.
- Expense Percentages Match Their Dollars: The same breakdown labeled its rows "Vacancy (5%)" and "Property Mgmt (8%)" no matter what you had set in your preferences, while the dollar amounts used your real numbers. Set vacancy to 10% and you saw the 10% amount under a label promising 5%. The labels now state the rate actually being used.
- Green Means Green Everywhere: Cash-on-cash turned green at 8% in the Deal Analyzer but needed 10% in the property table, so the same property could look strong in one place and merely acceptable in the other. Every screen now uses one set of thresholds, and the column tooltips quote the same numbers the colors use. DSCR and cash-on-cash in the property list are color-coded now too.
- ZIP Metric Explanations Reconcile: Hovering a ZIP's ROI or cash-on-cash shows the math behind it. That walkthrough labeled 23% of the price "Down Payment" when it is the down payment plus closing costs, and it left out the cap we apply to appreciation, so a fast-appreciating ZIP showed steps that did not add up to the figure above them. It now says "Cash invested", breaks out both percentages, and tells you when a rate has been capped.
- Zero Is A Real Answer: In ZIP comparison, a market with exactly 0% annualized ROI or $0 monthly cash flow showed "N/A" as though we had no data, while the ZIP panel showed the zero. Both now report the zero.
- A Flip Now Shows You The ARV: The top of a Flip reported net profit, ROI, annualized ROI, and cash in, which is four numbers derived from two, with nothing to compare the profit against. The ARV that decides the whole deal was buried below the rental cards. A Flip now reads ARV, All-In, Net Profit, ROI, so the profit sits between the two numbers it comes from. Annualized ROI and cash invested moved to the Sale Exit card next to the holding period that gives them meaning.
- Your Offer Sits Next To Your Ceiling: Max Offer was at the top and "Your Offer" was a scroll away in another card, so the two prices looked like they were arguing. They are now side by side, along with the list price and how much room you have left before your offer passes your ceiling.
- Offer Room Replaces A Pill That Was Backwards: The "Δ from List" pill was measured against the buy-and-hold cash flow ceiling no matter which strategy you were in, so on a Flip it stayed put while Max Offer moved, and it turned green when the asking price was above what you could afford. It now shows how much room is left between your offer and the ceiling actually displayed above it, in every strategy, and negative means you are over the line.
- What If The ARV Is Wrong: The Sale Exit card now prices your profit at the low and the high end of our valuation range, not just the middle. The downside case is what tells you whether the deal survives being wrong about the ARV, which is the one input everything else on a flip depends on.
- Max Offer And Cash Flow Now Agree: Buy & Hold could show "Max Offer $89K, to hit $0/mo cash flow" right next to a cash flow tile reading $147, which cannot both be true. The tiles were computed from the estimates your browser resolved, and Max Offer was solved on the server from better ones: our insurance, rent, and tax models run server-side, so your browser only carries a rough stand-in. It used to keep that stand-in whenever it had one, and only borrow the real figure when it had nothing at all. Since a dollar a year of expense moves the max offer by about fifteen dollars, a modest disagreement moved the ceiling tens of thousands. Every number on the screen now comes from the same set of inputs, and anything you typed yourself still wins.
- Max Offer Says What It Assumes: Max Offer never responds to your offer. It solves for the price that hits your target, so your current price is only where the search starts. What it does respond to is your rehab budget, and nothing on screen said so: dropping a $15,000 rehab moved a ceiling from $102K to $133K, which reads like a reaction to the offer you happened to edit at the same time. It is roughly two dollars of ceiling per dollar of rehab, because carrying a rehab loan eats into what the rent can support. A max offer is also a price, not a budget: paying $102K on that deal is a $121,555 project once the rehab is funded. The header now states both, so the ceiling comes with the assumptions behind it.
- The Ceiling No Longer Sits Under The Wrong Label: Change your target and the solver has to re-run on the server. In the moment between, the old answer stayed on screen under the new target's description. It now says it is still solving instead of pairing a number with a question it did not answer. Relatedly, asking for a return no price can reach said "solving..." forever; it now says no price can get there.
- BRRRR Can Finally See The Hold It Ends Up In: A BRRRR header could tell you that you got all your cash back and that the property then loses $232 a month, but not whether that was a deal. The answer is the five-year picture, and we were already computing it and already putting it in your exported report while never showing it on screen. There is now an "After the Refinance" card with the five-year projection run on your new loan, and the appreciation rate that drives it is finally editable. On our reference deal that is $32,817 of wealth built on paydown and appreciation despite the negative monthly.
- BRRRR Leads With The ARV: Cash left in, post-refinance cash flow, and post-refinance DSCR all move with your ARV, because the refinance appraises against it. The header showed all three results and never the number driving them. ARV is now the first tile, and the BRRRR Exit card has moved up under Purchase & Rehab instead of sitting six cards down.
- The 70% Rule Moved To The Strategies It Is For: Seventy percent of ARV less rehab is a rule for buying something you fix and exit. It was showing on Buy & Hold, where you buy on cash flow and often never enter an ARV at all, and was missing from Flip, which is the strategy the rule was written for. It now sits under the ARV input on both the Sale Exit and BRRRR Exit cards.
- A Flip Reads In Flip Order: Sale Exit now sits right under Purchase & Rehab instead of below the rental cards, and the rent card is labeled as the fallback if it does not sell. The exit is the plan; rent is the backup.
- Your Holding Period Says Where It Came From: "Carry to Sale (6 mo)" could appear with Rehab Months showing 0 and nothing to connect them. The Sale Exit card now tells you which number it fell back on, and stops mentioning it once you enter your own.
- Metric Explanations Match The Metrics: The "how to read these" tooltips at the top described monthly cash flow, DSCR, cash-on-cash, and cap rate no matter which strategy you had selected, so a flipper got definitions for four numbers that were not on screen. Both tooltips now explain whatever is actually showing.
- Your Loans Now Get Paid Back: All three strategies buy, fix, and carry a property the same way, and they differ only in how the deal ends. That ending is what pays off your loans: a sale pays them, a refinance pays them, and a straight Buy & Hold pays neither, because it never ends. Two of the three were handled and the third was not. Picking the Hard Money preset on a Buy & Hold reported your entire loan as principal paid off in five years, so the property looked owned free and clear on an interest-only note that pays down nothing. And a rehab you put on a loan never showed up against your year-five equity at all, even though the refinance math had always paid it off. The five-year projection now shows what you still owe beside the equity it explains, so the two lines add up to the projected value.
- A Warning When Nothing Pays Off Your Rehab Loan: Financing a rehab on a Buy & Hold is a BRRRR that has not admitted it yet: the loan is interest-only, it comes due, and a hold has no refinance or sale to pay it. The numbers keep showing the balance as owed, which is honest but not something a lender will allow for five years. The Exit / Equity card now says so, and offers to switch the deal to BRRRR in one click. The same warning appears on an interest-only purchase loan, which comes due the same way.
- Interest-Only Is Now A Choice: Whether your loan pays principal or interest only changes your payment, your payoff at sale, and how much of the loan is gone in five years. The only way to set it used to be picking the Hard Money preset, and there was no way to turn it back off. It is now a toggle in the Financing card next to your term. Relatedly, the note under a financed rehab promised it was "paid off at exit" even on a Buy & Hold, which has no exit; it now names what actually pays it off in the strategy you picked.
v3.4.0
March 2026
New Features
- Heatmap Academy: New in-app learning center with guided video courses organized by topic. Track your progress across sessions, resume where you left off, and see completion status at a glance. Access anytime from the profile menu or Help & Resources.
Improvements
- State-Specific Insurance Estimates: Insurance projections in the Deal Analyzer now reflect your state’s actual insurance market. Rates vary up to 6.9× between states - high-cost states like Florida now show significantly higher (and more accurate) figures, while low-cost states show lower costs.
- Improved Tax Data: County-level property tax rates expanded to cover nearly every US market - previously, many areas fell back to generic estimates.
- Updated Risk Data: Flood, wildfire, and hurricane risk classifications now use verified national data with proper severity levels (Very Low through Very High), replacing estimated values.
- Consistent Percentages: All percentage-based metrics (appreciation rates, price drops, off-market speed) now display consistently across the map, table, and Deal Analyzer.
- Pricing Page Accuracy: Feature comparison on the pricing page corrected to accurately reflect what’s included at each tier.
Bug Fixes
- Fixed property detail sidebar showing different financial metrics than the bottom table - enrichment data (tax records, valuations) now syncs to the table and map pins immediately after unlocking
- Fixed map pin colors not matching the bottom table - some ZIPs showed yellow when cashflow was above the green threshold
- Fixed square footage not appearing in the property-level table
- Fixed confidence label filter missing several options - Very High, Very Low, and Unreliable were in the data but couldn’t be selected
- Fixed voucher rent columns (all bedroom sizes) not being filterable in the data table
- Fixed insurance estimates using the same rate for all 50 states regardless of local market conditions
- Fixed flood risk showing a score for unrated areas instead of “No Data”
- Fixed several risk data fields displaying estimated values that couldn’t be verified - removed in favor of verified data only
v3.3.0
February 2026
New Features
- PDF Acquisition Reports with 5-Year Projections: Export your pipeline as a multi-page PDF. Each property sheet now includes a 5-year wealth projection - showing appreciation, principal paydown, and cumulative cash flow that add up to your net profit and projected equity. The portfolio summary page rolls these up across all properties in the plan.
- My ZIPs Dashboard: New “My ZIPs” tab in the bottom drawer shows all your active markets in one place. See data freshness, median price and rent, new listing activity, and deal counts at a glance. Sort by any column and deactivate markets you no longer need.
- Property Zoom Upgrade Prompt: Free-tier users who zoom into a ZIP code now see a clear upgrade card instead of a blank map. The prompt highlights what you unlock - instant cash flow metrics, personalized max offers, break-even analysis, and 5-year wealth projections. You can explore plans directly or zoom back out to keep browsing ZIPs for free.
Improvements
- Smarter Tier Enforcement: Subscription limits are now enforced more consistently across the app - workspace saves, property selections, data source access, and drawer tabs all respect your current plan without requiring a page refresh.
- Tax & Insurance Estimates: Property underwriting now uses county-level tax rates and insurance risk multipliers for more accurate deal analysis.
- Pricing Page Updated: The pricing page now shows all three tiers (Free, Basic, Pro) with clearer descriptions of what each plan unlocks.
Bug Fixes
- Fixed Basic-tier workspace save limit blocking at 3 instead of the correct 15
- Fixed some drawer tabs (Distributions, Contacts) being accessible to free users when they should require Basic
- Fixed property and ZIP selections exceeding tier limits after a plan downgrade
- Fixed My ZIPs “Deals” sort appearing stuck when no cashflow target was set
- Fixed boot progress indicator firing on every map pan after initial load
v3.2.0
February 2026
New Features
- Street View Images: Property detail sidebar now shows Google Street View photos with a 3-tier loading strategy - instant cached image, fresh static photo, or interactive panorama fallback. Toggle between photo and panorama with overlay buttons.
- Usage History: View a detailed audit log of your property lookups, refunds, and credit usage from the Subscription Details modal. Paginated table with action filters and a visual progress bar showing lookups used this billing period.
- App Tutorial: New 4-step guided walkthrough appears after onboarding - covers the heatmap, search and filters, ZIP detail, and property-level data. Replay anytime from Help & Resources.
- Video Tutorials: Three embedded tutorial videos on the new Tutorials page covering market discovery (Free), deal underwriting (Pro), and pipeline tracking (Pro).
- Provider Outage Detection: If our data services experience an outage, you now see a friendly notification with automatic retry instead of a blank loading screen.
- International Phone Verification: Sign up with a phone number from 22 supported countries. Country selector with flags and automatic E.164 formatting.
- Listing Soft-Delete: Properties that go off-market are now marked as delisted instead of staying active. Relisted properties cleanly return when they reappear.
- Social Links: YouTube, TikTok, LinkedIn, Instagram, and Facebook links now in the site footer across all pages.
Improvements
- Multi-Family Underwriting: ARV estimates now properly scale per-unit values to building-level for multi-family properties. The Deal Analyzer shows per-unit indicators and warns when MLS data looks like building totals (e.g., 20 beds for a 4-plex).
- Deal Analyzer Mobile: Comprehensive responsive overhaul - CSS grid layout for the decision bar, collapsible data quality flags, full-width offer tiles, and larger touch targets across all breakpoints.
- Enrichment Data Isolation: Property data you pay to unlock is now scoped to your account. Other users must unlock separately - no more accidental data leakage between accounts.
- Auto-Sync on Tab Focus: Your subscription tier, active markets, and credits now sync automatically when you switch back to the app tab - no manual refresh needed after upgrading or activating markets.
- Onboarding Polish: Phone verification step redesigned with trust signals ("No spam calls - ever"), capital range now has a "Prefer not to say" option, and biggest challenge options rewritten in first-person operator tone.
- Better Error Messages: Wrong verification code, expired code, and phone-already-registered errors now show clear, specific messages instead of generic failures.
- Property Cards Respect Filters: Property cards in the side panel and the detail sidebar prev/next navigation now stay in sync with your active filters. Card count shows "Showing X of Y" when filters reduce the list.
- Data Integrity: All server-side queries that could return more than 1,000 rows now use proper pagination, preventing silent data truncation for large ZIP codes.
- Persistence Hardened: Fixed 10+ edge cases in state save/restore - left panel visibility, current layer, selection state, and Ctrl+Shift+R reset all survive page refresh correctly.
- Memory Optimization: 20+ additional memory leak fixes across 13 files - tracked timeouts, AbortController for fetch calls, idempotent init guards, and DOM reference cleanup on logout.
- Marketing Pages: Landing, Features, and Pricing pages redesigned with decision-first messaging, embedded tutorial video on the homepage, and clearer Free vs Pro comparison.
Bug Fixes
- Fixed Deal Analyzer metrics blanking out when changing bedrooms, bathrooms, sqft, or unit count
- Fixed Max Offer showing “--” instead of recalculating when bedroom count changes
- Fixed column filters updating the table but not the map - heatmap now recolors immediately
- Fixed 403 error when viewing market stats for ZIPs that were previously deactivated
- Fixed Google sign-in crash caused by a stale database trigger referencing removed columns
- Fixed multi-family badge overlapping status badges on property detail between 768-1300px
- Fixed dragging on the map spawning multiple property tooltips and phantom clicks
- Fixed plans panel animating sluggishly during bottom drawer drag
- Fixed search input having dead zones above and below the visible border
- Fixed saved filter overwrite confirmation hidden behind the options modal
- Fixed property data not loading for a second user who unlocked the same property
- Fixed preview count in filter modal showing more results than the actual table
- Fixed Ctrl+Shift+R reset re-saving dirty state during the clear operation
- Fixed phone verification showing “[object Object]” for all error messages
- Fixed stale boot progress callback firing on every map pan after initial load
v3.1.0
February 2026
New Features
- Deal Analyzer: Completely rebuilt underwriting tool with single-column card layout, strategy selector (Hold vs BRRRR), rent basis switch (Market vs HUD Voucher), financing presets, sensitivity analysis, confidence scoring, source badges, and max offer solver
- Dark Mode: App-wide dark theme with Light, Dark, and System options in Settings. Map tiles adapt automatically. All UI surfaces respect your theme choice.
- Property-Level View: Zoom in to any ZIP code to see individual property markers color-coded by deal quality. Click a property to open its detail sidebar, or Ctrl/Cmd+Click to multi-select.
- Background Property Markers: Properties from cached adjacent ZIPs appear as blue markers so you can see nearby data while panning
- Pipeline Panel (3-Tier): Manage your deal pipeline at three levels of detail - compact strip in the bottom drawer, side panel with accordion Kanban, or full-screen horizontal Kanban with plan sidebar
- Plan Picker: "Save to Plan" popover lets you choose which plan to save a property to, or create a new plan inline. Available from property cards, detail sidebar, and Deal Analyzer.
- Property Table: Full property data table in the bottom drawer with sorting, checkboxes, bulk "Add to Plan" actions, and the same keyboard shortcuts as ZIP-level
- Property Selection: Ctrl/Cmd+Click to multi-select properties (purple outline on map and table). Shift+Click to focus and zoom. Selection persists across F5 refresh.
Improvements
- Unified Selection Model: ZIP and property selection now share the same interaction pattern - Ctrl/Cmd+Click for multi-select (purple), Shift+Click to focus and zoom, normal click for detail
- Keyboard Shortcuts Standardized: T to track a property, Ctrl+Shift+R to reset filters, Esc to close modals. Double-tap on mobile to zoom to a ZIP.
- Instant Property Markers: Markers appear immediately as gray circles and colorize in-place when metrics arrive - no more 1-3 second delay
- Viewport-Based Rendering: Property markers render for all cached ZIPs visible in the viewport, not just the center ZIP
- Pipeline Persistence: Active plan, view mode (Board/List), and collapsed stages all survive F5 refresh
- Settings Simplified: Settings modal now contains only Appearance and Email Preferences. Underwriting defaults moved to their own dedicated modal.
- Formatting Centralized: All currency, percentage, and number displays use consistent formatting throughout the app
- Performance: Lazy loading, chunked rendering, table column sizing without forced reflow, bundle optimization
- Memory Optimization: Comprehensive audit and fix of memory leaks - bounded caches, tracked subscriptions, proper cleanup on logout
Bug Fixes
- Fixed property pins disappearing when panning across ZIP boundaries
- Fixed property detail sidebar flashing open/closed on row click
- Fixed ZIP detail not opening when a property panel was already active
- Fixed unlocked ZIP showing 0 listings after paying a credit
- Fixed property table not restoring after F5 at property zoom level
- Fixed property-level filter modal count and numeric input lag
- Fixed duplicate login analytics events from tab visibility changes
- Fixed leaked auth subscription on sign-out
- Fixed stale focusedZip causing zip detail to open on property pin click
- Fixed pipeline full-screen actions running behind the overlay
- Eliminated all native alert()/confirm() dialogs - replaced with toast notifications and async modals
v3.0.0
January 2026
New Features
- Free Tier: New permanently free plan with core features - no credit card required
- Investment Mode: Choose between Local Investor (radius-based) or Nationwide exploration
- State Selector: Multi-select dropdown for nationwide investors to filter by states
- View Mode Toggle: Switch between "My Markets" (personalized) and "Explore All" (discovery)
- ZIP Preferences: Like/dislike ZIP codes to customize your market view
- Column Picker Search: Real-time search to quickly find columns in the data table
Improvements
- All States for All: Every plan now has access to all 50 states
- Tier-Based Columns: Free sees core metrics; paid plans see all 50+ columns
- Memory Optimization: 77% reduction in browser memory usage (570-870 MB vs 1.7-3.5 GB)
- Simplified Onboarding: Reduced from 6 steps to 5, combined plan + payment step
- State Architecture: New StateChangeManager for predictable, race-condition-free updates
Bug Fixes
- Fixed Ctrl+click map selections not syncing to bottom drawer
- Fixed selections not surviving page refresh
- Fixed Clear All functionality in ZIP tray
- Fixed heatmap not updating when filters changed
- Fixed handlebar positions resetting on state load
- Fixed Stripe webhook handler out of sync with database schema
- Fixed cancel subscription endpoint missing
- Fixed filter pills not updating table
v2.0.0
November 2025
New Features
- Professional Design System: Complete UI overhaul with Inter font family and modern aesthetics
- Heatmap Controls: Redesigned with gradient bar, auto-scaling modes, and live updates
- Map Tools Panel: Zoom to Selection, Reset View, Measure distances, Clear Measurements
- Stripe Subscriptions: Full payment processing with 7-day trials
- Phone Verification: Twilio SMS verification during onboarding
- Custom Cancellation: Usage-based refund eligibility with feedback collection
Improvements
- Responsive Design: Bottom pane horizontal scrolling, protected counts
- Code Protection: Terser minification and obfuscation for production
- Rebranding: Changed from "Rentory" to "Heatmap Housing"
- Database Cleanup: Removed redundant columns, consolidated tier logic
- Performance: Data caching, debounced updates, optimized filter calculations
Bug Fixes
- Fixed phone verification stuck on "verifying" during onboarding
- Fixed trial timing (starts on payment, not signup)
- Fixed Leaflet layer control (click-only, proper z-index)
- Fixed saved filters not updating UI when loaded
- Fixed customer ID not saving to database
- Fixed all modals now close with ESC key
v1.3.0
January 2025
New Features
- Trial State Access: Trial users now get access to all 50 states during their 7-day trial period
- Auto-Generated Filter Descriptions: Saved filters now include automatic human-readable summaries showing all active filters
- Custom Cancellation Flow: New cancellation UI with usage-based refund eligibility and required feedback
- Multi-Select ZIP Codes: Hold Ctrl/Cmd and click to select multiple ZIP codes for comparison
- ESC Key Support: Press Esc to close any open modal
Improvements
- Upgrade Flow: Existing users now directed to Stripe Customer Portal for upgrades instead of new signup page
- Filter UI Sync: Loading a saved filter now properly updates the filter input fields in the UI
- Map Layer Control: Repositioned layer control below profile badge and made it click-to-open instead of hover
- Modal Improvements: All modals now properly close with Esc key and background clicks
Bug Fixes
- Fixed phone verification hanging during onboarding
- Fixed plan selection not saving correctly
- Fixed Stripe customer ID and subscription ID not saving to database
- Fixed trial users showing incorrect state limits (now correctly shows 50 states)
- Fixed database functions referencing removed columns
- Fixed feedback modal centering and scrollbar issues
- Fixed map heatmap colors not updating after filter changes
v1.2.0
December 2024
New Features
- Saved Filters: Save and load your favorite filter combinations
- Profile Menu: New dropdown menu in top-right with quick access to all account features
- Usage Stats: View your usage and subscription details
- Billing Management: Access Stripe Customer Portal to update payment methods and view invoices
- Feedback System: Report bugs and submit feature requests directly from the app
Improvements
- State Selection UI: Redesigned state filter with clearer locked/unlocked states
- Onboarding Flow: Streamlined signup process with clearer step indicators
- Performance: Optimized data loading with better caching and state filtering
Bug Fixes
- Fixed modals not closing properly on background click
- Fixed duplicate modals being created
- Fixed subscription status not updating after trial expiration
v1.1.0
November 2024
New Features
- Subscription Tiers: Introduced Free, Basic, and Pro subscription plans
- 7-Day Free Trial: New users can try the platform risk-free for 7 days
Improvements
- Stripe Integration: Full payment processing with Stripe for subscriptions
- Row Level Security: Enhanced database security with proper RLS policies
- Authentication: Improved magic link sign-in flow
v1.0.0
October 2024
Initial Release
- Market Database: Thousands of ZIP codes with rental market data across the United States
- Interactive Map: Leaflet-based map with ZIP code boundaries and heatmap visualization
- Advanced Filtering: Filter by state, cash flow, price, property type, and more
- Data Table: Sortable, scrollable table with virtual rendering for performance
- Heatmap Visualization: Color-coded ZIP codes based on profitability metrics
- Magic Link Auth: Secure, passwordless authentication via Supabase
- Responsive Design: Works on desktop, tablet, and mobile devices