A fast, self-hosted explorer for the public rental and agency reviews published by shitrentals.org.
It combines the property and agency tables into one searchable dataset, links matching agency names, ranks repeat offenders, and maps reviews at suburb level.
npm install
npm run sync
npm run devOpen http://localhost:5173.
npm run syncrefreshes the checked-in snapshot from the public Airtable share and updates locality coordinates.npm run cross-referenceflags reviewed properties that are currently listed for rent, writingdata/rental-matches.{json,csv}(gitignored). It scrapes homely.com.au public pages (no credentials required). Useful flags:--limit N,--state VIC.npm run devstarts Vite and the Hono API.npm run verifyruns lint, tests, and the production build.npm startserves the API and a built frontend onPORT(default3001).
The generated SQLite database is local and ignored by Git. On first start it is
rebuilt from data/reviews.json.
Each directory has its own README with the details:
server/— Hono API and SQLite database.src/— React + Vite frontend.scripts/— Airtable sync and rental cross-reference.shared/— pure helpers shared by server and scripts.data/— the review snapshot and generated artifacts.test/— Node test-runner tests.
No credentials or .env file are required to run the app or the data scripts.
Optional runtime overrides (PORT, DB_PATH) can be set as ordinary
environment variables.
- Source reviews remain read-only and retain their Airtable record IDs.
- Agency correlation is name-based and intentionally conservative.
- Map points are approximate suburb/locality centroids, not exact properties.
- Temporary Airtable access signatures and attachment URLs are never stored.
- Review text remains the responsibility of the upstream publisher.