Owner: CTO · Audience: Executive, Board, Engineering Leads · Read: 5 min · Next review: Q3 2026
ArdaLink Web hosts the two user-facing surfaces of the platform.
| Component | Status | Notes |
|---|---|---|
| Operator Dashboard (React 19 + Vite) | ✅ Skeleton | Migrates Phase 3 |
| Public Talk (React 19 + Vite) | ✅ Skeleton | Migrates Phase 3 |
| Shared API hooks | 🔜 Phase 3 | Orval-generated from ardalink-api OpenAPI |
| Multi-tenant UI guards | 🔜 Phase 2 | Hide/show per tenant claims |
| CI gating | ✅ Configured | ESLint + tsc + vitest enforced |
| Container image (static) | 🔜 Phase 5 | Served via Caddy |
Two browser apps that turn satellite intelligence and pastoralist voice into a map operators can read and a conversation anyone can have.
- Live migration is large —
WardMapLive(15 KB),CallModal(11 KB),dashboard.tsx(67 KB). Owner: Phase 3, audited PR-by-PR. - Realtime key leakage — browser holds ephemeral Realtime key. Owner: Phase 8 (security baseline).
- No design system contract yet — Phase 7 will pin the component library.
- Map provider (current: OSM tiles; paid option for SLA?).
- Static asset CDN strategy.
- Public Talk rate-limit UX (free-tier boundary).
| When | Milestone | KPI |
|---|---|---|
| Week 1 | Phase 3 code migration | v0.2.0 released |
| Week 2 | Generated hooks wired | All queries typed end-to-end |
| Week 4 | E2E smoke (Playwright) green | No regression |
| Q3 2026 | Multi-ward pilot UI | Operators see tenant-scoped data |