Events, tours & experiences discovery platform · Angular SSR

Map-Based Events & Discovery Platform

Owned the interactive Google Maps discovery flow on an Angular Universal (SSR) platform — idle-driven search, request cancellation, and category pin rendering.

AngularSSRGoogle MapsNgRxPWA
189
commits — 3rd of 28 contributors
+12.5k
net lines across 401 files
End-to-end
ownership of the map-search discovery flow

The problem

A discovery platform let visitors find events, tours and experiences by dragging across a map — but naive map handling fired an API call on every pan and zoom event, causing call storms, double requests, and out-of-order results.

The approach

  • Replaced per-event firing with a Google Maps `idle` handler so results refresh only once panning or zooming settles — eliminating call storms.
  • Added stale-request cancellation: in-flight requests are cancelled when a new one starts, killing the double-API-call and reverse-order bugs on zoom and city search.
  • Implemented drag-to-search and city lat/lng search with automatic re-centring, so the result set follows wherever the user looks.
  • Rendered category and sub-category map pins (Sports, Tours, Adventure, Arts) driven off the API's category tags with custom SVG markers; authored the most-iterated search and carousel components.

The outcome

  • Owned the interactive Google Maps discovery flow end to end on an Angular Universal (SSR) + NgRx + PWA platform built for fast first paint and SEO.
  • 3rd-most-active of 28 contributors (189 commits, +12.5k net lines across 401 files), concentrated in the public-facing discovery experience (~11k net lines).
  • Authored the core search surface — the most-revised files in the repo's history — plus the shared carousel, public header, date-wise filtering, and explore-more flows.

Honest note: Contribution figures are exact counts from the repository's git history over the active window (Aug–Dec 2021). Client name withheld.