All projects
Independent project · End-to-end design and engineering

Move With Musto.

From the home search to the first inquiry.

I independently 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 operational website is temporarily showing a landing page during a brokerage transition. The case study and sanitized source edition remain available for review.

Homepage capture from the completed application, before the brokerage transition.
Context
Independent project
Role
End-to-end product, data-pipeline, and production ownership
Review
Case study and sanitized source edition
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 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. Try the interactive demo with completely fictional listings, illustrative photos and simulated inquiries.

Actual application, captured locally · Fictional listing data and illustrative 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.

    Review source and checks (opens in a new tab)
  • Map/search workflow

    Geocoding happens during private listing processing. The browser uses validated coordinates from the published location sidecar to place properties on the map.

    Review search implementation (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 application also supports sellers, while publication and freshness checks keep invalid or stale listing data out of the property experience.

Case study, sanitized source edition, MLS publication workflow, SES inquiry delivery, and Playwright checks.

Let's discuss the work
NorthstarIndependent tool · scenario planning