Competitive Intelligence Platform for Healthcare Technology
Certify Intel is a competitive intelligence platform that tracks, analyzes, and generates AI-driven insights on competitors in the healthcare technology space. It ships with a pre-loaded database of healthcare companies and provides 11 pages of interactive analysis tools powered by multi-provider AI agents.
| Data | Count |
|---|---|
| Active competitors | 74 |
| Products tracked | 789 |
| News articles | 920 active |
| Data sources | 1,170 (731 verified) |
| AI system prompts | 47 (customizable per user) |
- Python 3.9 or higher
- At least one AI API key (Anthropic, OpenAI, or Google Gemini)
cd backend
python -m venv venv
# Windows
.\venv\Scripts\Activate.ps1
# macOS / Linux
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .envEdit backend/.env and set:
| Variable | What to Put |
|---|---|
SECRET_KEY |
Run python -c "import secrets; print(secrets.token_hex(32))" |
ANTHROPIC_API_KEY |
Your Anthropic API key (recommended) |
Then start the server:
python main.pyOpen http://localhost:8000 and log in with the default credentials:
| Field | Value |
|---|---|
admin@certifyhealth.com |
|
| Password | CertifyIntel2026! |
Note: These defaults are built in and work out of the box. To use custom credentials, set
ADMIN_EMAILandADMIN_PASSWORDinbackend/.envbefore first launch.
For the full walkthrough, see GETTING_STARTED.md.
| Page | What It Does |
|---|---|
| Dashboard | AI-generated executive summary, top competitive threats, corporate profile stats |
| Competitors | Full competitor database with search, filters, sorting, bulk actions, CSV import |
| Discovery Scout | 4-stage AI pipeline that finds and qualifies new competitors automatically |
| Battlecards | One-page sales battlecards generated by AI with PDF export and version history |
| Comparisons | Side-by-side feature and data comparison of 2-4 competitors |
| Sales & Marketing | 9-dimension competitive scoring, radar charts, talking points, playbook generator |
| News Feed | Healthcare news aggregation with AI sentiment analysis and email alert subscriptions |
| Analytics | Market positioning quadrant chart, win/loss deal tracking with pipeline metrics |
| Records | Data records management and bulk operations |
| Validation | Data validation workflows with AI-assisted verification |
| Settings | API key management, MFA setup, password change, audit log viewer |
The AI router automatically selects the best provider per task. At least one key is required; all three are recommended.
| Provider | Role | How to Get a Key |
|---|---|---|
| Anthropic Claude | Primary - complex analysis, battlecards | console.anthropic.com |
| Google Gemini | Speed tasks, news classification, grounded search | aistudio.google.com |
| OpenAI GPT-4o | Fallback provider | platform.openai.com |
9 specialized agents built on LangGraph with a central orchestrator:
| Agent | Purpose |
|---|---|
| Dashboard | Strategic summaries and threat analysis |
| Discovery | 4-stage competitor discovery pipeline |
| Battlecard | Sales-ready battlecard generation |
| News | News analysis and sentiment classification |
| Analytics | Market analysis queries |
| Validation | Data verification against live sources |
| Records | Data records management |
| Citation Validator | Source URL and claim verification |
| Orchestrator | Routes queries to the right agent |
| Component | Technology |
|---|---|
| Framework | FastAPI + Uvicorn |
| Database | SQLite + SQLAlchemy 2.0 (39 tables, 158 fields per competitor) |
| AI Orchestration | LangGraph StateGraph |
| AI Providers | Anthropic, OpenAI, Google GenAI, DeepSeek (optional) |
| Authentication | JWT (15-min access + 7-day refresh tokens), optional TOTP MFA |
| Scheduling | APScheduler |
| Export | ReportLab (PDF), openpyxl (Excel) |
| Rate Limiting | slowapi |
| Security | CSP, HSTS, X-Frame-Options middleware; Bandit SAST in CI |
| Component | Technology |
|---|---|
| Architecture | Single Page Application, ES6 modules |
| Languages | HTML5, Vanilla JavaScript (ES6+), CSS3 |
| Charts | Chart.js |
| Export | jsPDF, SheetJS/xlsx |
| Testing | Jest |
| Features | Service Worker, Ctrl+K command palette, keyboard navigation |
| Component | Technology |
|---|---|
| Framework | Electron 28 |
| Build | electron-builder + PyInstaller |
| Platform | Windows installer (.exe) |
Download: The latest Windows installer is available on the Releases page.
| Component | Technology |
|---|---|
| CI/CD | GitHub Actions (6 workflows) |
| Containers | Docker Compose (6 configurations) |
| Reverse Proxy | nginx |
| Monitoring | Prometheus (optional) |
| Observability | Langfuse v3 (optional) |
| Caching | Redis with in-memory fallback (optional) |
backend/ → Python FastAPI application
main.py → Core application
routers/ → 17 API route modules
agents/ → 9 AI agents + orchestrator
data_providers/ → 10 enterprise data provider adapters
schemas/ → Pydantic request/response models
middleware/ → Security and metrics middleware
services/ → Background task service
tests/ → Test suite (639+ tests, 36 files)
certify_intel.db → Pre-loaded database (5.5 MB)
.env.example → Configuration template
frontend/ → Vanilla JS single page application
index.html → Main application entry
app_v2.js → Core application logic
core/ → 6 ES6 modules (API, routing, state, keyboard, export, utils)
components/ → 5 ES6 modules (chat, modals, command palette, notifications, toast)
styles.css → Full design system
__tests__/ → Jest unit tests
desktop-app/ → Electron wrapper for Windows
electron/ → Main process, preload, splash screen
package.json → Build configuration
client_docs/ → 8 developer guides
docs/ → Technical reference (API, architecture, migration)
scripts/ → Backup, migration, and CI helper scripts
nginx/ → Production reverse proxy configuration
monitoring/ → Prometheus configuration
.github/workflows/ → 6 CI/CD pipeline definitions
docker-compose*.yml → 6 container configurations
GitHub Actions runs automatically on every push and pull request:
| Workflow | What It Does |
|---|---|
| Backend Tests | Runs 639+ pytest tests + flake8 linting |
| Frontend Tests | Runs Jest unit tests |
| Security Scan | Bandit SAST scan with report artifact |
| Auto PR | Creates PR from feature branches |
| Auto Merge | Squash-merges PRs when checks pass |
| Release | Creates GitHub Release on version tags |
All workflows support manual trigger.
| Document | Audience |
|---|---|
| GETTING_STARTED.md | Everyone - 5-minute setup guide |
| client_docs/DEVELOPMENT_GUIDE.md | Developers - project conventions, how to add features |
| client_docs/DATABASE_SCHEMA.md | Backend - all 39 tables with column descriptions |
| client_docs/AI_SYSTEM_GUIDE.md | AI/ML - provider routing, agents, adding new agents |
| client_docs/FRONTEND_GUIDE.md | Frontend - SPA architecture, page creation, CSS patterns |
| client_docs/TESTING_GUIDE.md | QA - running and writing tests |
| client_docs/DEPLOYMENT_GUIDE.md | DevOps - Docker, nginx, PostgreSQL, monitoring |
| client_docs/CONFIGURATION_REFERENCE.md | All - every environment variable explained |
| client_docs/ROADMAP.md | Tech leads - suggested priorities, known limitations |
| docs/API_REFERENCE.md | Backend - full endpoint documentation |
All optional features default to OFF for zero overhead:
# Required
SECRET_KEY=your-secret-key
ADMIN_EMAIL=admin@yourcompany.com
ADMIN_PASSWORD=strong-password
# AI Providers (at least one required)
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GOOGLE_AI_API_KEY=...
# Optional Infrastructure
REDIS_ENABLED=false # Redis caching (in-memory fallback when off)
LANGFUSE_ENABLED=false # AI observability
METRICS_ENABLED=false # Prometheus endpoint
RATE_LIMIT_ENABLED=true # API rate limiting (on by default)
OLLAMA_ENABLED=false # Local AI models (free, requires Ollama)
LITELLM_ENABLED=false # AI gateway proxy (100+ provider support)Full configuration reference: client_docs/CONFIGURATION_REFERENCE.md
Proprietary - Certify Health
Georgetown University MSF Winter Clinic 2026