Product Design · AI Tool · 2026

Outreach OS

I was applying for design roles and losing hours to the same busywork. So I built the tool I wanted.

Outreach OS turns a job posting into a researched application: a fit score, resume edits, a cover letter, and cold emails written for the specific person reading them. Built and shipped in a week. I use it for my own applications.

v1 — Live prototype
🔒
Loading…
01 / 06 — Company
Company name
Anthropic
Company website
https://anthropic.com
LinkedIn page optional
https://linkedin.com/company/anthropic
Next →
02 / 06 — Job Description
Paste the full job description
486 words detected
Analyse →
03 / 06 — Score
7.6
/ 10
Good, with gaps
Close the gaps below to strengthen it
Skills
2.1
Experience
1.7
Seniority
1.9
Evidence
2.3
Continue →
04 / 06 — Research
Company intelligence · Anthropic
What they do
AI safety research building reliable, interpretable AI for the long term good of people
Design angle
Clarity as a design value. Every surface serves trust
Recent move
Claude 3.5 Sonnet launch. New product surfaces across B2B and consumer
LinkedIn
Posts on safety research, team culture, and design hiring
05 / 06 — Cold Email
✓ Draft saved
Complete
Application package ready.
3 Gmail drafts · Cover letter · Tracker row copied
Score: 7.6
Researched
Human-voiced
Saved
One run. Everything you need.
Score · Research · Cover letter · 3 cold emails · Gmail drafts
Product Design · AI Tool · 2026

Outreach OS

A job posting goes in. A full, researched application comes out.

I was spending an hour on each application and still sending something that read like a template. So in a week I built Outreach OS. It scores how my resume fits the role, researches the company, and gives me a strong starting point to write from. I take it from there, and I use it every time I apply.

My role
Product designer + builder
Type
0 → 1 product build
Stack
Claude Sonnet · Apify · Gmail MCP · HTML/JS
Status
Live prototype · v1 complete
01 — Situation

I kept hitting the same wall.
So did everyone I asked.

Applying for design roles, I was spending close to an hour on each application and still sending things that read like everyone else's. When I asked around, my seniors, my friends, juniors just starting out, every one of them described the same problem. It's not specific to designers, or to students. Anyone applying for a job, anywhere, runs into it.

250
avg applications per corporate posting
6s
avg recruiter time per resume
3%
cold email reply rate, industry average

The usual answer is to apply to more jobs, which only makes it worse. The AI tools meant to help make it worse too. Recruiters can spot a templated cover letter on sight, so it gets skipped. Four things were actually going wrong:

01
Problem 01

AI output gives itself away

Cover letters from generic tools share the same structure and the same hollow tone. Recruiters see hundreds and filter them out before reading. The tool meant to help becomes a tell.

02
Problem 02

Scores you can't trust or trace

Existing tools score a resume without showing their work. The same resume scores 9.1, then 10, minutes later. Feedback like "strengthen your first bullet" never says which bullet, or against which requirement.

03
Problem 03

Research costs more than the application

Real personalisation means knowing something true about the company, which takes 30 to 60 minutes of digging. Most people skip it. The few who don't are the ones who get replies.

04
Problem 04

No memory by interview day

You tailor a letter, make specific claims, then forget them by the time the call comes weeks later. The posting is gone. Nothing was kept.

02 — Action

One input.
A full draft to work from.

You give it the job posting. It does the research, scores the fit, and writes the first version of everything. What comes out is not meant to be sent blind. It is a strong starting point you read, sharpen, and add your own judgment to, so you begin at a real draft instead of a blank page.

01 — Input
Company + job posting
Name, website, optional LinkedIn URL. The full job description pasted in. LinkedIn unlocks post scraping, real company activity the emails can reference.
02 — Analyse
Grounded fit score
Requirements extracted from the JD, weighted by importance. Each matched against the resume with verbatim evidence. Score computed in JavaScript, not guessed by the model.
03 — Research
Company intelligence
Website, news, and LinkedIn posts scraped in parallel. What they do, the design angle, a recent move. All structured and verified before anything is written.
04 — Write
Tailored emails + cover letter
Each email runs a strategy pass first. Recipient type, company stage, match strength. Then it writes to that strategy. Cover letter tied to the actual mission. No templates.
05 — Send
Gmail drafts verified
Emails saved as verified Gmail drafts. The tool confirms a draft ID before showing success. Edit inline, redo with feedback, review a diff before committing.
06 — Track
Tracker row on clipboard
Company, job description, and cover letter built into a row split by tabs. One paste into a Google Sheet. JD saved because postings get taken down.
03 — The Intelligence

Where the real
design decision was.

The thing I had to get right was deciding what the model should and should not do. It is good at reading, extracting, and matching. It is unreliable at math. So I let it judge the language and moved every number into plain JavaScript. That one split is why the score can be trusted and why the same resume always gets the same result.

Requirement extraction
8 to 12 weighted requirements pulled from the JD. Each tagged by type: hard skill, tool, experience, seniority, keyword. Sorted by weight. The essential ones are flagged. The same JD always produces the same requirement set.
Evidence validation
Every "present" verdict requires a verbatim quoted sentence from the resume. The tool searches the actual resume text. If the model invents a quote that cannot be found, the score drops. Invented evidence cannot inflate the score.
Score computed in code
Weighted match counts through a JavaScript formula. Gaps in essential requirements apply a penalty cap. The same resume gets the same score from the same JD every time. No model variance.
Email written in two passes
Pass one is a strategy call. Recipient type, company stage, research depth, match strength. It outputs a compact JSON: emphasis, tone, opener angle. Pass two writes to that strategy. The shape is stable. The content is never templated.
04 — Result

Less time on each application.
More of it that actually lands.

The goal was never to automate the job search. It was to shift where the human effort goes: away from research and formatting, toward judgment and editing. Outreach OS handles what a machine can do well. The applicant handles what only they can.

Efficiency gain
~40%
Reduction in time spent per application. Research, writing, and formatting are automated. The applicant edits, not drafts from scratch.
Personalisation rate
100%
Every output, the score, edits, emails, and cover letter, is generated for this specific company and this specific role. No two runs produce the same result.

The right question isn't "how do I apply to more jobs." It's "how do I make each application worth sending."

Before Outreach OS
60 to 90 minutes per application. Research done manually or skipped. Resume edits based on vague AI feedback. Cover letter rewritten from a template. Email tone the same regardless of recipient. No record kept.
With Outreach OS
15 to 20 minutes of active work per application. Research automated and verified. Edits traced to specific JD requirements. Cover letter grounded in the company's actual mission. Emails shaped to each recipient. Full record saved.
05 — What Comes Next

This is v1.
The product vision is bigger.

Outreach OS started as a personal tool. The problems it solves belong to every job seeker trying to stand out in a market that rewards specificity. The roadmap treats this as v1 of a product, not a finished project.

Now · v1
Working prototype
Live
The full flow works start to finish. Score, research, emails, cover letter, Gmail drafts, tracker. One file, personal use.
Next · v2
Built for more than one user
Planned
API keys moved to the server. Secure key handling. User accounts. Application history stored and searchable.
v3
Interview prep layer
Future
Interview question generation from the JD and cover letter. The record becomes a study guide, not just an archive.
v4
SaaS product
Future
Subscription tier. Team accounts for career coaches. Analytics on what outreach converts to interviews across roles.
06 — How it works

Six steps. One run.
Ready to interview.

The full flow, screen by screen. Scroll through, or click any step to jump to it. Click the screen to expand.

Live demo not available
The working tool can't be shared publicly yet. The file holds API keys typed straight into the code and tokens (Apify, Claude, Gmail) that would be exposed. Screenshots and a recorded walkthrough are available on request. Moving them to the server is on the v2 roadmap.
🔒 outreach-os.app
01 · Company
Loading…
Outreach OS — Company step
01 · Company
Outreach OS — Job Description step
02 · Job Description
Outreach OS — Score step
03 · Score
Outreach OS — Research step
04 · Research
Outreach OS — Cold Email step
05 · Cold Email
Outreach OS — Complete step
06 · Complete
01
Start with the target
Enter the company name, website, and an optional LinkedIn URL. The LinkedIn page unlocks post scraping, the real recent activity the emails can reference. One minute of input drives everything downstream.
02
The JD drives everything
Paste the full job description. Outreach OS extracts weighted requirements, flags the ones that are essential, and uses the JD as the source of truth for scoring, editing, and writing. The posting is also saved, because it will get taken down.
03
A score you can actually explain
Requirements from the JD are matched against your resume with verbatim evidence. Quotes the model invents get caught and the score drops. The final score is computed in JavaScript, not guessed by the model. Same resume, same JD: same number every time.
04
Real intel, verified before it's used
Website, recent news, and LinkedIn posts scraped in parallel. What they do, the design angle, a recent move. All surfaced and verified before anything is written. Refusal language is automatically stripped. Fake facts can't poison the outreach.
05
Written to the person, not the role
A strategy pass weighs the recipient type, company stage, research depth, and match strength before writing a word. A founder gets a different email than a recruiter. Short, written in the first person, with none of the usual AI tells. A list of banned words strips them before output.
06
Ready to interview before you close the tab
Gmail drafts are verified by ID before success is shown. The cover letter and JD are saved to a tracker row on your clipboard. One paste into a Google Sheet. Weeks later when the interview call comes, the record is already there.
07 — Reflection

The hard part wasn't the AI.
It was knowing what to leave to code.

Outreach OS is proof that the hard part of an AI product isn't the model. It's knowing what to leave to code, and shipping it.