EverCV now covers 102 signal sources — here's what that means
Last week EverCV launched with 62 signal sources. This week it has 102.
That's 40 new adapters built in a single overnight session: Jenkins, AWS CodeBuild, Google Cloud Build, Heroku CI, Argo CD, Cloudflare Workers, Pulumi, AWS Lambda deploys, Cloud Run revisions, Snyk vulnerability fixes, Datadog Incidents, Opsgenie, Incident.io, Statuspage.io, Bugsnag, Rollbar, New Relic, Intercom, Jira Sprints and Worklogs, Linear Comments, Shortcut Epics, Bitbucket Issues, GitHub Discussions and Wiki, Sentry Releases, Azure DevOps Pipeline runs, Coda, Grafana, Postman, Figma Comments, Miro, LaunchDarkly, Docker Hub, GitHub Packages, Notion DB rows, Airtable records, Retool app deploys, Zapier zap runs, and Make/Integromat scenario runs.
The pipeline now has 3,070 tests, all green.
Why this many sources matters
When I started EverCV, the pitch was "GitHub connects to your CV." That's the version most engineers try first. It works. But it has a ceiling.
Commits capture code. They don't capture:
- The three-week debugging effort that ended in one commit and a Jira ticket closure
- The PagerDuty incident you owned at 2am that took the service from 99.1% to 99.97% uptime
- The Confluence doc you wrote that became the onboarding reference for 4 new engineers
- The ConnectWise time entries that represent 120 hours of billable client work
- The Snyk CVE you resolved that removed a critical vulnerability from the production stack
These are real contributions. They're often the most impressive contributions. They just don't show up in git.
Each new adapter is a window into work that was previously invisible.
The adapter pattern
Every EverCV adapter follows the same structure:
def fetch_[events]_for_day(
api_key: str,
day: date,
*,
http: HttpClient = _default_http,
api_base: str = _DEFAULT_API_BASE,
) -> list[RawSignal]:
The HttpClient is injectable — a simple callable (method, url, headers, body) → (status, bytes). Every adapter gets 25–35 tests using a stub HTTP client. No network required. No mocking frameworks. No fixtures to maintain.
This pattern has held up through all 102 adapters. The contract is simple enough that building a new adapter takes about 90 minutes: read the API docs, write the fetch function, write the test file, register the SourceType in extract.py. Repeat.
What's new in this batch
Infrastructure/Deploy signals are the biggest addition. Jenkins builds, CodeBuild, Google Cloud Build, Heroku CI, Argo CD, Cloudflare Workers, Pulumi, AWS Lambda updates, Cloud Run revisions — these are the signals that tell the story of "I shipped this to production." For engineers whose work is heavily in infra and DevOps, this batch makes EverCV significantly more useful.
Incident signals fill a career gap. PagerDuty was already there. This batch adds Opsgenie, Incident.io, Statuspage.io, Bugsnag, Rollbar, New Relic alert closures, and Datadog Incidents. Resolving an incident — especially in the middle of the night, at a company that cares about reliability — is exactly the kind of thing that should be on your CV and almost never is.
Security signals via Snyk. Resolving a CVE is a CV-worthy event. The adapter captures Snyk's "fixed" issues: what the vulnerability was, what severity, when you fixed it. "Resolved 3 critical CVEs in the payment service in Q2" is a concrete bullet. It's now automatic.
No-code / Automation signals (Airtable, Notion DB, Retool, Zapier, Make) are new territory. These matter for engineers who build internal tools — Retool app deploys, completed Airtable records, automated workflow runs. The "low-code senior engineer" is a real career archetype and a real skill signal. Now EverCV sees it.
The coverage threshold
At 102 sources I'm starting to think about coverage differently.
For most software engineers, the relevant signals are: code (GitHub/GitLab), tickets (Jira/Linear), CI/CD (GitHub Actions or Jenkins), and maybe time tracking (Toggl or Harvest). Four integrations cover 90% of the signal.
The tail — Retool deploys, Zapier zap runs, Miro board updates — covers the remaining 10% and matters for specific archetypes. The engineer who lives in Retool. The ops person who runs everything through Make. The PM who also codes.
The goal was always "if you work in it, EverCV can see it." 102 sources is close to that. Not every tool in the world, but every category of work that shows up on a software engineer's resume.
What's next
EverCV's code is ready. The adapters work. The API handles the full job search cycle from "CV update" through "offer acceptance email."
What's left is the boring launch work: domain registration, SAM deploy, SES identity verification, Stripe products, OAuth app registration. Chester has to do those by hand. None of it is technically interesting.
After that: Sign up at evercv.io. Free tier is GitHub only. Prosumer is $15/mo for all 102 signal sources. Pro is $39/mo and adds the full AI job search toolkit.
The free tier is genuinely useful for most engineers most of the time. If you work in anything beyond GitHub, the Prosumer tier pays for itself in the first week.
*EverCV is open source. The full adapter codebase is on GitHub under MIT license. [View on GitHub] (link to repo)*