Spaces:
Running
Running
| <html lang="en" class="jetbrains_mono_68d574a-module__ggYvfa__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/0-9w4s7c6xtvk.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/310vm2bl3xxpt.js"/><script src="/_next/static/chunks/2mmpezlrfmbu5.js" async=""></script><script src="/_next/static/chunks/3e4keds9ktjdu.js" async=""></script><script src="/_next/static/chunks/09acbkyiffhmk.js" async=""></script><script src="/_next/static/chunks/turbopack-42u0ebbwz0w9w.js" async=""></script><script src="/_next/static/chunks/3fntmmi971322.js" async="" crossorigin=""></script><script src="/_next/static/chunks/0o30atouitu-3.js" async="" crossorigin=""></script><script src="/_next/static/chunks/2p594__5egvvs.js" async="" crossorigin=""></script><title>ApexSignal — Technical Walkthrough</title><meta name="description" content="How ApexSignal actually works: the pipeline stage by stage, the models, the thresholds, and where each lives in the codebase."/><meta property="og:title" content="ApexSignal — The Silent Co-Driver"/><meta property="og:description" content="A public, interactive incident replay connecting driver radio to telemetry evidence and historical memory."/><meta property="og:url" content="https://apex-signal-sigma.vercel.app/"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="ApexSignal — The Silent Co-Driver"/><meta name="twitter:description" content="A public, interactive incident replay connecting driver radio to telemetry evidence and historical memory."/><link rel="icon" href="/icon.svg?icon.1fi2ifkq8n3ga.svg" sizes="any" type="image/svg+xml"/><meta name="next-size-adjust" content=""/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main class="min-h-screen bg-bg pb-24 pt-20"><header class="fixed inset-x-0 top-0 z-50 flex items-center justify-between border-b border-rule bg-bg/92 px-6 py-3.5 text-[10.5px] uppercase tracking-[0.16em] backdrop-blur"><a href="#hero" class="font-semibold text-ink"><span class="mr-1 text-red">▌</span>ApexSignal</a><nav class="hidden items-center gap-5 md:flex"><a href="#pipeline" class="text-dim transition hover:text-red">how it works</a><a href="#live-pipeline" class="text-dim transition hover:text-red">live pipeline</a><a href="#live" class="text-dim transition hover:text-red">inspector</a><a href="#evidence" class="text-dim transition hover:text-red">evidence</a><a href="#human-loop" class="text-dim transition hover:text-red">human-in-the-loop</a><a class="border border-teal/50 bg-teal/5 px-2.5 py-1 text-teal transition hover:bg-teal hover:text-bg" href="/technical/index.html">technical walkthrough</a><div class="relative"><button type="button" aria-expanded="false" class="flex items-center gap-1 transition text-dim hover:text-red">more<svg width="8" height="8" viewBox="0 0 10 6" fill="none" class="transition-transform "><path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5"></path></svg></button></div><a href="https://github.com/Deltasthicc/ApexSignal" target="_blank" rel="noreferrer" class="border border-rule px-2.5 py-1 text-dim transition hover:border-red/50 hover:text-red">github</a><a class="border border-gold/50 bg-gold/5 px-2.5 py-1 text-gold transition hover:bg-gold hover:text-bg" href="/login/index.html">engineer console</a></nav><div class="flex items-center gap-2 md:hidden"><a class="border border-teal/50 bg-teal/5 px-2.5 py-1.5 text-teal transition hover:bg-teal hover:text-bg" href="/technical/index.html">Tech</a><a class="border border-gold/50 px-3 py-1.5 text-gold transition hover:bg-gold hover:text-bg" href="/login/index.html">Console</a></div></header><div class="mx-auto max-w-7xl px-6 pt-10"><p class="label-red mb-2">For judges & reviewers</p><h1 class="mb-3 text-2xl font-medium uppercase tracking-[0.03em] text-ink">How this actually works</h1><p class="mb-8 max-w-2xl text-[12.5px] leading-relaxed text-dim">No login required. This is the same technical breakdown the team uses to answer engineering questions — what happens at each stage, which model or piece of code does it, and which numbers are measured rather than guessed.</p><div class="flex flex-col gap-6"><div class="border border-rule bg-bg p-6"><p class="mb-1 text-[9px] uppercase tracking-[0.16em] text-red">Full Architecture</p><h3 class="mb-1 text-lg font-medium uppercase tracking-[0.03em] text-ink">Radio in, evidence out — in depth</h3><p class="mb-6 max-w-2xl text-[11.5px] leading-relaxed text-dim">Not just STT. Four separate hackathon-brainstorm concepts —<!-- --> <span class="text-ink">memory</span>,<!-- --> <span class="text-ink">meaning</span>,<!-- --> <span class="text-ink">evidence</span>, and<!-- --> <span class="text-ink">restraint</span> — merged into one pipeline instead of shipping as four disconnected demos.</p><div class="relative flex flex-col gap-0"><div class="relative flex gap-4 pb-6 last:pb-0"><span class="absolute left-[15px] top-8 h-full w-px bg-rule" aria-hidden="true"></span><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">01</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">A radio call comes in</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">“Rear is moving again when I get back on throttle.” Raw audio, nothing structured yet.</p></div></div><div class="relative flex gap-4 pb-6 last:pb-0"><span class="absolute left-[15px] top-8 h-full w-px bg-rule" aria-hidden="true"></span><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">02</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">Speech becomes text</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">faster-whisper ASR transcribes the call. This alone is what most teams building this brief will ship.</p></div></div><div class="relative flex gap-4 pb-6 last:pb-0"><span class="absolute left-[15px] top-8 h-full w-px bg-rule" aria-hidden="true"></span><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">03</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">The voice is scored for tone</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">Calm, elevated/stressed, or fatigued, with a confidence number.</p><p class="mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal">This is the bare-minimum output the hackathon brief actually required. Everything below is where the real product starts.</p></div></div><div class="relative flex gap-4 pb-6 last:pb-0"><span class="absolute left-[15px] top-8 h-full w-px bg-rule" aria-hidden="true"></span><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">04</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">The complaint is sorted, not diagnosed</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">One of 5 fixed categories — rear grip, front/braking, tyre wear, visibility/track, other mechanical. Never a fabricated diagnosis, just “this is the kind of thing being reported.”</p><p class="mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal">FEEL2PHYSICS concept: free-form driver language mapped to a frozen, defensible taxonomy — not reduced to a sentiment score, not invented on the fly.</p></div></div><div class="relative flex gap-4 pb-6 last:pb-0"><span class="absolute left-[15px] top-8 h-full w-px bg-rule" aria-hidden="true"></span><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">05</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">Checked against the driver's own baseline</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">Not “how a car should behave” in the abstract — this specific driver, this specific session, this specific corner, against their own last 5 laps.</p><p class="mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal">The single biggest differentiator from a generic anomaly detector: no population average, no invented “correct” driving model. A scrappy driver isn't flagged for being themselves.</p></div></div><div class="relative flex gap-4 pb-6 last:pb-0"><span class="absolute left-[15px] top-8 h-full w-px bg-rule" aria-hidden="true"></span><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">06</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">Memory kicks in</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">Past incidents are searched for anything that sounds similar and looks similar in telemetry. Two separate scores — sounds alike, looks alike — never mashed into one fake number.</p><p class="mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal">ECHO LAP concept: nothing is judged in isolation. Every new report is checked against everything reported before — real semantic retrieval + real telemetry fingerprinting, gated together, not blended.</p></div></div><div class="relative flex gap-4 pb-6 last:pb-0"><span class="absolute left-[15px] top-8 h-full w-px bg-rule" aria-hidden="true"></span><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">07</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">Lead time gets measured</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">Literally: how many seconds passed between the driver's warning and the moment the car's data actually got worse. Reported as null, honestly, when the data doesn't support a number — never forced.</p><p class="mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal">The actual product thesis: the driver is a sensor arriving before the graph does. This number is what proves that, per incident, with real seconds — not a claim, a measurement.</p></div></div><div class="relative flex gap-4 pb-6 last:pb-0"><span class="z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red">08</span><div class="flex-1 pt-1"><p class="text-[12.5px] font-medium text-ink">One incident card, not four tabs</p><p class="mt-1 text-[11.5px] leading-relaxed text-dim">Transcript, tone, category, evidence, historical match, lead time, plain-English summary — one screen, one narrative.</p><p class="mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal">RacePulse concept: every claim decomposed into inspectable, separately-labeled components — built to survive a skeptical engineer, or judge, asking “why?”</p></div></div></div><div class="mt-6 border-t border-rule pt-5"><p class="mb-2 text-[9px] uppercase tracking-[0.16em] text-dim">What actually makes this different</p><p class="text-[11.5px] leading-relaxed text-dim">Most teams tackling this brief ship steps 02–03 and call it done — a transcript and a mood badge next to a lap chart. The thesis here is that a single opaque “risk score” is a demo crowd-pleaser and a production liability: a confident number nobody can decompose is what gets a real incident-review committee to switch a system off. Every number in this pipeline traces back to a named piece of evidence, and it says “I don’t know” out loud (<code class="text-teal">INSUFFICIENT_DATA</code>, a<!-- --> <code class="text-teal">null</code> lead time, no match) rather than manufacturing a positive to look impressive. We’re not shipping a smarter transcript — we’re shipping a plug-in layer that sits on top of the telemetry and radio systems a team already runs, and turns them into evidence an engineer would actually trust enough to act on mid-session.</p></div></div><a class="group flex items-center justify-between border border-teal/50 bg-teal/5 px-6 py-5 transition hover:bg-teal/10" href="/technical/system-design-workflow/index.html"><span><span class="mb-1 block text-[9px] uppercase tracking-[0.16em] text-teal">Flowchart + code map</span><span class="block text-base font-medium uppercase tracking-[0.03em] text-ink">System Design Workflow</span><span class="mt-1 block max-w-xl text-[11.5px] leading-relaxed text-dim">A visual, top-to-bottom diagram of the whole radio-to-verdict pipeline, plus every stage's exact file, function, and parameter — the reference to point to when explaining the product or answering a technical question.</span></span><span class="ml-4 shrink-0 text-teal transition group-hover:translate-x-1">→</span></a><div class="border border-rule bg-bg p-6"><p class="mb-1 text-[9px] uppercase tracking-[0.16em] text-red">System Design</p><h3 class="mb-1 text-lg font-medium uppercase tracking-[0.03em] text-ink">Full stack, layer by layer</h3><p class="mb-6 max-w-2xl text-[11.5px] leading-relaxed text-dim">Every box below is a real, running piece of this system — not a planned architecture. Reproduce any layer directly: model IDs and pinned revisions are in <code class="text-teal">services/radio_ai/app/config.py</code>.</p><div class="grid grid-cols-1 gap-3"><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">1</span><span class="mt-1 h-full w-px flex-1 bg-rule"></span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">Audio ingest</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Radio clip (.mp3/.wav)</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>16kHz mono resample (soundfile + scipy or torchaudio)</li></ul></div></div><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">2</span><span class="mt-1 h-full w-px flex-1 bg-rule"></span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">Speech-to-text</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>distil-whisper/distil-large-v3.5-ct2 via faster-whisper (CTranslate2)</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>CPU fallback: Systran/faster-whisper-small.en</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Pinned to a specific commit SHA — no silent model upgrades</li></ul></div></div><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">3</span><span class="mt-1 h-full w-px flex-1 bg-rule"></span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">Acoustic tone model</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>laion/voiceclap-commercial encoder + attribute heads</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Outputs raw Arousal/Fatigue/Quality/Noise scores</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Mapped to CALM / ELEVATED_AROUSAL / FATIGUED by a threshold calibrated on 20 real human-labeled clips — not the model's raw default</li></ul></div></div><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">4</span><span class="mt-1 h-full w-px flex-1 bg-rule"></span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">Complaint classifier</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Production: sentence-transformers/all-MiniLM-L6-v2 embeddings + per-category prototype cosine similarity</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Fallback option: zero-shot NLI (DeBERTa v3)</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>No fine-tuning — the taxonomy description text IS the model input</li></ul></div></div><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">5</span><span class="mt-1 h-full w-px flex-1 bg-rule"></span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">Evidence engine (classical, not ML)</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Own-baseline: median + MAD over the driver's own last 5 laps at that segment</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Retrieval: brute-force cosine similarity, in-memory (corpus is 15–30 incidents — FAISS is four orders of magnitude of complexity this doesn't need)</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Retrieval gate: category match AND cosine ≥ 0.40 — two independent conditions, empirically threshold-set over 247 hand-written phrase pairs</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Lead time: first_observable_change_time − radio_event_time, requires 2 consecutive deviating laps or reports null</li></ul></div></div><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">6</span><span class="mt-1 h-full w-px flex-1 bg-rule"></span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">Storage</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>SQLite (storage/incidents.db) — incident metadata, recurrence flags</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Embeddings — in-memory Python list at process runtime, not persisted to SQLite (corpus is tiny; an index would be overhead, not optimization)</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Contracts — frozen JSON schemas + fixtures in contracts/, the interface every service is validated against</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Telemetry — Parquet windows per incident, read by pandas</li></ul></div></div><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">7</span><span class="mt-1 h-full w-px flex-1 bg-rule"></span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">API layer</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>radio_ai (FastAPI) — POST /v1/radio/analyze</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>core_api (FastAPI) — /v1/incidents/*, /v1/replay/*, /v1/live-pipeline</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>mock_server (FastAPI) — same paths, fixture-backed, for frontend-first development</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>No service imports another's code directly — every boundary is the JSON contract, not a shared library</li></ul></div></div><div class="flex gap-4"><div class="flex flex-col items-center"><span class="flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim">8</span></div><div class="flex-1 border border-rule bg-bg2 p-3 pb-4"><p class="mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink">Frontend</p><ul class="flex flex-col gap-1"><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Next.js 16 (Turbopack), React 18, TypeScript, Tailwind</li><li class="pl-3 text-[10.5px] leading-relaxed text-dim"><span class="mr-2 text-red">·</span>Fetches over HTTP with an embedded fixture fallback baked into the client — stays interactive if the backend is cold-starting</li></ul></div></div></div><div class="mt-5 border border-gold/40 bg-gold/5 p-4"><p class="mb-2 text-[10px] uppercase tracking-[0.16em] text-gold">Direct answer: do we use a generative LLM? Tool-calling? MCP?</p><p class="text-[11.5px] leading-relaxed text-dim"><span class="text-ink">No, deliberately, on all three.</span> No GPT/Claude/Gemini-style generative model is in this pipeline, no agent framework, no tool-calling loop, no MCP server. Every model above is a small, pinned, task-specific pretrained model (an ASR transcriber, a speech-emotion encoder, a sentence-embedding model) — not a chat model reasoning in free text. That’s a product decision, not a limitation: a generative model summarizing “what happened” can hallucinate a plausible-sounding but wrong diagnosis, and there is no way to audit that after the fact. Every number this system produces instead traces to a named, deterministic computation — a threshold, a cosine similarity, a median — specifically so an engineer (or a judge) can ask “why did it say that” and get a real answer, not a plausible-sounding one.</p></div></div></div><p class="mt-8 text-[10.5px] uppercase tracking-[0.14em] text-dim"><a class="text-teal transition hover:text-red" href="/">← back to the live replay</a></p></div></main><!--$--><!--/$--><script src="/_next/static/chunks/310vm2bl3xxpt.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n3:I[58298,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/0o30atouitu-3.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n5:I[22016,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/2p594__5egvvs.js\"],\"\"]\n6:I[18993,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/2p594__5egvvs.js\"],\"TopBar\"]\n18:I[68027,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0-9w4s7c6xtvk.css\",\"style\"]\n:HL[\"/_next/static/media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n16:X\n0:{\"P\":null,\"c\":[\"\",\"technical\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"technical\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0-9w4s7c6xtvk.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3fntmmi971322.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"jetbrains_mono_68d574a-module__ggYvfa__variable\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$3\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0o30atouitu-3.js\",\"async\":true}]],\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"main\",null,{\"className\":\"flex min-h-screen flex-col items-center justify-center gap-4 bg-bg px-6 text-center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"label-red\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"text-xl font-medium uppercase tracking-[0.03em] text-ink\",\"children\":\"No incident at this address\"}],[\"$\",\"p\",null,{\"className\":\"max-w-md text-[12.5px] leading-relaxed text-dim\",\"children\":\"This route is not part of the ApexSignal pit-wall replay. Head back to the incident inspector.\"}],[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"mt-2 border border-rule px-4 py-2 text-[11px] uppercase tracking-[0.14em] text-ink transition-colors hover:border-red hover:text-red\",\"children\":\"Back to pit wall\"}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"main\",null,{\"className\":\"min-h-screen bg-bg pb-24 pt-20\",\"children\":[[\"$\",\"$L6\",null,{}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-7xl px-6 pt-10\",\"children\":[[\"$\",\"p\",null,{\"className\":\"label-red mb-2\",\"children\":\"For judges \u0026 reviewers\"}],[\"$\",\"h1\",null,{\"className\":\"mb-3 text-2xl font-medium uppercase tracking-[0.03em] text-ink\",\"children\":\"How this actually works\"}],[\"$\",\"p\",null,{\"className\":\"mb-8 max-w-2xl text-[12.5px] leading-relaxed text-dim\",\"children\":\"No login required. This is the same technical breakdown the team uses to answer engineering questions — what happens at each stage, which model or piece of code does it, and which numbers are measured rather than guessed.\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"border border-rule bg-bg p-6\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1 text-[9px] uppercase tracking-[0.16em] text-red\",\"children\":\"Full Architecture\"}],[\"$\",\"h3\",null,{\"className\":\"mb-1 text-lg font-medium uppercase tracking-[0.03em] text-ink\",\"children\":\"Radio in, evidence out — in depth\"}],[\"$\",\"p\",null,{\"className\":\"mb-6 max-w-2xl text-[11.5px] leading-relaxed text-dim\",\"children\":[\"Not just STT. Four separate hackathon-brainstorm concepts —\",\" \",[\"$\",\"span\",null,{\"className\":\"text-ink\",\"children\":\"memory\"}],\",\",\" \",[\"$\",\"span\",null,{\"className\":\"text-ink\",\"children\":\"meaning\"}],\",\",\" \",[\"$\",\"span\",null,{\"className\":\"text-ink\",\"children\":\"evidence\"}],\", and\",\" \",[\"$\",\"span\",null,{\"className\":\"text-ink\",\"children\":\"restraint\"}],\" — merged into one pipeline instead of shipping as four disconnected demos.\"]}],[\"$\",\"div\",null,{\"className\":\"relative flex flex-col gap-0\",\"children\":[[\"$\",\"div\",\"01\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"absolute left-[15px] top-8 h-full w-px bg-rule\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"01\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"A radio call comes in\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"“Rear is moving again when I get back on throttle.” Raw audio, nothing structured yet.\"}],null]}]]}],[\"$\",\"div\",\"02\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[\"$L7\",\"$L8\",\"$L9\"]}],\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\",\"$Lf\"]}],\"$L10\"]}],\"$L11\",\"$L12\"]}],\"$L13\"]}]]}],[\"$L14\"],\"$L15\"]}],{},null,false,null]},null,false,\"$16\"]},null,false,null],\"$L17\",false]],\"m\":\"$undefined\",\"G\":[\"$18\",[\"$L19\"]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"llMeKx2KbwClHYKGrlJ9T\"}\n23:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"OutletBoundary\"]\n24:\"$Sreact.suspense\"\n26:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ViewportBoundary\"]\n28:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"MetadataBoundary\"]\n7:[\"$\",\"span\",null,{\"className\":\"absolute left-[15px] top-8 h-full w-px bg-rule\",\"aria-hidden\":true}]\n8:[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"02\"}]\n9:[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"Speech becomes text\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"faster-whisper ASR transcribes the call. This alone is what most teams building this brief will ship.\"}],null]}]\na:[\"$\",\"div\",\"03\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"absolute left-[15px] top-8 h-full w-px bg-rule\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"03\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"The voice is scored for tone\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"Calm, elevated/stressed, or fatigued, with a confidence number.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal\",\"children\":\"This is the bare-minimum output the hackathon brief actually required. Everything below is where the real product starts.\"}]]}]]}]\nb:[\"$\",\"div\",\"04\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"absolute left-[15px] top-8 h-full w-px bg-rule\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"04\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"The complaint is sorted, not diagnosed\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"One of 5 fixed categories — rear grip, front/braking, tyre wear, visibility/track, other mechanical. Never a fabricated diagnosis, just “this is the kind of thing being reported.”\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal\",\"children\":\"FEEL2PHYSICS concept: free-form driver language mapped to a frozen, defensible taxonomy — not reduced to a sentiment score, not invented on the fly.\"}]]}]]}]\nc:[\"$\",\"div\",\"05\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"absolute left-[15px] top-8 h-full w-px bg-rule\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"05\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"Checked against the driver's own baseline\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"Not “how a car should behave” in the abstract — this specific driver, this specific session, this specific corner, against their own last 5 laps.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal\",\"children\":\"The single biggest differentiator from a generic anomaly detector: no population average, no invented “correct” driving model. A scrappy driver isn't flagged for being themselves.\"}]]}]]}]\nd:[\"$\",\"div\",\"06\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"absolute left-[15px] top-8 h-full w-px bg-rule\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"06\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"Memory kicks in\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"Past incidents are searched for anything that sounds similar and looks similar in telemetry. Two separate scores — sounds alike, looks alike — never mashed into one fake number.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal\",\"children\":\"ECHO LAP concept: nothing is judged in isolation. Every new report is checked against everything reported before — real semantic retrieval + real telemetry fingerprinting, gated together, not blended.\"}]]}]]}]\ne:[\"$\",\"div\",\"07\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"absolute left-[15px] top-8 h-full w-px bg-rule\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"07\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"Lead time gets measured\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"Literally: how many seconds passed between the driver's warning and the moment the car's data actually got worse. Reported as null, honestly, when the data doesn't support a number — never forced.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal\",\"children\":\"The actual product thesis: the driver is a sensor arriving before the graph does. This number is what proves that, per incident, with real seconds — not a claim, a measurement.\"}]]}]]}]\nf:[\"$\",\"div\",\"08\",{\"className\":\"relative flex gap-4 pb-6 last:pb-0\",\"children\":[false,[\"$\",\"span\",null,{\"className\":\"z-10 flex h-8 w-8 shrink-0 items-center justify-center border border-red/50 bg-bg text-[10px] text-red\",\"children\":\"08\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 pt-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12.5px] font-medium text-ink\",\"children\":\"One incident card, not four tabs\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[11.5px] leading-relaxed text-dim\",\"children\":\"Transcript, tone, category, evidence, historical match, lead time, plain-English summary — one screen, one narrative.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 border-l-2 border-teal/50 bg-teal/5 py-1.5 pl-3 text-[10.5px] leading-relaxed text-teal\",\"children\":\"RacePulse concept: every claim decomposed into inspectable, separately-labeled components — built to survive a skeptical engineer, or judge, asking “why?”\"}]]}]]}]\n10:[\"$\",\"div\",null,{\"className\":\"mt-6 border-t border-rule pt-5\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 text-[9px] uppercase tracking-[0.16em] text-dim\",\"children\":\"What actually makes this different\"}],[\"$\",\"p\",null,{\"className\":\"text-[11.5px] leading-relaxed text-dim\",\"children\":[\"Most teams tackling this brief ship steps 02–03 and call it done — a transcript and a mood badge next to a lap chart. The thesis here is that a single opaque “risk score” is a demo crowd-pleaser and a production liability: a confident number nobody can decompose is what gets a real incident-review committee to switch a system off. Every number in this pipeline traces back to a named piece of evidence, and it says “I don’t know” out loud (\",[\"$\",\"code\",null,{\"className\":\"text-teal\",\"children\":\"INSUFFICIENT_DATA\"}],\", a\",\" \",[\"$\",\"code\",null,{\"className\":\"text-teal\",\"children\":\"null\"}],\" lead time, no match) rather than manufacturing a positive to look impressive. We’re not shipping a smarter transcript — we’re shipping a plug-in layer that sits on top of the telemetry and radio systems a team already runs, and turns them into evidence an engineer would actually trust enough to act on mid-session.\"]}]]}]\n11:[\"$\",\"$L5\",null,{\"href\":\"/technical/index.htmlsystem-design-workflow\",\"className\":\"group flex items-center justify-between border border-teal/50 bg-teal/5 px-6 py-5 transition hover:bg-teal/10\",\"children\":[[\"$\",\"span\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"mb-1 block text-[9px] uppercase tracking-[0.16em] text-teal\",\"children\":\"Flowchart + code map\"}],[\"$\",\"span\",null,{\"className\":\"block text-base font-medium uppercase tracking-[0.03em] text-ink\",\"children\":\"System Design Workflow\"}],[\"$\",\"span\",null,{\"className\":\"mt-1 block max-w-xl text-[11.5px] leading-relaxed text-dim\",\"children\":\"A visual, top-to-bottom diagram of the whole radio-to-verdict pipeline, plus every stage's exact file, function, and parameter — the reference to point to when explaining the product or answering a technical question.\"}]]}],[\"$\",\"span\",null,{\"className\":\"ml-4 shrink-0 text-teal transition group-hover:translate-x-1\",\"children\":\"→\"}]]}]\n12:[\"$\",\"div\",null,{\"className\":\"border border-rule bg-bg p-6\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1 text-[9px] uppercase tracking-[0.16em] text-red\",\"children\":\"System Design\"}],[\"$\",\"h3\",null,{\"className\":\"mb-1 text-lg font-medium uppercase tracking-[0.03em] text-ink\",\"children\":\"Full stack, layer by layer\"}],[\"$\",\"p\",null,{\"className\":\"mb-6 max-w-2xl text-[11.5px] leading-relaxed text-dim\",\"children\":[\"Every box below is a real, running piece of this system — not a planned architecture. Reproduce any layer directly: model IDs and pinned revisions are in \",[\"$\",\"code\",null,{\"className\":\"text-teal\",\"children\":\"services/radio_ai/app/config.py\"}],\".\"]}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 gap-3\",\"children\":[[\"$\",\"div\",\"Audio ingest\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":1}],[\"$\",\"span\",null,{\"className\":\"mt-1 h-full w-px flex-1 bg-rule\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"Audio ingest\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"Radio clip (.mp3/.wav)\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Radio clip (.mp3/.wav)\"]}],[\"$\",\"li\",\"16kHz mono resample (soundfile + scipy or torchaudio)\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"16kHz mono resample (soundfile + scipy or torchaudio)\"]}]]}]]}]]}],[\"$\",\"div\",\"Speech-to-text\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":2}],[\"$\",\"span\",null,{\"className\":\"mt-1 h-full w-px flex-1 bg-rule\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"Speech-to-text\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"distil-whisper/distil-large-v3.5-ct2 via faster-whisper (CTranslate2)\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"distil-whisper/distil-large-v3.5-ct2 via faster-whisper (CTranslate2)\"]}],[\"$\",\"li\",\"CPU fallback: Systran/faster-whisper-small.en\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"CPU fallback: Systran/faster-whisper-small.en\"]}],[\"$\",\"li\",\"Pinned to a specific commit SHA — no silent model upgrades\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Pinned to a specific commit SHA — no silent model upgrades\"]}]]}]]}]]}],[\"$\",\"div\",\"Acoustic tone model\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":3}],[\"$\",\"span\",null,{\"className\":\"mt-1 h-full w-px flex-1 bg-rule\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"Acoustic tone model\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"laion/voiceclap-commercial encoder + attribute heads\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[\"$L1a\",\"laion/voiceclap-commercial encoder + attribute heads\"]}],\"$L1b\",\"$L1c\"]}]]}]]}],\"$L1d\",\"$L1e\",\"$L1f\",\"$L20\",\"$L21\"]}],\"$L22\"]}]\n13:[\"$\",\"p\",null,{\"className\":\"mt-8 text-[10.5px] uppercase tracking-[0.14em] text-dim\",\"children\":[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"text-teal transition hover:text-red\",\"children\":\"← back to the live replay\"}]}]\n14:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2p594__5egvvs.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n15:[\"$\",\"$L23\",null,{\"children\":[\"$\",\"$24\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@25\"}]}]\n17:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L26\",null,{\"children\":\"$L27\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$24\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L29\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n19:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0-9w4s7c6xtvk.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n16:C\n1a:[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}]\n1b:[\"$\",\"li\",\"Outputs raw Arousal/Fatigue/Quality/Noise scores\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Outputs raw Arousal/Fatigue/Quality/Noise scores\"]}]\n1c:[\"$\",\"li\",\"Mapped to CALM / ELEVATED_AROUSAL / FATIGUED by a threshold calibrated on 20 real human-labeled clips — not the model's raw default\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Mapped to CALM / ELEVATED_AROUSAL / FATIGUED by a threshold calibrated on 20 real human-labeled clips — not the model's raw default\"]}]\n1d:[\"$\",\"div\",\"Complaint classifier\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":4}],[\"$\",\"span\",null,{\"className\":\"mt-1 h-full w-px flex-1 bg-rule\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"Complaint classifier\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"Production: sentence-transformers/all-MiniLM-L6-v2 embeddings + per-category prototype cosine similarity\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Production: sentence-transformers/all-MiniLM-L6-v2 embeddings + per-category prototype cosine similarity\"]}],[\"$\",\"li\",\"Fallback option: zero-shot NLI (DeBERTa v3)\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Fallback option: zero-shot NLI (DeBERTa v3)\"]}],[\"$\",\"li\",\"No fine-tuning — the taxonomy description text IS the model input\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"No fine-tuning — the taxonomy description text IS the model input\"]}]]}]]}]]}]\n1e:[\"$\",\"div\",\"Evidence engine (classical, not ML)\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":5}],[\"$\",\"span\",null,{\"className\":\"mt-1 h-full w-px flex-1 bg-rule\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"Evidence engine (classical, not ML)\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"Own-baseline: median + MAD over the driver's own last 5 laps at that segment\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Own-baseline: median + MAD over the driver's own last 5 laps at that segment\"]}],[\"$\",\"li\",\"Retrieval: brute-force cosine similarity, in-memory (corpus is 15–30 incidents — FAISS is four orders of magnitude of complexity this doesn't need)\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Retrieval: brute-force cosine similarity, in-memory (corpus is 15–30 incidents — FAISS is four orders of magnitude of complexity this doesn't need)\"]}],[\"$\",\"li\",\"Retrieval gate: category match AND cosine ≥ 0.40 — two independent conditions, empirically threshold-set over 247 hand-written phrase pairs\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Retrieval gate: category match AND cosine ≥ 0.40 — two independent conditions, empirically threshold-set over 247 hand-written phrase pairs\"]}],[\"$\",\"li\",\"Lead time: first_observable_change_time − radio_event_time, requires 2 consecutive deviating laps or reports null\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Lead time: first_observable_change_time − radio_event_time, requires 2 consecutive deviating laps or reports null\"]}]]}]]}]]}]\n1f:[\"$\",\"div\",\"Storage\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":6}],[\"$\",\"span\",null,{\"className\":\"mt-1 h-full w-px flex-1 bg-rule\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"Storage\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"SQLite (storage/incidents.db) — incident metadata, recurrence flags\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"SQLite (storage/incidents.db) — incident metadata, recurrence flags\"]}],[\"$\",\"li\",\"Embeddings — in-memory Python list at process runtime, not persisted to SQLite (corpus is tiny; an index would be overhead, not optimization)\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Embeddings — in-memory Python list at process runtime, not persisted to SQLite (corpus is tiny; an index would be overhead, not optimization)\"]}],[\"$\",\"li\",\"Contracts — frozen JSON schemas + fixtures in contracts/, the interface every service is validated against\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Contracts — frozen JSON schemas + fixtures in contracts/, the interface every service is validated against\"]}],[\"$\",\"li\",\"Telemetry — Parquet windows per incident, read by pandas\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Telemetry — Parquet windows per incident, read by pandas\"]}]]}]]}]]}]\n20:[\"$\",\"div\",\"API layer\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":7}],[\"$\",\"span\",null,{\"className\":\"mt-1 h-full w-px flex-1 bg-rule\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"API layer\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"radio_ai (FastAPI) — POST /v1/radio/analyze\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"radio_ai (FastAPI) — POST /v1/radio/analyze\"]}],[\"$\",\"li\",\"core_api (FastAPI) — /v1/incidents/*, /v1/replay/*, /v1/live-pipeline\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"core_api (FastAPI) — /v1/incidents/*, /v1/replay/*, /v1/live-pipeline\"]}],[\"$\",\"li\",\"mock_server (FastAPI) — same paths, fixture-backed, for frontend-first development\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"mock_server (FastAPI) — same paths, fixture-backed, for frontend-first development\"]}],[\"$\",\"li\",\"No service imports another's code directly — every boundary is the JSON contract, not a shared library\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"No service imports another's code directly — every boundary is the JSON contract, not a shared library\"]}]]}]]}]]}]\n21:[\"$\",\"div\",\"Frontend\",{\"className\":\"flex gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex h-7 w-7 shrink-0 items-center justify-center border border-rule bg-bg2 text-[10px] text-dim\",\"children\":8}],false]}],[\"$\",\"div\",null,{\"className\":\"flex-1 border border-rule bg-bg2 p-3 pb-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-1.5 text-[11.5px] font-medium uppercase tracking-[0.04em] text-ink\",\"children\":\"Frontend\"}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"li\",\"Next.js 16 (Turbopack), React 18, TypeScript, Tailwind\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Next.js 16 (Turbopack), React 18, TypeScript, Tailwind\"]}],[\"$\",\"li\",\"Fetches over HTTP with an embedded fixture fallback baked into the client — stays interactive if the backend is cold-starting\",{\"className\":\"pl-3 text-[10.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"mr-2 text-red\",\"children\":\"·\"}],\"Fetches over HTTP with an embedded fixture fallback baked into the client — stays interactive if the backend is cold-starting\"]}]]}]]}]]}]\n22:[\"$\",\"div\",null,{\"className\":\"mt-5 border border-gold/40 bg-gold/5 p-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 text-[10px] uppercase tracking-[0.16em] text-gold\",\"children\":\"Direct answer: do we use a generative LLM? Tool-calling? MCP?\"}],[\"$\",\"p\",null,{\"className\":\"text-[11.5px] leading-relaxed text-dim\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-ink\",\"children\":\"No, deliberately, on all three.\"}],\" No GPT/Claude/Gemini-style generative model is in this pipeline, no agent framework, no tool-calling loop, no MCP server. Every model above is a small, pinned, task-specific pretrained model (an ASR transcriber, a speech-emotion encoder, a sentence-embedding model) — not a chat model reasoning in free text. That’s a product decision, not a limitation: a generative model summarizing “what happened” can hallucinate a plausible-sounding but wrong diagnosis, and there is no way to audit that after the fact. Every number this system produces instead traces to a named, deterministic computation — a threshold, a cosine similarity, a median — specifically so an engineer (or a judge) can ask “why did it say that” and get a real answer, not a plausible-sounding one.\"]}]]}]\n27:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n2a:I[27201,[\"/_next/static/chunks/3fntmmi971322.js\"],\"IconMark\"]\n25:null\n29:[[\"$\",\"title\",\"0\",{\"children\":\"ApexSignal — Technical Walkthrough\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"How ApexSignal actually works: the pipeline stage by stage, the models, the thresholds, and where each lives in the codebase.\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"ApexSignal — The Silent Co-Driver\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"A public, interactive incident replay connecting driver radio to telemetry evidence and historical memory.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:url\",\"content\":\"https://apex-signal-sigma.vercel.app/\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:title\",\"content\":\"ApexSignal — The Silent Co-Driver\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:description\",\"content\":\"A public, interactive incident replay connecting driver radio to telemetry evidence and historical memory.\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.1fi2ifkq8n3ga.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L2a\",\"10\",{}]]\n"])</script></body></html> |