Bright Data AI Agents Hackathon 2026 · Bright Data · AI/ML API · Speechmatics · LangChain · Supabase · Streamlit
RepoAlpha turns VC and M&A teams into "God Mode" investors by detecting corporate developer adoption before it becomes public news. A "Software Engineer at Nvidia" starring your repo is a 15-point signal. An anonymous account is noise.
| Partner | Usage |
|---|---|
| Bright Data | Web Unlocker scrapes GitHub stargazer profiles & trending pages |
| AI/ML API | llama-3.3-70B analyzes READMEs, generates hype scores & commercial summaries |
| Speechmatics | Real-time TTS voice alerts narrate BUY signals aloud |
| LangChain | Orchestrates multi-step agent pipelines |
| Supabase | PostgreSQL + pgvector for storage, embeddings, and audit trails |
| Streamlit | Bloomberg Terminal-style dashboard |
- GitHub trending repos harvested every hour
- Every stargazer's profile scraped via Bright Data
- Company extracted → scored (Nvidia=15pts, Google=12pts, …)
- AI/ML API (Llama 3.3 70B) generates hype score + commercial summary
- BUY / HOLD / SELL rating assigned by aggregate corporate score
- Slack · Discord · Email · Voice alerts fired on threshold breach
| Feature | Detail | Cost |
|---|---|---|
| Pydantic v2 models | All pipeline data validated before Supabase writes | Free |
| Circuit breaker | Auto-opens on sustained API failures, heals after 2 min | Free |
| Exponential retry | tenacity wraps every external call — no silent failures | Free |
| Structured logging | loguru JSON lines + Supabase pipeline_runs audit trail |
Free |
| TTL in-process cache | Spare Supabase reads within a pipeline run | Free |
| Watchlist | Pin repos, personal tracking across sessions | Free |
| Score history | Auto-snapshotted by Supabase trigger → sparkline charts | Free |
| pgvector semantic search | all-MiniLM-L6-v2 embeddings, ANN search via match_repos() |
Free |
| Multi-channel alerter | Slack + Discord + Resend email + Speechmatics TTS voice | Free |
| FastAPI REST layer | Full CRUD + CSV/JSON export, Swagger at /docs |
Free |
| GitHub Actions CI/CD | Hourly pipeline + lint + type-check, no paid scheduler | Free |
| Render.com deploy | API on free web service + cron worker | Free |
| pytest suite | 20+ unit tests covering models, scoring, cache, license | Free |
git clone https://github.com/shanujans/repoalpha.git
cd repoalpha
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt| Service | Where | Notes |
|---|---|---|
| Bright Data | brightdata.com → Account Settings | API Token + Web Unlocker zone |
| AI/ML API | aimlapi.com → API Keys | Free tier (Llama 3.1 70B) |
| Speechmatics | speechmatics.com → API Keys | TTS free tier (4 hrs/month) |
| Supabase | supabase.com → Settings → API | URL + service_role key |
| GitHub PAT | github.com/settings/tokens | No scopes — raises limit 60→5000 req/hr |
| Slack webhook | Your workspace → Apps → Incoming Webhooks | Optional alerts |
| Discord webhook | Server → Integrations → Webhooks | Optional alerts |
| Resend | resend.com → API Keys | 100 emails/day free |
cp .env.example .env
nano .env # paste all keys# Paste schema.sql into: https://supabase.com/dashboard → SQL Editor → New Query → Run
# This creates all tables, the pgvector extension, the snapshot trigger,
# the match_repos() RPC, and Row Level Security policies.python main.py --demo # seeds 5 repos + 18 signals + score history
streamlit run dashboard.py # → http://localhost:8501python main.py # one full cycle (all 5 phases)
python main.py --loop # hourly daemon
python main.py --phase 1 # single phase: 1=harvest 2=enrich 3=analyse 4=alert 5=vectoruvicorn api.main:app --reload --port 8000
# Swagger UI → http://localhost:8000/docspytest tests/ -vStreamlit Community Cloud → dashboard.py (public URL, unlimited)
Render.com free tier → api/main.py (auto-sleep, wakes on request)
Render.com cron (free) → main.py (hourly pipeline run)
GitHub Actions (free) → lint + type-check (on every push to main)
Supabase free tier → PostgreSQL + pgvector (500 MB, unlimited API)
Streamlit Community Cloud:
- Push repo to GitHub (
.envis gitignored ✅) - share.streamlit.io → New App → select
dashboard.py - App Settings → Secrets:
SUPABASE_URL = "https://your-project.supabase.co"
SUPABASE_KEY = "your_anon_key" # anon key is read-only — safe to exposeRender.com:
- New → Blueprint → connect GitHub repo → it reads
render.yamlautomatically - Set env vars in Render Dashboard → Environment
GitHub Actions:
- Add all
.envvalues as GitHub repository secrets - Pipeline runs automatically every hour at :05 past
- Manually trigger any phase from Actions → workflow_dispatch
| Tier | Score | Companies |
|---|---|---|
| 🏆 AI Leaders | +15 | Nvidia · OpenAI · Anthropic · DeepMind · Mistral |
| 🥇 Hyperscalers | +12 | Google · Meta · Microsoft · Apple · Amazon · Tesla |
| 🥈 Notable Tech | +10 | Netflix · Stripe · Databricks · Snowflake · Hugging Face |
| 🥉 Enterprise | +6 | Salesforce · IBM · Intel · Oracle · AMD |
| 🏅 Fortune 500 | +3 | JPMorgan · Goldman · Boeing · Samsung · Sony |
| 👤 Generic signal | +1 | Any bio mentioning "Engineer/Developer/Researcher" |
Ratings: BUY ≥ 60 pts · HOLD 25–59 · SELL < 25
repoalpha/
├── dashboard.py # Streamlit War Room UI (596 lines)
├── main.py # Enterprise orchestrator — all 5 phases (435 lines)
├── schema.sql # Full Supabase schema + pgvector + triggers + RLS
├── render.yaml # Render.com free deployment blueprint
├── requirements.txt # All dependencies
├── .env.example # Full env variable template (incl. Speechmatics)
├── .gitignore
│
├── agents/
│ ├── harvester.py # Phase 1: Bright Data GitHub Trending scan
│ ├── enricher.py # Phase 2: Web Unlocker corporate signal detection
│ ├── analyst.py # Phase 3: AI/ML API (Llama 3.3 70B) hype + license + dossier
│ └── alerter.py # Phase 4: Slack / Discord / Email / Speechmatics voice alerts
│
├── api/
│ └── main.py # FastAPI REST API (Swagger at /docs)
│
├── utils/
│ ├── models.py # Pydantic v2 data models — full type safety
│ ├── logger.py # loguru structured logging + Supabase audit trail
│ ├── retry.py # tenacity retry + circuit breaker + rate limiters
│ ├── cache.py # TTL in-process cache (no Redis needed)
│ └── vector.py # pgvector semantic search embeddings
│
├── tests/
│ ├── test_models.py # Pydantic model validation tests
│ ├── test_enricher.py # Corporate scoring engine unit tests
│ ├── test_analyst.py # License classification tests
│ └── test_cache.py # TTL cache tests
│
└── .github/
└── workflows/
└── pipeline.yml # GitHub Actions: hourly pipeline + CI lint/typecheck
.streamlit/
├── config.toml # Dark terminal theme (#0E1117 · #00FFAA)
└── secrets.toml.example # Streamlit Cloud secrets template
| Service | Free Limit | RepoAlpha Usage | Status |
|---|---|---|---|
| Bright Data | $250 credit | ~$30–50/hackathon | ✅ 5× headroom |
| AI/ML API | Generous free tier | ~40 req/cycle (70B) + ~200 req/cycle (8B) | ✅ Ample |
| Speechmatics | 4 hrs TTS/month | Voice alerts ~ few sec per alert | ✅ Free |
| Supabase DB | 500 MB | ~10 MB for 50 repos + history | ✅ 50× headroom |
| Supabase API | Unlimited | Unlimited | ✅ No limit |
| Streamlit Cloud | Unlimited public | 1 app | ✅ Free |
| Render API | 750 hrs/month | ~1 instance | ✅ Free |
| Render Cron | 750 hrs/month | 24 runs/day | ✅ Free |
| GitHub Actions | 2,000 min/month (public) | ~5 min/run × 24 = 120 min/day | ✅ Free |
| Resend | 100 emails/day | 1–5 alerts/day | ✅ Free |
| sentence-transformers | Open source, CPU-only | Local embed, no API | ✅ Free |
Total infrastructure cost: $0.00/month