Back to Work

Case study

Island Watch

A Vancouver Island public-status trust layer for scattered official updates.

It combines ferry, road, weather, wildfire, evacuation, transit, and other regional updates so people can quickly check what may affect their day.

Island Watch dashboard showing Vancouver Island updates with map context and source-linked details

Live capture from islandwatch.ca showing map context, active updates, route checks, and source-linked details.

What it is

Island Watch is a Vancouver Island public-status surface. It helps people see what may affect travel, access, weather, and regional movement without opening a pile of separate source pages.

Who it is for

Residents, commuters, and travellers who want a quick daily check before leaving home or planning a route.

What I built

A map-first interface backed by scheduled feed ingests, normalized alert storage, region filters, route checks, and source-linked detail panels.

Why it matters

Most public updates are useful but scattered. Island Watch makes those updates easier to scan in one calm interface while keeping official sources visible.

Key features

  • Map + list layout for current regional updates across Vancouver Island
  • Check mode for monitored regions, corridors, and ferry-connected travel
  • Region filters for Greater Victoria, Cowichan/Malahat, Nanaimo/Oceanside, West Coast, Comox Valley, Campbell River, North Island, and Gulf Islands
  • Detail drawers with category, source, freshness, and original links
  • Stale-data labels and source-status reporting when upstream feeds degrade

Data sources

  • DriveBC Open511 road events
  • BC Ferries service notices and status updates
  • BC Transit GTFS-RT service alerts
  • Environment Canada weather alerts
  • BC Wildfire current fire locations and perimeters
  • BC Evacuation Orders and Alerts boundaries

Portfolio proof

Signals a hiring manager can verify quickly.

Product judgment

The interface prioritizes quick scanning: map context first, then filter and inspect. It is built for daily use, not incident theatrics.

Implementation detail

Different providers publish data in incompatible formats. The backend normalizes those feeds so the frontend can compare updates consistently.

Trust behavior

Source names, timestamps, and original links stay close to each alert so users can verify and follow through without hunting.

Clear boundary

Island Watch supports awareness. It does not replace official instructions or emergency services.

Behind the scenes

The hard part was not the map.

Island Watch looks like a map dashboard, but the harder work is source trust, freshness, alert normalization, regional relevance, and official handoff. I wrote about the product and engineering decisions behind the system.

Read how Island Watch was built

Technical notes

  • Next.js, React, TypeScript, Tailwind, Leaflet, Supabase, and Vercel
  • Provider adapters for road, ferry, transit, weather, wildfire, and evacuation sources, with outage-style feeds treated conservatively when source permissions or product fit require it
  • Normalized alert schema across source type, severity, timestamps, region coverage, and affected route context
  • Scheduled ingest + trust-state handling so stale or partial source data is surfaced clearly in the UI

Boundary

Island Watch helps with regional awareness. For emergency instructions or service decisions, people should always use official agencies and source links.