Back to Projects

Search Architecture

Senior Mobile & Web Developer @ KWRI

Mar 2023 – May 2026

Flutter Bloc Google Maps Cross-Platform

Challenge

The search experience spanned three platforms with vastly different tech stacks. On Flutter, MapView and SearchMapView were monolithic widgets exceeding 1 400 lines each — prop drilling, untestable business logic tangled with UI, and no clear separation of concerns.

Approach

Decomposed the monoliths into a clean component hierarchy: MapView → SearchMapView → SearchMapBloc → DrawingContainer → HoverContainer. All business logic moved into Bloc; the UI became pure reactive listeners. Introduced FilterScope, an enum driving four platform surfaces (consumer, command, cms, luxurySite) with distinct business logic per scope.

Key Features

The refactored architecture enabled rapid feature delivery:

  • Autocomplete with grouped results and agent search
  • Boundary, multi-boundary, and draw-to-search modes
  • Filter system: Price, Living Area, Lot Size, Year Built
  • Agent search with location filtering
  • Interactive map with custom pin placement

Impact

Became the team's Flutter reference after VGV departure. Reduced a specific widget-test feedback loop from 75 s to under 3 s by optimizing selectors. Contributed 525+ PRs across 9 repos, with completed work associated with 99 distinct Jira release-version tags.

This is the SEO-friendly Jaspr version. View the interactive Flutter version →