VG-Solutions

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.

100
Lighthouse SEO
100
Lighthouse best practices
0
Cumulative layout shift

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.

Начать проект

Обсудить проект

Удобнее почтой? Напишите нам напрямую: vlad@vg-solutions.net