Google-Maps-style reviews, Reddit-style threads — for ordinary homes.
A mashup of two familiar experiences:
- Google Maps reviews experience. Search for an address or click anywhere on the map. The selected home opens in a details pane on the left, just like a normal Google Maps place.
- Reddit-style threads. Each review on a home is a post. Anyone can reply, and replies can have their own replies. Reviews and every comment in the tree can be upvoted or downvoted.
- Next.js 14 (App Router) + TypeScript
- Tailwind CSS
@vis.gl/react-google-mapsfor the Google Maps integration (Maps JavaScript API + Places Autocomplete + Geocoding)- Client-side
localStoragestore for reviews/comments/votes (no backend needed to try it)
npm install
cp .env.example .env.local
# fill in your Google Maps API key
npm run devOpen http://localhost:3000.
You need a Google Maps JavaScript API key with the following APIs enabled in your Google Cloud project:
- Maps JavaScript API
- Places API (for address autocomplete)
- Geocoding API (for click-to-place)
Put the key in .env.local:
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=...
# optional, recommended for Advanced Markers:
NEXT_PUBLIC_GOOGLE_MAPS_MAP_ID=...
- Search for an address in the sidebar, or click the map to reverse-geocode a spot to a home.
- The details pane opens on the left with that home's info and any existing reviews.
- Click Write a review to leave a star rating and written review.
- Each review is a thread: reply to the review, reply to replies, and upvote/downvote anything.
Everything is stored in localStorage under the rhr:data:v1 key. A small set
of seed data ships with the app so the interface has something to show on first
load. Clearing site data resets the app.