← Map Roadmap
Roadmap
What we have shipped, what we are building, and what is next. ARO Field Atlas is built in public. Every feature traces to a hypothesis about user value.
Wave 0: Switzerland 58
Phase 2A (MVP). Live at aro.travel.
- ✓ Cross-program entity registry POTA + SOTA + WWFF + GMA + IOTA + WWBOTA reconciled into 2,394 canonical entities 2026-05-04
- ✓ Interactive map with clustering MapLibre GL JS with OpenFreeMap, SwissTopo, and aerial basemaps 2026-05-04
- ✓ Coverage Audit (gap detection) 1,283 cross-program gaps + 983 off-radar BAFU sites surfaced for country admins 2026-05-03
- ✓ Government cross-references (BAFU) 1,722 entity matches against 8 Swiss federal inventory layers 2026-05-03
- ✓ Protected-area boundary polygons 1,310 BAFU boundaries toggleable on the map with click-for-info 2026-05-04
- ✓ Live spots (POTA + SOTA on-air) Real-time overlay of currently-active stations, color-coded by mode 2026-05-04
- ✓ SOTA points gradient (SOTLAS colors) Green (1pt) to red (10pt) on map + card + legend 2026-05-04
- ✓ Advanced filters Type, SOTA points, altitude, canton/region, IUCN category, cross-program, candidates, recently-added 2026-05-04
- ✓ Search bar + GPX export Type-ahead search + download all visible entities for handheld GPS 2026-05-04
- ✓ Geolocation + nearest entities GPS positioning, 20km walking-distance nearest panel, auto-recalc on move 2026-05-04
- ✓ NFER multi-activation planning Each entity card shows nearby entities within 5km for two-fers and three-fers 2026-05-04
- ✓ i18n (EN/ES/DE/FR) Paraglide v2 with URL-prefix routing, translated layout + /coverage + /entity 2026-05-03
- ✓ Entity detail pages Full program details, mini-map, verification CTA, government refs, containment, provenance 2026-05-03
- ✓ Callsign personalization ?call=HB9HJU shows POTA stats + per-park activation lookup 2026-05-04
- ✓ /governance commitment Editorial independence, contributor council, takedown procedure, COI disclosure 2026-05-03
- ✓ Admin metrics dashboard 10 hypothesis cards with live signals from CF Web Analytics 2026-05-04
- ✓ Automated test suite 77 tests across 5 suites with pre-commit hook 2026-05-04
- ✓ Daily data sync GitHub Actions scrape + reconcile + D1 load at 03:00 UTC 2026-05-03
- ✓ ATNO indicator (never-activated entities) Golden stroke on map, ATNO badge on cards, filter toggle for zero-activation entities 2026-05-04
- ✓ Live spots filter (program/band/mode/recency) Filter on-air spots by POTA/SOTA, HF band, mode group, and last-seen time window 2026-05-05
- ✓ On-dot spot labels + last seen Callsign and band rendered on each live spot marker. Click popup shows relative time. 2026-05-05
- ✓ Distinct spot color palette Cyan/magenta/yellow/grey neon colors for spots, separate from entity program colors 2026-05-05
- ✓ "None" entity filter Hide all entities to focus on live spots, boundaries, or other layers 2026-05-05
- ✓ Touch-friendly controls + extended zoom 44px targets on touch devices, minZoom 1 for world view, maxZoom 18 for precision 2026-05-05
- ✓ SOTA spots fix (coordinate resolution) SOTAwatch spots now display correctly via summit detail API lookup with session cache 2026-05-05
- ✓ Country filter + location grouping Country dropdown (ISO 3166-1) auto-populated, region (ISO 3166-2) scoped to country 2026-05-05
- ✓ Unified touch-first design system 44px touch targets, ISO region normalization, consistent controls, responsive breakpoints, hidden scrollbars 2026-05-05
- ✓ POTA Liechtenstein (18 parks) Scraper fetches CH + LI. 12 POTA+WWFF merges. Country derived from reference prefix. 2026-05-05
- ✓ Dominican Republic (DO): 632 entities 200 POTA parks + 418 SOTA summits + 15 WWFF reserves. Second country on the platform. 2026-05-05
- ✓ DO boundary polygons (WDPA) 46 protected area polygons from UNEP-WCMC/IUCN. Boundary toggle loads CH + DO. 2026-05-05
- ✓ Server-side API proxy Zero external calls from browser. Spots (5min), stats (24h), activations (1h) cached server-side. 2026-05-05
- ✓ Boundary simplification (91% smaller) Douglas-Peucker: CH 12.5MB to 1.2MB, DO 2.6MB to 180KB. 2026-05-05
- ✓ Multi-role audit (5 broken, 10 bruised fixed) 8-role stress test: legend, noindex, em dashes, focus trap, WWBOTA, links. 2026-05-05
- ✓ Compact controls + toolbar grouping Language dropdown, cycling theme, toolbar separators, compact footer. 2026-05-05
- ✓ Copy coords, share link, distance from you Clipboard with toast feedback. Share entity URL. Distance when GPS active. 2026-05-05
- ✓ Sitemap with 3,013 entity pages Dynamic sitemap from D1. Entity pages now indexable by search engines. 2026-05-05
- ✓ Spots freshness + age-based opacity POTA UTC fix. Dots fade with age. Freshest-first sort. 2026-05-05
- ✓ Mobile hamburger menu Nav, language, and theme grouped in a responsive hamburger on mobile screens. 2026-05-06
- ✓ i18n body content (6 pages) /about, /governance, /privacy, /roadmap, /why, /net translated to ES/DE/FR via Paraglide message keys. 2026-05-06
- ✓ Snappy locale switching Language change uses SvelteKit client-side navigation instead of full page reload. 2026-05-06
- ✓ Cycle 3 multi-role audit (18 roles) Expanded from 13 to 18 roles. 9 broken fixed, 12 bruised tracked, 17 held. 2026-05-06
- ✓ Net archive browser (250 cycles) Full 4-year history of the ARO JS8/Winlink Weekly Net. 849 check-ins from 68 operators across 10 countries. Archive with operator messages, stats, heatmap, awards. 2026-05-07
- ✓ Net participant map layer Purple dot overlay showing net check-in locations. Click for operator info + message. 2026-05-07
- ✓ Net stats dashboard (8 cards) Check-ins, operators, countries, grids, activity rate, avg/week, best week. Century Club + tiered awards. 2026-05-07
- ✓ Winlink MIME parser + ack automation 5,755 messages classified. 64 personalized acks generated in RMS Express outbox. 2026-05-07
- ✓ Unified sidebar drawer (desktop + mobile) All map controls in a collapsible sidebar. Hamburger button, backdrop dismiss, keyboard toggle (S key). 2026-05-10
- ✓ Layers panel (boundaries + overlays merged) Protected areas, hiking trails, BLN, moors, wildlife reserves, dry meadows. Click for federal datasheet via SwissTopo identify API. 2026-05-10
- ✓ 5-source live spots (POTA + SOTA + PSK + RBN + DXC) Reverse Beacon Network CW/RTTY + DX Cluster all-mode. Deduplication across sources. Program ref extraction from DXC comments. 2026-05-10
- ✓ Solar page: multi-source + explanations NOAA SWPC as second source. Explanatory text for all 13 cards. Storm scale badges. VHF phenomenon descriptions. Live band activity chart. 2026-05-10
- ✓ Propagation matrix (continent x band) Shows which HF paths are currently open based on DX Cluster spotter/spotted continent pairs. 2026-05-10
- ✓ HF Bandmap page (/bandmap) Frequency vs time scatter plot. Color by source/mode/band. Auto-refresh 60s. Click to fly to map. 2026-05-10
- ✓ Coverage candidates from boundary data Cross-references 1,356 boundary polygons against entity registry. Surfaces protected areas not yet in POTA. 2026-05-10
- ✓ User guide + contextual help tooltips /guide page with quick start, feature reference, FAQ. HelpTip component on map panels. 2026-05-10
- ✓ Full keyboard navigation 13 shortcuts: S/Esc/L/C/G/X/R/?/+/-/1-6/0. Help modal shows reference grid. 2026-05-10
- ✓ API routes renamed (program-agnostic) /api/stats, /api/activator, /api/activated-entities, /api/park-activations. Old routes redirect 301. 2026-05-10
- ✓ Distance to boundary edge (P2-304) When boundaries loaded, distance uses nearest polygon edge instead of centroid. Solves 'inside park but 5km away'. 2026-05-10
- ✓ iOS keyboard viewport fix visualViewport resize listener scrolls focused inputs into view. viewport-fit=cover meta tag. 2026-05-10
- ✓ Inactive entity filtering + candidate visual Expired SOTA/POTA/WWFF entities hidden. Candidate-only entities dimmed (0.4 opacity, gray stroke, status banner). 2026-05-10
Wave 1: DE + IT + FR 12
Phase 2B start. Extends the registry to Switzerland's neighbors.
- ○ POTA/SOTA/WWFF scrapers for DE/IT/FR Parameterize existing pipeline for 3 more countries (~25k entities)
- ○ Cross-border reconciliation Handle Alpine peaks straddling CH/IT/FR borders
- ○ Per-country government data BfN (DE), Geoportale (IT), INPN (FR) protected-area cross-references
- ○ COTA (Castles on the Air) ~10,000 European castles/fortifications from cota.cc
- ○ LLOTA (Lagos y Lagunas On The Air) Lakes and lagoons worldwide from llota.app. Has public API.
- ○ TOTA (Towers On The Air) 3,952 lookout towers across 9 countries from wwtota.com. DO (HIR) planned.
- ○ DO government cross-references WDPA metadata as proxy until Ministerio de Medio Ambiente publishes open data
- ○ DO coverage gap detection WWFF has ~10% of WDPA areas. 126+ candidate sites for HIFF expansion.
- ○ Region browser (/regions) Browse entities by association/canton/state
- ○ Activator profile page /activator/<call> with activation charts, mini-map, stats
- ○ Live alerts (planned activations) Upcoming activation announcements from SOTAwatch + POTA
- ○ Custom event analytics (P2-44) Workers Analytics Engine for filter clicks, card opens, locale switches
Wave 2+: Europe, US, LATAM 8
Phase 2B mid through 2C. Global expansion.
- ○ UK, Spain, Scandinavia, rest of Europe CEPT-aligned countries, LOTA/WLOTA lighthouses, BOTA beaches
- ○ United States (Wave 3) ~50,000+ POTA parks, FCC reciprocity layer
- ○ Latin America (Wave 4) XE, LU, HK, CE, TI, HC, OA, HI + Caribbean. Full ES content.
- ○ Offline-first PWA wa-sqlite + OPFS + PMTiles regional packs for field use without connectivity
- ○ User submissions + operator confirmation Public workflow with named human reviewers (Phase 2C)
- ○ Route drawing + elevation profile Draw hiking routes on the map with terrain elevation
- ○ Field Guide (/guide) Equipment, antennas, operating procedures, EMCOMM, frequency allocations
- ○ Email alerts for new entities Subscriptions by country/program/type with daily digest