All Projects
Voice-First Mobile · K9 Handler Platform Sworn-Handler Beta · CMEK + App Check

PawTrek

"The K9 Handler's Unfair Advantage." Voice-first AI-native platform for police K9 handlers, trainers, and supervisors. Court-admissible narratives, case-law verification, offline-first mirror, CJIS posture documented from project creation.

The Problem

A police K9 unit produces an enormous amount of legally-load-bearing documentation: care and training logs, deployment narratives, vet records, certifications, recertifications, case-specific reports, and the chain of evidence connecting a dog's training history to its admissibility as a probable-cause source in a particular case. Most of this happens on paper or in form-driven e-record apps that handlers hate, supervisors can't pull useful trends from, and trainers can't connect back to skill gaps. Florida v. Harris sets the modern admissibility expectation; meeting it consistently with paper-and-form-fills is a daily challenge.

PawTrek replaces the form with the handler's voice — and then organizes everything downstream of it.

What I Built

Voice-first capture → court-admissible narrative

Deepgram + Grok turn raw voice into a structured narrative that aligns with the admissibility expectations from Florida v. Harris: dog identity, certifications relevant to the alert type, training-history grounding, environmental conditions, alert-and-confirmation sequence, handler observations. The handler talks once, in their natural cadence; the system produces a draft narrative they can edit, diff, and lock.

Case-law verification

Where a narrative implicates legal questions (e.g., scope-of-alert, reliability challenges), the system surfaces relevant case law and notes the language the narrative already uses — and the language it would need to use — to align cleanly with that precedent.

Offline-first SQLite mirror with Firestore outbox

A K9 deployment frequently happens in places where connectivity is poor or absent. Every write goes to a local SQLite mirror first; a Firestore outbox queue with per-collection watermarks reconciles when connectivity returns. The handler never sees the network state — they just keep working. This is the part of the architecture that any officer-facing system has to get right, or it will be abandoned in the field.

Health, skills, deployments, communications

Around the voice-first capture sits the rest of what a handler / trainer / supervisor triad needs:

  • Health & wellness tracking — vet records, vaccinations, conditioning, weight, age-adjusted workload guidance.
  • Skills & gaps — a per-dog skill graph that decays without practice, like the CopApp model.
  • Deployment log — searchable history with rapid recall for testimony and review.
  • Professional communications — drafts emails to trainers, supervisors, vets, with the right cc's and the case context attached. Builds the paper trail handlers normally lose.
Core Principle

Turn paper records and form-filling apps into a substrate-first system: the handler talks, the system organizes. The voice is the input; everything downstream — narrative, skills graph, deployment log, comms — is generated.

Security Posture: CMEK + App Check From Day One

Like CopApp, PawTrek sits adjacent to law-enforcement data, and the architecture decisions were made under that constraint:

  • CMEK (Customer-Managed Encryption Keys) on Firestore from project creation. Not retrofitted — the project was created with CMEK enabled, so every document ever written is under customer-controlled key material.
  • App Check with real attestation providers: App Attest on iOS, Play Integrity on Android, reCAPTCHA Enterprise on web. Not the "any client" debug mode — real provider attestation, so a random script can't hit the API.
  • CJIS posture documented. Like CopApp, not yet certified — but every control an agency would need is identified, owned, and traceable.
  • V5.0 system design with an active 25-finding hardening sweep currently in flight — each finding individually scoped, fixed, and verified.

Stack

Turborepo monorepo with shared TypeScript domain spine — same domain types across mobile, web, and backend, so a handler-facing concept is defined once:

TierTech
MobileReact Native 0.83 / Expo SDK 55 (New Architecture, React 19)
WebNext.js 16
BackendFirebase Functions v2
Voice / AIDeepgram (ASR) + Grok 4.3 (narrative + legal-context reasoning)
DataFirestore (CMEK), local SQLite mirror with outbox / per-collection watermarks
IntegrityApp Check (App Attest / Play Integrity / reCAPTCHA Enterprise)

What I Learned

PawTrek is where I learned what "AI-first product design" means in practice: not "we wedge a chatbot in," but the substrate of the product is voice → structured record → organized everything-else. Once that substrate is in place, the rest of the product is composable — every new feature is a new query, a new report, a new outbound communication. It also confirmed, the hard way, that offline-first is non-negotiable for any system meant to be used in the field. K9 units don't have time to wait for a network.