Last Updated: October 14, 2025 Status: ✅ ALL REQUIRED SERVICES CONFIGURED
All external API services required for the Gazelle MVP are now configured and ready for development.
- Token:
pk.eyJ1IjoiZGFmaXNoZXIyMDAwIiwiYSI6ImNtZ3IxN2UwdzE2NTIybHE0YXlndmg4d2kifQ._PaGsU2QYoxEzESAKm3LsQ - Type: Public token (safe to use client-side)
- Free Tier: 100,000 requests/month
- Purpose: Geocoding addresses, proximity matching, mapping
- Location: Backend
.dev.vars
- App ID:
cmgr1bec602lvkz0c2tobm0sz - App Secret: Configured (not shown for security)
- Type: Public App ID, private App Secret
- Free Tier: Up to 1,000 Monthly Active Users
- Purpose: User authentication, phone verification, session management
- Location:
- Backend
.dev.vars(both App ID and Secret) - Frontend
.env.local(App ID only)
- Backend
- API Key: Configured (starts with
sk-ant-api03-) - Type: Private API key
- Free Tier: $5 credit for new accounts
- Purpose: Conversational AI for provider and seeker interfaces
- Location: Backend
.dev.vars
# All required keys configured
CLAUDE_API_KEY=sk-ant-api03-pMKYX... ✅
PRIVY_APP_ID=cmgr1bec602lvkz0c2tobm0sz ✅
PRIVY_APP_SECRET=*************** ✅
MAPBOX_TOKEN=pk.eyJ1IjoiZGFmaXNoZXIyMDAwIijiYSI6... ✅Status: Ready for local development Security: File is in .gitignore, will not be committed
VITE_API_URL=http://localhost:8787
VITE_PRIVY_APP_ID=cmgr1bec602lvkz0c2tobm0sz ✅Status: Ready for local development Security: File is in .gitignore, will not be committed
- Status: Not configured yet
- Priority: Optional for MVP
- Free Tier: 3,000 emails/month
- Use Case: Notification emails (alternative to SMS)
- Setup: Quick signup at https://resend.com/
- Status: Not needed for MVP
- Priority: Can defer to Phase 2
- Free Tier: $15 trial credit
- Use Case: SMS notifications
- Alternative: Use Resend for email notifications instead
- Cloudflare Workers configured
- D1 database created and seeded
- KV namespaces configured
- All required API keys in
.dev.vars - TypeScript types updated for Env interface
- Vite + React + TypeScript configured
- shadcn/ui installed
- Environment variables in
.env.local - Privy App ID configured for auth
- GitHub repository created
- All code committed and pushed
- Documentation complete
- .gitignore properly configured
What's Working:
- Local development environment fully configured
- All API credentials in place
- Database created and seeded
- Frontend and backend structure ready
Next Steps:
- Start backend dev server:
cd backend && npm run dev - Start frontend dev server:
cd frontend && npm run dev - Begin Phase 1: Backend API Implementation
- Mapbox: $0 (within free tier)
- Privy: $0 (within free tier)
- Claude API: ~$0-5 (using free credit)
- Total: $0-5
- Claude API: $10-20 (depends on usage)
- Other Services: $0 (all within free tiers)
- Total: $10-20
When deploying to production:
-
Set Cloudflare Workers Secrets:
wrangler secret put CLAUDE_API_KEY wrangler secret put PRIVY_APP_SECRET
-
Public Variables in wrangler.toml [vars]:
[vars] PRIVY_APP_ID = "cmgr1bec602lvkz0c2tobm0sz" MAPBOX_TOKEN = "pk.eyJ..."
-
Frontend Environment:
- Set
VITE_API_URLto production Worker URL - Keep
VITE_PRIVY_APP_IDthe same
- Set
✅ Properly Secured:
.dev.varsis in .gitignore.env.localis in .gitignore- API keys not committed to repository
- Only public tokens (Mapbox pk., Privy App ID) in documentation
- Never commit
.dev.varsor.env.local - Rotate keys if accidentally exposed
- Use Cloudflare secrets for production
- Monitor API usage in dashboards
- Mapbox Docs: https://docs.mapbox.com/api/search/geocoding/
- Privy Docs: https://docs.privy.io/
- Claude API Docs: https://docs.anthropic.com/
- Project Setup Guide:
API-KEYS-SETUP.md
Configuration Complete! All systems ready for development.