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