Top Properties — a Toronto realtor's site, wired into the MLS
Client work: a bilingual listings site for a Toronto realtor, pulling live board data through AMPRE/TRREB instead of hand-maintained listings.
The brief
An individual realtor competing against brokerage-issued template sites that all look identical, load slowly, and show listings that are a day or two stale. The previous site was one of those — a hosted agent-platform template on Bootstrap 3.
What was delivered
A bilingual listings site built as a custom application, with the property data coming live from the Toronto board through AMPRE/TRREB rather than being copied in by hand. English and Russian both served from the same codebase, which matters in a market where a meaningful share of buyers prefer to read the details in Russian.
The enquiry path is kept short enough that a buyer looking at a property on a phone can reach the agent without a second thought.
How it was built
Next.js App Router and TypeScript on Vercel, Supabase for data, PostHog for product
analytics, and OpenStreetMap/Carto for maps. The production site runs under a strict
content security policy — object-src 'none', frame-ancestors 'none', upgraded
insecure requests — which is unusual for a realtor site and takes a deliberate pass
to get right without breaking the map and analytics embeds.
It scores 100 for SEO and 100 for best practices on mobile, with no layout shift.
What this demonstrates
Client work, shipped and live: brief to production site for a real business in Toronto, including the part most realtor sites skip — a real MLS integration rather than a listings page somebody has to remember to update.
Related services: Websites · Websites for contractors · White-label development for agencies
FAQ
Yes — topproperties.ca is the production site.
Live board data through AMPRE/TRREB, not a spreadsheet an assistant keeps up to date.