All projects
Client product · End-to-end design and engineering

Move With Musto.

From the home search to the first inquiry.

I designed, built, and maintain Move With Musto for real-estate agent Mai Ly Musto. Buyers can search, save, and compare homes, then send an inquiry with the relevant property details.

The live homepage introduces Mai Ly Musto and the buyer and seller journeys.
Context
Client delivery
Role
End-to-end product, data-pipeline, and production ownership
State
Production client experience
Listing data
Versioned listing updates with freshness checks
02

The context

A home search
buyers can rely on.

Mai Ly Musto needed a site where buyers could explore homes and sellers could learn how to get started. Property search also needed dependable listing updates, clear contact paths, and publishing checks for MLS and brokerage requirements.

Real-estate marks, brokerage affiliation, and MLS data have specific usage rules.

Property inventory is a periodically refreshed snapshot, not a real-time or continuously synchronized feed.

Raw MLS PIN exports, quarantined rows, private ingestion settings, credentials, and geocode caches stay out of public listing assets. Required brokerage and legal disclosures remain public.

Production inquiry delivery must preserve consent, unsubscribe, abuse-control, rate-limit, failure, and delivery handling.

03

My contribution

From the first screen
to the listing pipeline.

I designed, built, deployed, and maintain the product, from buyer and seller journeys to property search, MLS publishing, cloud delivery, inquiries, and release checks.

  1. 01

    Designed and built responsive pages for buyers and sellers, including property discovery, neighborhood guides, and contact paths.

  2. 02

    Built property search with URL-restorable filters, list/gallery/map modes, saved homes, comparisons, and on-demand details.

  3. 03

    Built the private MLS ingestion and immutable publishing pipeline with freshness, schema, and publication gates.

  4. 04

    Implemented live SES inquiry delivery, GitHub Actions and Amplify deployment, browser verification, and brand-compliance checks.

04

The decisions

Keep search useful.
Keep data current.

01

Keep the home search connected

Buyers can filter listings, switch between list, gallery, and map views, save homes, compare options, and inquire. Filters are stored in the URL so a search can be restored.

02

Separate private source data from public listings

Raw exports and review material stay private. Only reviewed, sanitized search and detail assets enter the public site.

03

Withhold stale or invalid listings

Build and runtime checks withhold inventory when the listing bundle is missing, malformed, or older than the approved freshness window.

04

Check domain rules before release

Brand, legal, and publishing checks are part of the release workflow, alongside tests for property search and inquiry delivery.

Search, save,
and compare.

Buyers can narrow the search, keep a shortlist, and compare properties before reaching out. This local capture uses fictional listings and AI-generated property photos.

Actual application, captured locally · Fictional listing data and AI-generated property photos · September 2026.
06

Architecture

From a listing upload
to the search results.

Select a layer to see its responsibility and the components involved.

Areas of engineering work
Private IngestionSelect a layer below

Private Ingestion

Private MLS PIN exports pass schema validation and geocode enrichment before a generation manifest is prepared.

  • MLS PIN export
  • Schema validation
  • Geocode enrichment
  • Generation manifest

Immutable Publication

Validated listings are published as immutable S3 generations, with a compact search index and sanitized on-demand details delivered through CloudFront.

  • Compact search index
  • Listing detail assets
  • S3 generations
  • CloudFront pointer

Public Experience

Buyers search, map, save, and compare homes in the Next.js interface. Filters can be restored from the URL, and inquiries carry listing or search context. The app withholds invalid or stale inventory.

  • Property search
  • Interactive map
  • Saved homes + compare
  • Buyer/seller journeys

Verification

Freshness gates, transactional email checks, brand rules, GitHub Actions, Amplify deployment, and live-route verification complete the production path.

  • Freshness gate
  • SES inquiries
  • GitHub/Amplify deploy
  • Playwright checks

Each accepted MLS upload produces an immutable generation, so publication can be validated and traced before the current pointer advances.

Saved homes, comparisons, and inquiry context connect property discovery to contacting the agent.

07

Verification

Check the listings.
Test the journey.

The checks cover what a buyer sees, which listings can be published, and whether inquiries reach the agent with the right context.

  • Brand-compliance check script.

  • MLS publication guard scripts for import-pending and live modes.

  • SES inquiry delivery checks and saved-search/listing context coverage.

  • GitHub Actions production workflow with Amplify deployment and live verification.

  • Playwright smoke tests for key routes, legal pages, unsubscribe behavior, and responsive UX.

  • Browser verification of the production property-search workspace.

Supporting material

  • Immutable MLS publishing

    Private MLS inputs produce validated immutable generations; the public site consumes the current compact index and on-demand listing assets through the data origin.

  • Brand guard

    The site lint path runs the REALTOR brand-rule checker before TypeScript so obvious mark misuse fails locally.

    Open production site (opens in a new tab)
  • Map/search workflow

    The property workspace uses reviewed coordinates first, then browser geocoding fallback only when configured, with a private 30-day geocode cache for import-time enrichment.

    Open live property search (opens in a new tab)
  • Production operations

    Freshness gates protect inventory, SES delivers inquiries with relevant search context, and GitHub Actions deploys the verified build through Amplify.

Buyers can find, save, and compare homes, then send an inquiry with their listing or search context. The live site also supports sellers, while publication and freshness checks keep invalid or stale listing data out of the property experience.

Live site and property search, the MLS publication workflow, SES inquiry delivery, and Playwright checks.

Let's discuss the work
NorthstarIndependent tool · scenario planning