Product · Web App + Chrome Extension

RentSaver

TypeChrome Extension + Web App
StackNext.js 15 · React · Firebase · Playwright · Chrome MV3
StatusActive Beta

Apartment hunting means juggling a dozen browser tabs, copy-pasting addresses into notes apps, and losing track of listings before you can revisit them. RentSaver solves the chaotic part: one click saves any rental listing to a persistent dashboard where you can compare, annotate, and track availability across every major platform.

The system is a monorepo with three moving parts. A Chrome Extension (Manifest V3, vanilla JS) reads live listing pages — including authenticated Facebook Marketplace pages that can't be scraped from a server — and extracts structured property data via platform-specific extractors. A Railway-hosted Playwright scraper handles server-side extraction for platforms that allow it. A Next.js 15 web app backed by Firebase Auth and Firestore serves as the dashboard: saved properties sync in real time, an availability checker polls listings for status changes, and a side-by-side comparison view lets you evaluate listings without reopening tabs.

Currently in active beta on the Chrome Web Store. Early testers exposed real edge cases fast — Facebook's bot detection, Kijiji's lazy-loaded images, false-positive availability checks — and the extraction layer has been progressively hardened. The dual-extractor architecture (browser-side vs. server-side) turned out to be the right call: it's the only way to cover authenticated platforms without requiring users to hand over credentials.

The project also doubles as a full product build: it has a marketing site, a design system grounded in a single token file, and an internal Marketing HQ dashboard for launch planning. Building the whole stack solo meant making deliberate scope calls — several nice-to-haves (root layout refactor, full mobile paste-link support, the "request a site" popup button) are documented and deferred rather than half-shipped.

Tech Stack
Next.js React Firebase Firestore Chrome Extensions API Playwright Tailwind CSS Vercel Railway