Case study

I run my job search as a GTM system.

Built with
Claude, Apps Script, Google Sheets
Skills written
19
Period
June – September 2026

01

The numbers.

I wanted to learn automation properly, and I was already looking for a role. So I built the search itself as the thing to automate.

What the system holds

217companies in the tracker
78VC firms and angel networks
~40enrichment fields per company
19skills built
10+job sources monitored daily

Outreach and applications

Each square is one in a hundred. Filled squares are the ones that converted.

Cold email reply rate

Replies against emails sent

8.7%

~9 replies per 100 emails

LinkedIn application → live process

Applications that reached a real conversation

~6%

~6 conversations per 100 applications

Cold email → live process

Emails that reached a real conversation

~4%

~4 conversations per 100 emails

Portfolio traffic, July and August

533 sessions across the two months, from 47 distinct sources. Where they came from:

533 sessions
Resume linkTagged link on every resume sent48.6%259
DirectTyped or untagged26.6%142
Other / undefined42 long-tail sources14.8%79
LinkedInReferral and DM6.2%33
Cold emailTagged outreach links3.8%20
Nearly half of all traffic arrives through a resume link. Cold email, the channel taking most of my effort, accounts for under 4%.

02

Defining what I was selling.

Before building anything I had to be clear on the claim. The rule: every line on my resume or my site has to survive being questioned in an interview. If I can't defend the verb, the verb changes.

That mostly worked by subtraction. Ownership language got downgraded wherever I was on the team rather than running it, and one planned resume version got cut entirely because the evidence wasn't there.

What survived

I build go-to-market from zero

One sentence, every word defensible.

The same rule governs the automation

Every resume the system produces uses my existing bullets verbatim. It reorders them and weaves in the language of the job description, and that is all it is allowed to do. When a role asks for something I don't have, it flags the gap instead of inventing a bullet.

03

The system.

Four layers, and it works like any other funnel.

Layer 01

Source

Find companies at the right stage, and roles that are actually open.

8 skills

Layer 02

Enrich

Turn a company name into something I can write a specific email about.

5 skills

Layer 03

Convert

Produce the resume, the letter, the positioning and the outreach.

4 skills

Layer 04

Measure

Track what I sent, what came back, and who visited.

2 skills + analytics

Everything lives in Google Sheets. Every layer is a named Claude skill I wrote, so I run it by typing a command instead of remembering a process. Each one is resumable — it skips rows already done, so a run that dies halfway costs nothing.

04

The components.

Every item below is a Claude skill I wrote — a set of instructions Claude runs on command, against my own sheets and inbox.

Source

ai-startup-listThe core sourcing engine. Two hard gates: the most recent round must be pre-seed, seed or Series A closed within twelve months, and headcount must be under 200. Plus an AI-native filter and a geography filter, with India tracked separately.
series-ab-startup-listA broader Series A/B tracker, with region and sector specified per run.
india-vc-listVenture funds, micro-VCs and angel networks across India, with published contact addresses only. It never guesses or pattern-constructs an email.
daily-job-researchPulls roles across seven lanes — GTM, marketing automation, marketing ops, growth, product marketing, demand gen and ABM, mid-senior marketing — from more than ten remote-India sources.
linkedin-job-signalsRuns daily. Two passes over LinkedIn: a keyword search filtered to the past 24 hours, and a feed scroll. Captures the role, the company, the post link, who posted it, and the exact action the post asks for.
linkedin-saved-posts-fundingReads my own saved posts and sorts them into funding announcements and job posts.
marketing-company-finderCompanies rather than jobs: 400 to 5,000 employees, US, Europe or Australia headquartered, with an India-remote marketing role live on their own careers site.
linkedin-marketing-job-finderThe earlier LinkedIn-only version, since superseded.

Enrich

basic

Funding and business model

→

company

Footprint and hiring signals

→

founder

People and warm paths

→

summary

Synthesis and priority band

basic-enrichmentEight factual fields per company: customer type, motion, a plain-English one-liner, total raised, last round, round date, lead investors, revenue estimate.
company-researchThe external footprint. LinkedIn cadence and themes, community mentions and sentiment, ATS platform, open roles count, GTM roles open, SDR and AE hiring, stack inferred from job descriptions, stack inferred from the website, date-stamped triggers from the last six months, and a content gap rating.
founder-researchThe people layer. Founder names and roles, background type, who currently owns go-to-market, LinkedIn URLs, posting activity, content themes, and any shared surface I could use as a warm path.
account-summaryThe synthesis. It runs no new searches at all. It reads what the previous three wrote and produces a short account summary plus a priority band, scored on a fixed rubric weighted toward fresh triggers, small headcount, open GTM roles and India hiring. Visible failure signals force an ignore.
startup-detail-enricherA smaller enricher for the separate local funding tracker.

Convert

account-researchTakes a company, a founder profile or a job link and produces positioning, an email narrative and subject line options. It is required to read my resume and portfolio before it writes anything, so it cannot invent a claim I can't back.
jd-tailored-resumeRoutes a job description to the right content bank, reorders blocks by role type and business model, weaves in the job's language, and renders the PDF. Bullets stay verbatim. It reports its keyword coverage and its gaps every time.
cover-letter-builderPlain-text letters, written against the same content bank and the same honesty rule.
resume-builderThe first-generation version, kept for reference.

Measure

job-switch-trackerScans my inbox and maintains two tables: outreach, with a column pair per follow-up touch and whether each got a reply, and applications, with rejections and calls. Idempotent, so it is safe to run daily.
Website analyticsGoogle Analytics, Google Tag Manager, a company-level visitor tracker and a second reverse-IP tool, plus a per-recipient UTM parameter so I can tell which specific person opened my portfolio.
desktop-filesFile maintenance across the whole workspace.

05

What broke.

I am not an engineer, so most of this got found by watching it fail.

The data source disappeared

The company-search API I designed the enrichment layer around wasn't available on my plan, so the whole pipeline was rebuilt to lead with web search.

Writes lied about succeeding

The endpoint behind every sheet returns an error page even when a write succeeds, so nothing is trusted until the rows are read back.

Rows landed in the wrong columns

Sending data positionally instead of keyed by column name silently created junk columns while reporting success.

A scraper looked like it was finishing

It was capturing about a third of the results, because the page height it used to detect the end never changes.

A rate ceiling I couldn't design around

Profile research is capped at eighty views a day, so the founder layer isn't a job that completes. It is a day-sized batch that stops on its own.

06

What the data changed.

I built this expecting cold email to be the engine. My own tracker said otherwise.

Instrument 01

The inbox tracker

Most live processes came from LinkedIn, not from the cold emails I had been optimising.

Instrument 02

The site analytics

Cold email accounted for under 4% of sessions across July and August. The channel taking most of my effort was barely showing up.

Two instruments built for different reasons. Same answer.

Where the funnel actually leaks

At 8.7% reply and roughly 4 to 6% conversion, the top of the funnel is working. The larger number sits further down, after someone agrees to talk. So the effort moved there.

Still building.

What next

I am looking for a GTM or Brand role at an early-stage startup, where the function is still being built.