Outreach emails in your voice. Just hit send.
Give it a true fact, your pitch, and how you write. It drafts the email into Gmail. You hit send.
Early and open source. Metrics aren't built yet.
Tap a guava, or shake the tree.
How it fits together
One engine, many packs
The engine never changes. A pack is one YAML file: who you're writing to, your pitch, which angles, when to follow up.
Your packs, voice profile, and contacts stay in git-ignored folders. Public code, private data.
Live demo
Try it
Real engine, fictional sender, fictional contacts. The notes about each contact are the only facts it may use.
Why I built this
AI kept forgetting how I write
AI helped me message people on LinkedIn, but it forgot my tone every time. I wanted one place that keeps my voice, my pitch, and my follow-up rhythm.
Job hunting, hiring, investor outreach. It's early. If you try it, give me your feedback.

Who built it?
Louise Eriksson
GTM and partnerships at SACC, the Swedish-American Chamber of Commerce, in San Francisco. COO at Blue Grid Energy. Stockholm School of Economics grad.
Install and run
Run it yourself
Needs Python 3 and git.
- Clone the repo and make a virtual environment.
- Install the dependencies.
- Copy
.env.exampleto.envand add your Anthropic key. - Copy a template pack into
campaigns/private/and fill it in.
git clone https://github.com/erikssonlouise/gtm-engine.git
cd gtm-engine
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python run.py show-pack job-hunt
python run.py init-db
python run.py import-contacts data/contacts.csv
python run.py draft --pack job-hunt --contact person@example.com --dry-run
python run.py draft --pack job-hunt --contact person@example.com --gmail
python run.py due --pack job-hunt
--dry-run skips the API. --gmail needs a one-time gmail-auth sign-in. A test blocks any send call.
What works today
- Drafts in your voice
- Gmail drafts, you send them
- Follow-up schedule with a due list
- Contacts and touches in SQLite, opt-out included
Not built yet
- Reply and meeting metrics
- A review every two weeks
- More template packs