Last updated: 2026-03-19 Status: Core app shipped. RAG accuracy fixed. Security hardened. Ready for growth.
| Metric | Value |
|---|---|
| Protocol chunks | 64,397 (Gemini Embedding 2) |
| Agencies | ~2,700 |
| States with data | CA (primary), partial TX, FL, NY, WA |
| Test suite | 4,428 passing |
| Vulnerabilities | 0 |
| Deployment | Netlify (frontend) + Railway (backend) |
Core features complete: Jurisdiction-scoped RAG search, auth (Google/Apple/email), Stripe subscriptions, offline PWA, admin dashboard, voice input, tools (dosing calculator, arrest timer, ROSC checklist, quick reference, protocol comparison), bookmarks, push notifications, referral system.
Goal: National protocol coverage. More states = more users = network effects.
Priority: HIGH | Effort: 2-3 days | Impact: 10x protocol coverage
- Refactor ingestion into generic state pipeline (
scripts/parsers/generic-state-portal.tsexists) - Build state protocol source registry (URLs, PDF patterns, update frequency)
- Automate PDF discovery per state (crawler patterns differ by state)
- Standardize text extraction across PDF formats (some are scanned images → OCR)
- Implement chunk quality validation (reject garbage extractions)
- Build embedding pipeline with progress tracking and resume support
- Create state coverage dashboard (admin) — chunks per agency, last updated, quality score
- Add automated monitoring for protocol updates (cron: check source URLs monthly)
- Build county-agency mapping tool for new states
- Deploy and ingest top 5 states by EMS population
Key files: scripts/parsers/, scripts/lib/lemsa-processor.ts, server/_core/embeddings/batch.ts
Priority: HIGH | Effort: 1-2 weeks | Depends on: A1
Target states (by active EMS providers):
- Texas (TX) — ~80K providers
- Florida (FL) — ~60K providers
- New York (NY) — ~55K providers
- Pennsylvania (PA) — ~45K providers
- Ohio (OH) — ~40K providers
- Illinois (IL) — ~35K providers
- North Carolina (NC) — ~30K providers
- Georgia (GA) — ~28K providers
- Virginia (VA) — ~25K providers
- Michigan (MI) — ~22K providers
Steps per state:
- Identify protocol sources (state EMS office, LEMSA websites)
- Map agencies and counties
- Run ingestion pipeline
- Validate search accuracy for that state
- Update coverage map in app
Priority: MEDIUM | Effort: 1-2 months | Depends on: A2
- Batch-process remaining 35+ states through automated pipeline
- Handle edge cases: military bases, tribal lands, federal jurisdictions
- Build protocol version tracking (detect when agencies update protocols)
- Implement automated re-ingestion on update detection
- Create public coverage map page (SEO + social proof)
- Add "Request my agency" feature for uncovered agencies
- Build protocol freshness scoring (stale protocols get flagged)
- Add interstate protocol comparison feature
- Implement protocol change notifications (push to subscribed users)
- Publish national coverage milestone (press release, social media)
Goal: 10K MAU within 6 months. EMS community is ~1.3M providers in the US.
Priority: HIGH | Effort: 2-3 days | Impact: Viral coefficient
- Activate referral system (code exists in
server/routers/referral/) — verify end-to-end flow - Design referral reward structure (7 free Pro days exists; test higher incentives)
- Build referral tracking dashboard (admin) — codes generated, redeemed, conversion rate
- Implement email drip campaign activation (code exists in
server/services/send-drip-emails.ts) - Create Day 1 welcome email template (value prop + first search guide)
- Create Day 3 tips email (power user features: voice search, offline, tools)
- Create Day 7 Pro pitch email (show what they're missing + discount code)
- Build email analytics dashboard (sent, opened, clicked, converted)
- A/B test referral incentive amounts (3 vs 7 vs 14 Pro days)
- Add in-app referral prompt after 3rd successful search
Key files: server/routers/referral/, server/services/send-drip-emails.ts
Priority: MEDIUM | Effort: 1 week | Depends on: B1
- Submit iOS app to App Store (
eas build --profile production --platform ios) - Submit Android app to Google Play (
eas build --profile production --platform android) - Write App Store listing copy (keywords: "EMS protocols", "paramedic reference", "LEMSA")
- Create App Store screenshots (search, results, tools, offline)
- Build keyword-optimized landing pages per state (
/ems-protocols/california, etc.) - Add structured data (JSON-LD) for MedicalBusiness schema
- Create blog content: "How to find your local EMS protocols" (SEO target)
- Configure Google Analytics with real tracking ID (placeholder exists)
- Build SEO sitemap with dynamic protocol coverage pages
- Submit sitemap to Google Search Console + Bing Webmaster
Priority: LOW | Effort: Ongoing | Depends on: B2
- Set up Reddit presence in r/ems, r/NewToEMS, r/Paramedics
- Create Twitter/X account for Protocol Guide
- Build testimonial collection system (in-app prompt after 10+ searches)
- Design "Used by X paramedics" social proof badge
- Contact EMS podcasts for guest appearances
- Create TikTok educational content strategy
- Partner with EMS training programs for early adoption
- Build EMS conference presence calendar
- Design referral landing page with social proof
- Implement NPS survey at Day 30
Goal: $10K MRR from department subscriptions within 6 months.
Priority: HIGH | Effort: 3-5 days | Impact: Revenue enabler
- Audit existing agency admin system (6+ router files exist, mostly complete)
- Fix any remaining gaps in staff management (invite, remove, role assignment)
- Build agency-level analytics dashboard (searches per provider, popular protocols)
- Implement seat-based billing for departments (Stripe quantity subscriptions)
- Create agency onboarding flow (sign up → invite team → upload protocols)
- Build custom protocol upload UI (PDF → extract → embed → serve)
- Add agency branding options (logo, color scheme in protocol viewer)
- Create department admin training documentation
- Build agency billing portal (invoices, seat management, upgrade/downgrade)
- Implement agency-level usage reports (exportable PDF/CSV)
Key files: server/routers/agency-admin/, app/admin/
Priority: MEDIUM | Effort: 2-3 weeks | Depends on: C1
- Build custom protocol version management (draft → review → publish)
- Implement protocol approval workflows (admin review before publish)
- Add audit logging for all protocol changes (compliance requirement)
- Build ImageTrend/ESO integration for CAD dispatch data
- Create API access tier for enterprise (REST API keys, rate limits, docs)
- Build SSO integration (SAML/OIDC for large departments)
- Implement multi-agency comparison for medical directors
- Add compliance reporting (protocol adherence metrics)
- Build white-label deployment option (custom domain, branding)
- Create enterprise sales materials and pricing page
Month 1: A1 (pipeline) + B1 (referral/email) + C1 (agency portal)
Month 2: A2 (top 10 states) + B2 (App Store/SEO)
Month 3: A3 (national) + C2 (enterprise features)
Month 4+: B3 (community) + iterate based on data
Each phase is a self-contained plan that can be executed with /agents-plan in a Claude Code session. Start any phase with:
/agents-plan [Track][Phase] - e.g., "Execute Track A1: Automated Multi-State Ingestion Pipeline"
| Metric | Current | Month 1 Target | Month 3 Target |
|---|---|---|---|
| States with data | 5 | 10 | 50 |
| Protocol chunks | 64K | 150K | 500K+ |
| MAU | 0 | 500 | 5,000 |
| Pro subscribers | 0 | 50 | 500 |
| Department accounts | 0 | 5 | 25 |
| MRR | $0 | $500 | $5,000 |
| App Store rating | N/A | 4.5+ | 4.7+ |
- Fix 21 pre-existing test failures (rate-limit, drip-email, stripe, user-router)
- Fix icon-symbol.web.tsx duplicate property TS errors
- Replace Google Analytics placeholder with real tracking ID
- Enable dark mode (currently intentionally disabled)
- Add E2E tests for critical user journeys (Playwright)
- Upgrade Expo when 55+ releases (for new APIs)
-
Consider migrating from Voyage fallback to Gemini-only— Done 2026-03-24 (Voyage fully removed)