Skip to content
HireBridgePublic

About

Outreach-research tool: company hiring-signal data, contact discovery, and human-in-the-loop draft generation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reachops

ReachOps is an outreach-research tool. It builds a database of US companies with hiring signal (a Form 5500 backbone), resolves each company's domain, discovers their job boards and open postings, surfaces hiring stakeholders (leaders and recruiters), and drafts outreach emails for a human to review and send.

For AI agents / contributors: start with AGENTS.md (durable architecture reference: stack, module map, routes, constraints), then HANDOFF.md (live data state and build history). Check the app is alive and read the live state section before changing anything. Never commit reachops.db — it holds plaintext API keys and is gitignored.

The app is a Python (Flask + Jinja2, server-rendered) + SQLite system. This npm package bundles that app and provides a small CLI for setup, running, and porting the database safely.

Requirements

  • Node.js >= 14 (for the CLI)
  • Python 3 on your PATH (for the app runtime; you can override with PYTHON=...)
  • Network access on first setup (installs Python deps)

Quick start (one command)

npx reachops setup     # creates a venv, installs deps, migrates the schema
npx reachops serve     # starts the dashboard at http://localhost:5050

setup is idempotent: it reuses an existing .venv and skips already-applied migrations. Run it in the directory where you want your ReachOps workspace to live (the database reachops.db and the .venv are created there).

Commands

Command Purpose
reachops setup One-command setup: create venv, install requirements, migrate the schema.
reachops serve Run the dashboard on http://localhost:5050 (Ctrl-C to stop).
reachops migrate Apply any pending schema migrations.
reachops export-db [--out file] Copy the database to a portable file.
reachops import-db <file> Load a database export into place.

Environment variables

Variable Purpose
REACHOPS_DB Override the database path (default: ./reachops.db).
PYTHON Override the Python binary to use for the venv/runtime.
REACHOPS_<CONFIG_KEY> Supply a secret at import time, e.g. REACHOPS_LLM_API_KEY.

Exporting and importing the database

Secrets never travel through an export file.

  • export-db produces a full SQLite copy of your database with every secret config value blanked. The non-secret settings (provider, model, SMTP host, etc.) and all your data (companies, stakeholders, postings, outreach) are included. The secret keys that are stripped are: tavily_api_key, brave_api_key, firecrawl_api_key, apollo_api_key, hunter_api_key, llm_api_key, smtp_username, smtp_password.
  • import-db loads an export into place. It first backs up whatever is currently there (to reachops.db.bak-<timestamp>), then:
    • keeps your existing local secrets (they are never overwritten by the file),
    • fills any secret that is still missing from REACHOPS_<KEY> env vars,
    • never reads a secret from the import file.

So an export is safe to share or move between machines: it carries your data and non-secret configuration, but no credentials.

Data loading

setup only migrates the schema. The database starts empty. Loading the Form 5500 company set and industry codes is a separate, large step run with the bundled loader scripts (see the repo). Existing databases can be moved with export-db / import-db instead.

Publishing

This package is configured to be published to npm as reachops:

npm publish   # requires your npm account / auth

License

MIT

About

Outreach-research tool: company hiring-signal data, contact discovery, and human-in-the-loop draft generation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages