← Back to Projects
Machine LearningIterating

LabReach AI

Research outreach copilot: scrape, summarize, draft, review, then send.

LabReach started as a script to reduce repetitive outreach prep. I kept a human-review checkpoint as a hard requirement so automation helps without blindly sending.

Date
2026
Signal
ML + Tools
Build stage
CLI pipeline working, expanding campaign tooling
Stack
Python, Ollama
ml-toolsautomationscrapingworkflow
Workflow preview

Project notes

Highlights

What I built

  • URL discovery pipeline for department listing pages.
  • Local LLM drafting option to keep sensitive content off cloud services.
  • Review artifacts generated before any send action.

Architecture

How the system works

  • Scrape/extract modules feed structured profile context.
  • LLM stage drafts outreach text from context templates.
  • Campaign layer stores history and controls send scheduling.

Challenges

What made it hard

  • JS-heavy faculty pages broke simple scraping logic.
  • Email extraction quality varied across lab websites.
  • Automation required strict safeguards around send behavior.

Lessons

What I learned

  • Speed without brakes is not useful in outreach workflows.
  • A review layer is both an ethics and quality requirement.

Stack / materials

PythonOllamaBeautifulSoupPlaywrightSQLiteGmail API
  • Discovery + review tooling now matters more than single-email generation.
  • Next step is stronger campaign observability and retry handling.

Media timeline

Build photos, clips, and process visuals. The goal is to show how the project evolved, not just the final screenshot.

Build snapshot
LabReach AI media 1
Iteration snapshot
LabReach AI media 2
Gallery 3
LabReach AI media 3