━━ FEATURE · COMMUNITY ALERTS
Spotted a police trap? Tap once.
Two cars later, the next driver knows. codriver is built around three contribution paths that feed one consensus map — every driver is a sensor, every drive-by is a confirmation, and the platform owns the data layer so the network doesn't break when any single feed does.
One tap opens this · pick a kind · you're done
━━ THREE PATHS · ONE PIPELINE
How the map fills itself.
1 · In-app "+"
Tap a "+" on the Tesla screen, pick a kind (police, hazard, construction, road-closed). Position, heading and speed snap to the report automatically — no typing, no menu diving. Your report lands in seconds.
2 · Drive-by confirm
When you approach a proposed pin in your forward cone (~80 m, heading-aligned), a non-blocking toast asks 👍 or 👎. Three independent confirms promote it to confirmed; disputes do the opposite. The toast never blocks the map.
3 · Subscribable feeds
Curated public feeds in Settings — provincial 511 traffic, Hydro-Québec power outages, road-closure overlays — one click to subscribe. Or register your own private feed and only you see those entities.
━━ ANTI-GRIEF BY DESIGN
Open contribution, not open season.
Crowd-sourced doesn't mean unsupervised. The pipeline has four anti-abuse layers built in, all enforced server-side:
- Per-device rate limits. One propose-new per 60 seconds; one confirm + one dispute per entity per 24 hours. Enforced at write time on the server.
- Visible immediately, then scored. A new report is shown to every driver in range the moment it is posted — there is no confirmation quorum standing between you and the map, which matters most in the places with the fewest drivers. It sits as
proposed, promotes toconfirmedon the first independent confirm, and falls todisputedat a 0.2 sigmoid confidence threshold. - One driver is enough to retire a pin. Waiting for five disputes is no use on a road that sees one codriver car a day. So a thumbs-down on a report nobody has confirmed hides it for everyone straight away — including reports relayed from an external feed, which keep re-sending an incident long after it has cleared. It comes back if the source still reports it once the window lapses, and a single thumbs-up from anyone restores it at once. Once a pin has been confirmed, disputes go back through the consensus maths.
- Trust-weighted scoring. Each user has a trust score (default
1.0) that compounds with the layer trust on every observation. Confidence =1 / (1 + exp(-(Σ confirm·w − Σ dispute·w) / 3)). A driver with a track record earns more weight per tap; a serial griefer earns less. - TTL decay on dispute. Every dispute halves the entity's remaining TTL (floor 60 s). A wrong pin disappears in minutes, not hours. Confirmed pins reset to the full kind TTL on every confirm.
━━ FAQ
What drivers actually ask
How fast do alerts surface after I tap?
Seconds, and no quorum. The in-app one-tap report posts immediately and every other driver within range gets the pin on their next map refresh (every 5–10 seconds depending on speed) — it does not wait to be confirmed by anyone. Drive-by confirmations from drivers right behind you add weight in real time.
What happens to a false report?
Drive-by drivers can dispute it the same way they confirm — a 👎 toast when they pass the spot, on any pin whatever its source. If nobody had confirmed the report, one dispute hides it for everyone immediately; otherwise disputes accumulate against the consensus score, and entities that fall below threshold for more than 24 hours auto-retire. The reporter's trust weight also drops slightly, which makes their future reports count for less.
Can I see who reported something?
No. Reports are anonymous by default. Server-side we keep a hashed device fingerprint for rate-limiting and abuse signals, but it's never surfaced in the UI. Privacy isn't a setting — it's the default.
Can I add my own data feed?
Yes. Power users can register a private external feed via /v2/feeds — push a token-protected POST endpoint or point us at a pull URL. The feed maps to a layer you own; entities are visible only to you unless you request the public catalog (which requires platform approval). See /developers for the full spec (endpoints, kinds catalog, payload format, stability commitments).
What incident kinds can I report?
Today: police, accident, road-closed, construction, and hazard with subtypes — pothole, animal-on-road, and flooding already ship as alert.hazard.* kinds. Next on the catalog: dedicated first-class kinds with their own icons (instead of nesting under hazard) and EV-specific kinds (broken charger, blocked stall). The kind catalog is platform-owned, so adding a new kind is a one-line schema seed plus an icon.
What stops someone from spamming the map?
Three layers: rate limits per device fingerprint (one propose-new per 60 s), per-user caps (one confirm + one dispute per entity per 24 h, and a vote has to come from near the pin), and the consensus engine itself — trust-weighted scoring means a serial false-reporter's taps count for less over time, and one thumbs-down on a pin nobody has confirmed hides it for everyone. Sybil-resistance tightens further once Tesla-pair activation becomes a trust prerequisite.
New to it? The step-by-step guide to reporting police & hazards from your Tesla walks through the whole flow.
Be the network, not just a consumer of it.
Every feature free during the beta. No card needed.