Job Type: Hobby
Realtor Block is a real estate listings platform I built to get a full-stack setup right end to end, authentication, a relational database with row-level security, file storage, and a third-party mapping API, rather than another CRUD app with a map bolted on.
Agents sign in through Clerk (email or social login) and manage their own listings: photos, price, bed/bath/parking counts, and availability. Listing data lives in Supabase Postgres with a normalized schema and Row Level Security policies, so an agent can only edit their own listings at the database level, not just behind a UI check that a direct API call could route around. Photos go through Supabase Storage with unique filenames and public access policies.
Search runs on the Google Maps and Places APIs: address autocomplete, geocoding, and an interactive map with listing markers, combined with filters for bed/bath/parking/type so results actually narrow down instead of staying a flat list.
It's built on the Next.js App Router with route groups for listings, agents, and auth, TypeScript throughout, and ESLint for consistency. Running an accessibility audit against the live listings turned up a couple of real issues, a missing accessible name on one icon control and a contrast problem, that are next on the list, which is the kind of thing worth being upfront about rather than claiming a project is more finished than it is.













