Internal operating platform for Hypothesis Factory.
HF_core is the agency's operating system — a CRM, task/GTD system, and eventually a creative production platform, all in one place.
- V1: CRM + GTD capture + Obsidian integration
- V2: Automated outreach sequences
- V3: AgentC creative production platform
| Layer | Technology |
|---|---|
| Frontend | React + TypeScript + Vite → Vercel |
| Backend API | Python FastAPI → Render |
| Database + Auth + Storage | Supabase (Postgres) |
| AI | Claude API (Anthropic) |
| Resend |
cd backend
pip3 install -r requirements.txt
cp .env.example .env # Fill in your keys
uvicorn app.main:app --reloadAPI runs at http://localhost:8000 API explorer (auto-generated docs): http://localhost:8000/docs
cd frontend
npm install
cp .env.example .env.local # Fill in your Supabase keys
npm run devFrontend runs at http://localhost:5173
The database lives in your Supabase project: https://chpnfnyjssbyieqhbytj.supabase.co
To run migrations:
supabase db pushTo open the Supabase dashboard:
supabase dashboardcd /Users/christiansmith/Projects/HF_core
python scripts/seed_leads.py --file path/to/agentc_crm_enriched_v2.xlsx --dry-run
# Remove --dry-run when ready to actually insert
python scripts/seed_leads.py --file path/to/agentc_crm_enriched_v2.xlsxHF_core/
├── backend/ ← Python FastAPI (the engine)
│ └── app/
│ ├── main.py ← App entry point + routes registration
│ ├── config.py ← Settings from .env
│ ├── supabase_client.py← Database connection
│ ├── ai_client.py ← Claude API wrapper
│ ├── routers/ ← API endpoints
│ ├── services/ ← Business logic (scoring, AI, email)
│ └── schemas/ ← Data types
│
├── frontend/ ← React app (the dashboard)
│
├── extension/ ← Chrome extension (Week 12-13)
│
├── scripts/
│ └── seed_leads.py ← Import existing leads from spreadsheet
│
└── supabase/
└── migrations/ ← Database schema (run with `supabase db push`)