"use client"; import Link from "next/link"; import { LinkButton } from "@/components/ui/Button"; import { Card } from "@/components/ui/Card"; import { Badge } from "@/components/ui/Badge"; import { useAuth } from "@/components/AuthProvider"; import { LiveView } from "@/components/LiveView"; const CAPABILITIES = [ { title: "Incidents, not raw calls", body: "Individual transmissions are correlated into a single incident — a pursuit becomes a path through every checkin point, a structure fire becomes a pin at the dispatched address.", }, { title: "AI transcription & extraction", body: "Every call is transcribed and scanned for units, vehicles, and locations, so an incident page reads like a briefing instead of a call log.", }, { title: "Live map, full history", body: "Watch what's happening right now, or scrub back through history to see how an incident unfolded call by call.", }, { title: "Field SDR nodes", body: "Lightweight edge nodes decode P25 and analog police/fire traffic and stream it to your account — deploy one node or a whole regional network.", }, { title: "Discord voice relay", body: "Pipe live radio audio into a Discord channel so your team can listen along in real time, no separate scanner app required.", }, { title: "Role-scoped access", body: "Admins, operators scoped to the nodes they own, and read-only viewers — invite your team with the access level that fits.", }, ]; const STEPS = [ { n: "01", title: "Deploy a node", body: "Point a field SDR node at your local P25 or analog system. It streams decoded audio to your DRB account over the network." }, { n: "02", title: "We transcribe & correlate", body: "Calls are transcribed, entities are extracted, and related calls are correlated into incidents automatically." }, { n: "03", title: "Your team watches", body: "Incidents show up on the live map and dashboard with an AI summary, units on scene, and every related recording." }, ]; function MarketingHomePage() { return (
{/* Hero */}
Public-safety radio intelligence

See what's happening on the radio, as an incident — not a wall of calls.

DRB turns field SDR nodes into a live public-safety picture: police/fire radio is decoded, transcribed, and correlated into incidents you can watch on a map or scrub back through in history — with a Discord bot to relay the audio live to your team.

Request access Sign in
{/* Capabilities */}

The unit of value is the incident

A scanner feed is noise. DRB's job is to turn that noise into a small number of things you actually care about — and let you click into any one of them for the full picture.

{CAPABILITIES.map((c) => (

{c.title}

{c.body}

))}
{/* How it works */}

How it works

{STEPS.map((s) => (

{s.n}

{s.title}

{s.body}

))}
{/* Pricing — Gate A (minutes #42/#62): no price on a public surface. */}

Pricing is in development

We would rather talk to you about what you need than post a number we would have to walk back. Tell us about your coverage area and we will figure it out together.

More on pricing →
{/* Final CTA */}

Bring your first node online

Tell us about your coverage area. We will get you a node online and you will see incidents within minutes of your first call.

Request access
); } /** * "/" is marketing for a signed-out visitor and Live (the map) for anyone * signed in — see UI_REDESIGN.md §3, "the map is the home screen". A user * with no org_id yet still sees marketing (unchanged — that's the * pre-redesign behaviour for an unprovisioned account, out of scope here; * ChromeSwitcher's own no-claim guard only fires off marketing paths). */ export default function HomePage() { const { user, loading, orgId } = useAuth(); if (loading) return null; if (user && orgId) return ; return ; }