Skip to content

rickytang666/prospector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

282 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Prospector

Perplexity for design team sponsors β€” reads your docs, ranks 1,600+ companies by fit, and drafts the outreach.


Overview

Waterloo design teams build satellites, solar cars, and autonomous vehicles β€” projects that rival professional engineering efforts. But finding sponsors to fund them still means team leads manually cold emailing hundreds of companies, on top of a full course load, hoping someone replies.

Prospector fixes that. Point it at your GitHub, Notion, or Confluence and it builds a picture of what your team needs. Ask it for sponsors β€” it searches 1,600+ companies ranked by technical fit and Waterloo affinity, explains every match, and writes the cold email.

Demo

prospector_demo.mp4

Or view it on YouTube: https://youtu.be/Bt6CjH47xMQ

Features

  • Sponsor discovery β€” semantic search over 1,600+ companies, re-ranked by an LLM for your specific query
  • Waterloo-aware β€” companies that already sponsor design teams rank higher
  • Contact finding β€” scrapes company sites for real emails, falls back to MX-validated suggestions
  • Match explanations β€” specific reasons why each company fits, not generic filler
  • Outreach drafting β€” generates and sends cold emails via Gmail
  • Team context ingestion β€” GitHub, Notion, Confluence, any URL
  • RAG chat β€” ask anything about your team or the sponsor database

How to use

From Zero to Running

1. Install dependencies

pip install -r requirements.txt

2. Create a Discord bot

  1. Go to discord.com/developers/applications β†’ New Application
  2. Bot tab β†’ Add Bot β†’ Reset Token β†’ copy it (this is DISCORD_TOKEN)
  3. Scroll down β†’ enable Message Content Intent
  4. OAuth2 β†’ URL Generator β†’ scopes: bot, applications.commands β†’ permissions: Send Messages, Read Messages, Use Slash Commands
  5. Copy the generated URL β†’ open it in browser β†’ add bot to your server
  6. Right-click your server name β†’ Copy Server ID (this is GUILD_ID)

3. Get your other API keys

Key Where to get it
OPENROUTER_API_KEY openrouter.ai/keys
SUPABASE_URL + SUPABASE_KEY Your Supabase project β†’ Settings β†’ API
GITHUB_TOKEN GitHub β†’ Settings β†’ Developer Settings β†’ Personal Access Tokens
GEMINI_API_KEY aistudio.google.com
GMAIL_USER + GMAIL_APP_PASSWORD Gmail β†’ Google Account β†’ Security β†’ App Passwords

4. Configure environment

cp .env.example .env
# fill in all keys above

5. Populate the database

Run once, re-run to update.

python scraper/run.py

Sources: Waterloo design team sponsor pages, Velocity incubator, Wikipedia engineering categories, curated seeds.

Output: ~1,600 entities with summaries, tags, and Waterloo affinity evidence stored in Supabase.

6. Run the bot

bash scripts/run_bot.sh

You'll see [on_ready] ready when it's up. Slash commands sync automatically on startup (~5s).

Discord Commands

First time (in order)

/setup-team       Register your team β€” point it at your GitHub org URL
/configure-team   Join the team (every member runs this)
/analyze-team     Load your team context β€” see blockers, stack, recruiting gaps

Finding sponsors

/find-sponsors    Search ranked sponsor candidates ("we need RF hardware support")
/explain-match    Drill into why a specific company was recommended
/recruit-gap      See what roles your team is missing

Context and memory

/add-context           Add a Notion page, Confluence space, or URL to your team's knowledge
/remove_from_memory    Delete specific chunks by search query
/nuke                  Wipe all data for your team

Email outreach

/chat           RAG chat β€” ask anything about your team or sponsors
/sample_email   Draft a cold email to a matched company
/send_email     Send the draft via Gmail

Dev Tools

Testing the RAG pipeline without opening Discord:

python test_rag.py "we need RF hardware support"

Stack

  • Bot: discord.py
  • Backend: FastAPI
  • Database: Supabase (pgvector)
  • Scrapers: httpx, trafilatura, BeautifulSoup4

Architecture

About

🀝 Discord bot that helps Waterloo engineering design teams find the right sponsors.

Resources

Stars

Watchers

Forks

Contributors

Languages