point.dog

Hamilton Agency

Real-time MLS search for an Athens real estate brokerage.

MLS-driven landing pages that rank for every neighborhood. Hamilton can run hyper-local Google Ads with property feeds — competitors paying $500/mo for SaaS MLS widgets cannot.

Stack Astro Railway PostgreSQL SourceRE / RESO Cloudinary
Visit live site →

The problem

Hamilton Agency is a residential real estate brokerage in Athens, GA. Their old website was a WordPress shell with an iframe MLS widget — the same widget every other broker in the country was using. Slow to load. Awful to search. Worse to rank for.

More importantly: every property search drove a Google Ads click that bounced. The bounce rate on the MLS pages was killing their Quality Score.

What we built

A custom MLS backend on Railway:

  • PostgreSQL database with a RESO-compliant schema — the standard real estate listing format, normalized so every field is queryable.
  • Hourly sync from SourceRE (Hamilton’s MLS provider) — listings, photos, status changes, open houses. All structured. All searchable.
  • Photo pipeline — every property image normalized, uploaded to Cloudinary, served fast with responsive srcsets.
  • Express.js API with rate limiting, query optimization, and aggressive caching.

On top of that, an Astro frontend at hamilton.agency — full-page property listings, map search, neighborhood filters, agent assignment.

Why this is a marketing win

The site ranks for “homes for sale in [Athens neighborhood]” because every listing is a real, indexed page on Hamilton’s domain — not a third-party iframe. Google can crawl it. Users can deep-link to it. Social shares show real OG cards.

When Hamilton runs Google Ads, the landing page loads in under a second, displays the actual properties matching the search, and converts at 3–4× the iframe-widget industry baseline.

Every other broker in town is renting an MLS widget that Google won’t rank.

Tech stack notes

  • Migrated from Vercel to Railway when we needed Postgres + cron jobs in the same place
  • RESO schema design upfront paid off — adding new search filters takes 10 minutes
  • Photo CDN handles 800+ active listings × 15 photos × responsive sizes without breaking the bandwidth budget

Got a backend that's holding back your marketing?

We'll take a look. No obligation. We don't take every project — but if it's a fit, we'll tell you.

Talk to us