Find and map for-sale properties ranked by their rental investment potential.
A full stack SaaS web app that:
- Searches Zillow listings by location (city, state, ZIP, or neighborhood) with 29+ filters
- Calculates the 1% rule (rent ÷ price) for every listing and color codes results: Excellent ≥1% / Good ≥0.8% / Fair ≥0.6% / Poor <0.6%
- Estimates property tax for every listing using city-level rates for 150+ US cities, falling back to state averages
- Shows listings on an interactive map with color-coded pins synced to the card list
- Cash flow estimator — calculates monthly cash flow, cap rate, and cash-on-cash return with adjustable mortgage, vacancy, and expense inputs
- Curated top rental markets page — 25 US cities ranked by average rent-to-price ratio
- Per-user favorites list to save, track, and organize properties — grouped by state and sorted by ratio
- Favorites support adding properties by Zillow URL and marking properties as Purchased
- Supabase-backed search cache (24hr TTL) to minimize API usage
- Full auth and subscription flow — signup, login, Stripe payment, password reset, subscription management
Technical details:
- Frontend — Next.js 15 + TypeScript hosted on Vercel
- Auth — Supabase Auth (email/password) with server-side session handling via
@supabase/ssr
- Database — Supabase PostgreSQL for users, favorites, and search cache
- Payments — Stripe Checkout for subscriptions, Stripe Customer Portal for management, webhooks to sync subscription status
- Data — Unofficial Zillow API via RapidAPI, returns live listing data including price, Zestimate, and rent estimate
- Investment scoring — calculates rent ÷ price ratio and scores each listing (Excellent ≥1%, Good ≥0.8%, Fair ≥0.6%, Poor <0.6%)
- Map — Leaflet.js with OpenStreetMap tiles, color-coded pins per score, loads instantly via
leafletReady state pattern