Skip to content

AWLSEN/osv-outreach

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

osv-outreach

OSV Fellowship alumni outreach pipeline for Null Bites Lab grant review.

Current status

  • 80 fellows scraped from osvfellowship.com/winners
  • 22 with direct email (see data/fellows.csv)
  • 39 with Twitter only (manual DM fallback)
  • 12 with LinkedIn only
  • 7 unreachable via public channels

Layout

scripts/
  scrape_winners.mjs    Playwright fetch + "Load more" clicks
  parse_table.mjs       jsdom parse of the saved HTML into table rows
  normalize.py          Split year / name / country / project
  enrich_contacts.py    Fetch each personal/company site, extract emails
  build_csv.py          Roll everything into data/fellows.csv
  send_outreach.py      Envelope preview + Gmail send with PDF attached
templates/
  email_subject.txt     Subject template (tokens: {year})
  email_body.md         Body template (tokens: {first_name}, {year_short}, {project_hook})
data/
  fellows.csv           Final contact table
  sent.log.jsonl        Append-only send log (created on first send)
  raw/                  Intermediate scrapes + html_cache/ for reproducibility

Re-run from scratch

node scripts/scrape_winners.mjs
node scripts/parse_table.mjs
python3 scripts/normalize.py
python3 scripts/enrich_contacts.py
python3 scripts/build_csv.py

Send the outreach (when ready)

# preview envelopes only — prints every recipient, never hits Gmail
python3 scripts/send_outreach.py --dry-run

# send to every row that has a direct email (22 fellows)
python3 scripts/send_outreach.py --send

Uses gws gmail messages send on awlseninc@gmail.com. Attaches /Users/sam/workspaces/programming/NullBites-MyoFib1-ActionPlan.pdf. Idempotent: re-running skips any recipient already present in data/sent.log.jsonl.

Manual follow-up

  • Twitter-only (39): DM from Sam's account with the Drive PDF link
  • LinkedIn-only (12): connection request with a one-liner + PDF link
  • Unreachable (7): needs name search / LinkedIn lookup (Ian Lavoi Davis, Isaak Freeman, Miroslav Stodic, Justh (x2), Sandro Luna, Ramji Lal)

About

OSV Fellowship alumni outreach pipeline for Null Bites Lab grant review

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages