{"id":47,"date":"2026-07-01T17:00:00","date_gmt":"2026-07-01T17:00:00","guid":{"rendered":"https:\/\/vectormatch.dev\/blog\/?p=47"},"modified":"2026-07-23T20:54:51","modified_gmt":"2026-07-23T20:54:51","slug":"outbound-doc-for-developers-b2b-pitch","status":"publish","type":"post","link":"https:\/\/vectormatch.dev\/blog\/outbound-doc-for-developers-b2b-pitch\/","title":{"rendered":"The 3-Part Outbound Doc: What You Do, What You See, What You Offer"},"content":{"rendered":"<p class=\"vm-lead\">A one-page developer pitch that replaces your resume, proves you audited their stack, and turns cold outreach into booked calls.<\/p>\n<div class=\"vm-tldr\">\n<p class=\"vm-tldr-label\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:.9rem;height:.9rem;\"><path d=\"M13 2 3 14h9l-1 8 10-12h-9l1-8z\"\/><\/svg>The short answer<\/p>\n<p>The 3-part outbound doc is a one-page B2B pitch built for developers. Part 1: What You Do \u2014 2-line proof of shipping similar stacks. Part 2: What You See \u2014 3 specific observations from their product, repo, or hiring page. Part 3: What You Offer \u2014 a scoped 2-week win with price anchor and CTA. No ATS, no cover letter fluff, just CTO-to-dev signal.<\/p>\n<\/div>\n<div class=\"vm-takeaways\">\n<p class=\"vm-h\">What you&#8217;ll learn<\/p>\n<ul>\n<li>Replace resume spam with a one-page teardown: What You Do, What You See, What You Offer.<\/li>\n<li>What You See must be 3 specific observations from their live product, not generic flattery.<\/li>\n<li>What You Offer should be a fixed-scope 2-week trial with price anchor to de-risk B2B hiring.<\/li>\n<li>Send via direct email and LinkedIn DM with Loom, track reply rate, and iterate after 20 sends.<\/li>\n<li>Use VectorMatch to automate tag screening and vector matching while you own the Loom.<\/li>\n<\/ul>\n<\/div>\n<h2>Why outbound docs beat resumes in 2026<\/h2>\n<p>Resumes are optimized for ATS parsers, not humans. In 2026, 38% of developers work fully remote and most B2B roles never hit job boards, so a resume alone cannot prove fit. An outbound doc flips the script by showing you already audited their stack and can ship a specific outcome in two weeks.<\/p>\n<p>If you have applied to 50+ roles and heard nothing, you are not broken. The system is. Job boards push you through Greenhouse, Lever, or Workday filters that rank by keyword overlap, not shipping ability. One viral post on <a href=\"https:\/\/m.economictimes.com\/news\/international\/us\/fired-employee-gave-up-mass-applying-and-decoded-job-listings-like-clues-heres-why-the-hack-worked\/articleshow\/127323070.cms\" target=\"_blank\" rel=\"noopener\">Reddit&#8217;s r\/jobsearchhacks about a \u201ctheir nouns\u201d doc<\/a> showed why: after 200+ ATS applications with zero callbacks, the author switched to mapping employer language and adding one targeted bullet. Result: three interviews in ten days.<\/p>\n<p>For developers chasing B2B contracts, the math is worse. The <a href=\"https:\/\/survey.stackoverflow.co\/2025#work\" target=\"_blank\" rel=\"noopener\">2025 Stack Overflow Developer Survey shows 38% fully remote and 10% freelance or self-employed<\/a>, yet most global contracts are filled via referral or direct outreach before they ever become a public req. An outbound doc for developers replaces volume with proof. You are not asking for permission to be screened. You are showing a CTO you already looked at their product and have a plan.<\/p>\n<p>This is why the classic resume + cover letter fails for B2B. Cover letters explain motivation. CTOs want risk reduction. The outbound doc answers the only question that matters: can you ship this specific thing in their stack without creating more work for their team? That is also how you <a href=\"\/blog\/ats-black-hole-developers\">escape the ATS black hole<\/a> that eats React and Node.js profiles every day.<\/p>\n<div class=\"vm-cta\"><a href=\"https:\/\/vectormatch.dev\" class=\"btn-brand\">Get my outbound doc matched to real B2B roles \u2192<\/a><\/div>\n<p class=\"vm-figure-caption\"><em>Resumes go to ATS filters. Outbound docs go to CTO inboxes.<\/em><\/p>\n<h2>What the outbound doc for developers actually is<\/h2>\n<p>The 3-part outbound doc is a single page split into three blocks that map to trust. What You Do establishes relevance in two lines, What You See proves you did homework on their product, and What You Offer turns insight into a low-risk, fixed-scope trial that a CTO can say yes to.<\/p>\n<p>Think of it as a teardown, not a biography. The original r\/jobsearchhacks framework was built for generic roles: show you understand the company&#8217;s pain, then position yourself as the fix. For developers pitching B2B, we adapt it with code-level specifics.<\/p>\n<h3>1. What You Do \u2014 proof in their nouns<\/h3>\n<p>This is not your title. It is two lines that mirror their stack and outcome. Bad: \u201cSenior Full-Stack Developer with 8 years experience.\u201d Good: \u201cShip Next.js 14 + tRPC performance fixes. Last quarter: cut LCP from 4.2s to 1.1s for a $2M ARR SaaS.\u201d<\/p>\n<p>Use their exact nouns. If they say \u201cNext.js App Router, Prisma, Postgres, Vercel,\u201d you say the same. This is the lesson from that \u201ctheir nouns\u201d doc \u2014 ATS and humans both filter by vocabulary. List one framework chain you own, one metric you moved, and one environment you have shipped in, like B2B SaaS or Laravel + Livewire monoliths.<\/p>\n<h3>2. What You See \u2014 three observations they cannot ignore<\/h3>\n<p>This is where 90% of cold pitches die. Most devs write \u201cI love your product.\u201d A CTO hears nothing. Instead, record a 60-second Loom scrolling their app and name three specific, non-obvious observations.<\/p>\n<ul>\n<li><strong>Product or UX gap:<\/strong> \u201cOn \/pricing, the annual toggle resets on refresh. State is not persisted in URL search params.\u201d<\/li>\n<li><strong>Tech or performance signal:<\/strong> \u201cYour marketing site ships 2.3 MB of client JS. No dynamic import for the testimonial carousel. Lighthouse shows 67 performance.\u201d<\/li>\n<li><strong>Business or hiring signal:<\/strong> \u201cYou are hiring for two frontend roles mentioning Framer Motion migration. Your changelog shows that migration stalled in March.\u201d<\/li>\n<\/ul>\n<p>You do not need access to their private repo. Public signals are enough: network tab, source maps, job descriptions, changelog, GitHub issues. The goal is to prove you looked. That is what <a href=\"https:\/\/blog.superhuman.com\/cold-outreach-templates\" target=\"_blank\" rel=\"noopener\">cold outreach templates that get replies<\/a> all have in common \u2014 a trigger observation, not flattery.<\/p>\n<h3>3. What You Offer \u2014 a scoped trial they can buy<\/h3>\n<p>Stop offering \u201cfull-time availability\u201d or \u201c10 hours a week.\u201d Offer a concrete two-week win with a price anchor and a clear deliverable. This de-risks you for B2B.<\/p>\n<ul>\n<li><strong>Scope:<\/strong> \u201cFix pricing state + ship dynamic imports for 3 marketing pages. PRs with tests, Vercel preview links, and LCP before\/after.\u201d<\/li>\n<li><strong>Timeline:<\/strong> \u201c10 days, async, Slack overlap 13:00\u201316:00 CET.\u201d<\/li>\n<li><strong>Price anchor:<\/strong> \u201cFixed \u20ac2,400 for the sprint, or $65\/h B2B via Deel. No commitment after.\u201d<\/li>\n<li><strong>CTA:<\/strong> \u201cIf useful, I can send the Loom teardown today. Want me to?\u201d<\/li>\n<\/ul>\n<p>This structure borrows from proven <a href=\"https:\/\/close.com\/blog\/b2b-cold-email-templates\" target=\"_blank\" rel=\"noopener\">B2B cold email frameworks<\/a> \u2014 hook with relevance, prove with observation, close with low-friction ask \u2014 but rewritten for developers who sell outcomes, not hours.<\/p>\n<div class=\"vm-cta\"><a href=\"https:\/\/vectormatch.dev\" class=\"btn-brand\">Show me CTOs hiring my exact stack \u2192<\/a><\/div>\n<p class=\"vm-figure-caption\"><em>What You See: 3 specific observations from their live product with Loom proof.<\/em><\/p>\n<h2>How to build your developer outbound doc in 45 minutes<\/h2>\n<p>You can build a high-signal outbound doc in 45 minutes using their public stack, a quick Loom, and a tight scope. Start with LinkedIn and their repo, pull three observations, match each to a past ship, then package a two-week sprint with a price range and a calendar link for maximum reply rate.<\/p>\n<p>Here is the exact workflow senior contractors use to get 20\u201330% reply rates, not the 2% most job board spam gets.<\/p>\n<h3>Step 0: Pick one target, not ten<\/h3>\n<p>Choose a company with public traction, a visible Next.js or Laravel or Python stack, and a hiring signal. A recently posted frontend role, a \u201cWe are rebuilding onboarding\u201d blog post, or a founder complaining about performance on LinkedIn are perfect triggers. Skip companies with no public surface to audit.<\/p>\n<h3>Step 1: 15 minutes \u2014 stack reconnaissance<\/h3>\n<p>Open their site with DevTools. Check package.json via source maps, Wappalyzer, or \/_next\/static chunks. Look at their careers page for nouns. Look at their GitHub org for stale PRs. Write down exact tools: \u201cNext.js 14, Tailwind, Prisma, PlanetScale, Clerk.\u201d That list becomes your What You Do vocabulary.<\/p>\n<h3>Step 2: 15 minutes \u2014 write What You See<\/h3>\n<p>Record a Loom, no editing. Script: \u201cHey, I was looking at because. Noticed three things.\u201d Show the bug, show the network waterfall, show the job description mismatch. Keep it under 90 seconds. Then transcribe the three bullets into the doc. Link the Loom at the top of the doc.<\/p>\n<h3>Step 3: 10 minutes \u2014 write What You Offer<\/h3>\n<p>Match each observation to a past ship. Example mapping table:<\/p>\n<table>\n<thead>\n<tr>\n<th>Observation<\/th>\n<th>Your Proof<\/th>\n<th>Offered Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Pricing toggle resets<\/td>\n<td>Fixed similar state bug for SaaS X<\/td>\n<td>Persist in URL + test<\/td>\n<\/tr>\n<tr>\n<td>2.3 MB client JS<\/td>\n<td>Cut bundle 68% for SaaS Y<\/td>\n<td>Dynamic import + audit<\/td>\n<\/tr>\n<tr>\n<td>Framer Motion stall<\/td>\n<td>Migrated 40 components at Z<\/td>\n<td>Ship 10 components in sprint<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Keep scope narrow. A two-week sprint beats \u201cI can do anything.\u201d CTOs buy specific fixes, not general availability.<\/p>\n<h3>Step 4: 5 minutes \u2014 format for CTO scan<\/h3>\n<p>One page, plain Google Doc or Notion, no columns, no icons. Title: \u201cFor \u2014 in 10 days.\u201d Structure:<\/p>\n<ol>\n<li>What You Do \u2014 2 lines<\/li>\n<li>What You See \u2014 3 bullets + Loom link<\/li>\n<li>What You Offer \u2014 scope, timeline, price anchor, calendar link<\/li>\n<\/ol>\n<p>Export as PDF with selectable text. Do not use images of code. That breaks ATS and search if they forward it, and it signals junior.<\/p>\n<p>Want to see how matching actually works behind the scenes? <a href=\"\/blog\/direct-pitch-templates\">Our direct pitch templates break down<\/a> how VectorMatch&#8217;s 3-Gate funnel screens tags, then vector similarity, then LLM reasoning \u2014 the same logic you should use manually until you automate it.<\/p>\n<div class=\"vm-cta\"><a href=\"https:\/\/vectormatch.dev\" class=\"btn-brand\">Increase my reply rate with AI-matched pitches \u2192<\/a><\/div>\n<p class=\"vm-figure-caption\"><em>Map each observation to past proof and a 2-week fix.<\/em><\/p>\n<h2>Where to send it and how to track what works<\/h2>\n<p>Send the doc where CTOs actually read, not where ATS lives. That means direct email found via GitHub or company domain, a LinkedIn DM with the Loom attached, and a follow-up that adds one new observation. Track opens, reply rate, and trial conversion to iterate weekly.<\/p>\n<p>Do not upload it to Lever or Greenhouse. That defeats the purpose. The outbound doc is for bypassing forms.<\/p>\n<h3>Channel 1: Email to the decision maker<\/h3>\n<p>Find the CTO or VP Engineering via LinkedIn or their GitHub commits. Use a tool like Apollo or hunter.io to guess the work email, or DM them asking for the best email to send a 60-second teardown. Subject: \u201cTeardown: 3 quick wins for \/pricing.\u201d Body: 40 words max, link to doc and Loom, no attachments. Attachments kill deliverability.<\/p>\n<h3>Channel 2: LinkedIn with context<\/h3>\n<p>Do not pitch in the connection request. Connect with a note: \u201cSaw your post on. Noticed a small bug on pricing. Happy to share a Loom if useful.\u201d After they accept, send the doc. This two-step approach doubles reply rate versus cold pitching on connect.<\/p>\n<h3>Channel 3: Follow-up with new value<\/h3>\n<p>One follow-up, 48 hours later, with one new observation. Not \u201cbumping this.\u201d Example: \u201cAlso noticed your blog images are not lazy-loaded. I shipped that for and cut LCP 0.8s. Added it as an optional extra in the doc.\u201d<\/p>\n<p>Track in a simple sheet: company, observation, date sent, opened, replied, call booked, trial closed. After 20 sends, you will see patterns. Most devs find that Next.js performance teardowns reply 2x more than generic \u201cI can help\u201d offers. That data is gold for <a href=\"\/blog\/remote-b2b-contracts-guide\">landing remote B2B contracts consistently<\/a>.<\/p>\n<p>If manual outbound feels like a second job, that is because it is. VectorMatch automates the reconnaissance part: tag screening filters for your real stack, vector similarity finds hidden B2B roles that match your past ships, and LLM reasoning writes the pitch in the hiring manager&#8217;s nouns. You still own the Loom, but you skip the ATS lottery.<\/p>\n<p>The outbound doc for developers works because it replaces generic motivation with specific proof. What You Do shows you ship their stack, What You See shows you already audited them, and What You Offer turns insight into a buyable two-week win. Build one in 45 minutes, send it direct, track replies, and iterate. That loop beats any ATS hack.<\/p>\n<div class=\"vm-cta\"><a href=\"https:\/\/vectormatch.dev\" class=\"btn-brand\">Skip the ATS and pitch directly to decision makers \u2192<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Skip ATS filters. Use the 3-part outbound doc to pitch CTOs directly: what you do, what you see in their stack, and what you offer as a B2B dev.<\/p>\n","protected":false},"author":1,"featured_media":46,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[32,31,35,9,36],"class_list":["post-47","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-job-search-strategy","tag-b2b","tag-freelance","tag-networking","tag-next-js","tag-portfolio"],"_links":{"self":[{"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/posts\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":1,"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"predecessor-version":[{"id":48,"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions\/48"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/media\/46"}],"wp:attachment":[{"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectormatch.dev\/blog\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}