In this Mucker Growth Series session, we invited Jonathan Martinez, founder and CEO of GrowthPair, to share how founder-led LinkedIn content took his startup from zero to $1M in annual revenue with almost no ad spend, and to walk through the dashboard he built with Claude Code to run it. A recap of what he covered, along with the full webinar recording and his slides, is below.
Why Founders Should Start On Day One
By the time you need an audience, it’s too late to start building one.
That’s the whole argument for starting now. Jonathan has been posting on LinkedIn for two and a half years and went from zero to more than 30,000 followers in that time, but it wasn’t a straight line up over a few months. It took years. His own regret is that he didn’t start sooner.
Three things you can only buy with time. Distribution, because an audience compounds slowly and can’t be bought at the moment you need it. Feedback, because posting is a $0 acquisition vehicle that puts you in front of your ICP for free, where the paid equivalent runs roughly $20 to $100 CPMs. And trust, because buyers arrive already primed, and closing is easier when someone has been reading your thinking for months.
The numbers behind that: two and a half years of posting, close to a million impressions per quarter, a typical post landing between 3,000 and 5,000 impressions, and $1M in GrowthPair ARR reached with no paid acquisition and no outbound team. His last 90 days pulled 772,881 impressions, down 47% against the prior quarter, which was a heavy fundraising stretch.
He showed the chart to make a point about shape rather than to prove anything. Results are a culmination of many, many at-bats, not one post that goes viral. There’s a visible spike in early August where a post did take off, but the line is otherwise a steady climb built out of volume.
If you’re not doing founder-led content yet, the takeaway is narrow. Start writing posts this week.
Six Practices From Two And A Half Years Of Posting
Write it yourself, every time. Jonathan built draft-generation into the content machine early and pulled it out within a week. It stripped his voice out and made him sound like everyone else. Use AI to find what to say, never to decide what you say. He pointed to a Tony Robbins post from the previous week that got publicly called out as obviously AI-generated. People can spot it now, and the cost of getting caught is your credibility.
Rotate three to five pillars a week. Pick a handful of topics you want to be known for, so someone landing on your profile knows what they’re subscribing to. Jonathan’s sit around AI and marketing: AI tools for marketers, Claude training for marketers, AI marketing team structure, marketing hiring and talent trends, and GrowthPair itself.
Take ideas from the feed and add your twist. This is the one he got wrong early. He assumed every post had to be a net-new idea he’d thought of that morning, and within a couple of months he’d run out of ideas. His actual split is 80% takes on things he’s seen elsewhere, 20% net new. Anyone claiming the reverse is either not being truthful or a genuine creative genius. The move is finding a take you half agree with from someone your market already follows, then adding the part they’re wrong about, or a number from your own business that complicates it.
Let your best thinking compound. Reposting a top performer returns about 85% of the original engagement on average. Jonathan called it huge low-hanging fruit that most creators skip.
Put budget behind posts that already won. LinkedIn thought leader ads let you boost a post from a personal profile rather than a company page. Because they don’t carry a company logo, they read as organic. Jonathan sees 20-30% click-through rates, against closer to 1% for a standard static ad from a company page. Boost posts that already performed organically, target your ICP by title and company size, and a few hundred dollars goes a long way. What you shouldn’t do is write a post for the purpose of turning it into an ad.
Worth noting where he spends. None of that budget goes to the company account. At his last startup the split was 80% company posts and 20% personal. He’s flipped it and then some, now closer to 95/5 in favor of his personal account. The company page has 5,000 to 10,000 followers and simply doesn’t get the engagement a founder account does. When the founder of Airbnb posts a product update, he gets 10x the engagement of the official Airbnb account on the identical announcement. People would rather engage with a person than a logo.
A company page still earns its keep as social proof. Case studies, achievements, something credible to look at when a prospect checks, because they will. Just don’t prioritize it day to day, since the pipeline comes off the founder account.
The pipeline is in the engagement. Jonathan used to think posting was the job, and he’d close LinkedIn for the rest of the day. Publish, then stay for an hour, because answering comments in that first window is the whole difference. Then turn good comments into DMs that are short, specific, and reference what the person actually said. Those aren’t cold messages. The recipient has already read your thinking and knows your name, even if they disagreed with it.
Inside The Content Machine 2000
The dashboard is a bespoke internal tool, not a product he sells, and it’s built almost entirely with Claude Code. It’s hosted on a subdomain of the GrowthPair site, which he was clear is not necessary. He ran it on localhost for the first couple of months.
The design goal was to automate the manual work and leave alone the parts that matter. Writing stays manual. Engagement stays manual. Showing up as a human on the platform stays manual.
The first feature he built, and the one he recommends anyone start with, is the morning briefing. It gives a bird’s-eye view of what’s resonating in his pillars, angles he could take, and specifically what’s uncovered, meaning topics other creators in his space are writing about that he isn’t. He built it because his own bottleneck was writer’s block, and the alternative was scrolling LinkedIn for hours to find inspiration.
Around that sit the rest:
- Research scraper, which surfaces top posts in his niche from the last 24 to 72 hours. This is what saves him hours a week.
- Trend tracker, which clusters themes gaining momentum.
- Leaderboard, added the week of the webinar and one of his favorites. It shows how he’s stacking up against other AI-and-marketing creators, not as a race but as a signal. If someone is getting outsized engagement, go read what they’re writing.
- Hook bank, which catalogs which of his hooks worked, sorted by type: bold claims, observations, personal stories. Hooks are “80% of the battle” on LinkedIn, since the job is getting someone to click “show more.” He reuses ones that have already worked.
- Lookalike generator, which spins new hooks and angles off posts that performed, without rewriting the original.
- Narrative arcs, which tracks days since he last posted each pillar and keeps him honest.
- Content recycler, which flags past winners worth reposting.
- Engagers and ICP scoring, the piece he called one of the most valuable. It continuously scores everyone engaging with his content against his ICP definition and surfaces who to reach out to, including people who liked a post but never commented.
That last one extends outward. He can also see who’s engaging with the creators on his watchlist, on the logic that they’re posting to the same audience he wants.
He also corrected an early mistake. He’d been optimizing for vanity metrics, meaning likes and to an extent comments. What he tracks now is what share of the people engaging actually belong to his ICP. Some posts score zero. His best land between 10% and 25%. That reframing is what told him what was genuinely working, and it’s the same discipline that separates real signal from noise when you’re mapping content to a buyer’s journey.
On connecting to LinkedIn, there’s no official MCP or open API for this, and LinkedIn guards it closely. He uses Apify for scraping, which also works across other social platforms. He was direct about why you shouldn’t roll your own: don’t risk your account getting suspended by automating through it.
The full stack is short. Claude Code, Apify’s API, Apollo for enrichment, Railway for hosting, and Google OAuth for login.
How It Got Built
Jonathan is a marketer by trade, not an engineer, and was explicit that if Claude Code intimidates you, start prompting anyway. You get more technical as you go.
The steps he’d repeat:
- Make a folder. Call it whatever. Point your Claude Code instance at it so everything for the project lives in one place.
- Describe your job, not a feature list. He gave it a word dump covering what he wanted, what his goals were, and what his week actually looked like.
- Let it start building. Claude asks questions, being “a very curious creature,” and refines off the answers.
- Hook in the APIs. Note that Claude Code and the Claude API are different things. You need a developer API key in the project for the tool to work, plus Apify’s.
- Test on localhost. He lived on his own machine for the first couple of months.
- GitHub, then Railway. Deploy from the repo and point it at a subdomain, so it runs without you being logged into anything.
On timeline, the two numbers he gave sit at different scopes. The first working version came out of about half a day of back-and-forth, and roughly eight hours of build time covers getting through polish and hosting. The dashboard as it exists now is six months of adding a feature whenever he hit a day where he wanted one.
His strongest build advice is not to go after the moon. Start with one feature. If you don’t know which one, watch your own day and find where you’re stuck or spending time.
Being specific is what makes it work. Code won’t run on vague words, and being too vague was his recurring early failure. Concretely:
- “My top posts” became ranked by comments and saves, deliberately not likes and impressions.
- “Post consistently” became five pillars, none untouched for more than fourteen days.
- “Engage with the right people” became founders, VPs of marketing, and growth leads at venture-backed companies.
Those definitions get written to a file Claude stores, so every feature added later inherits the same context.
A representative exchange looks like this: “Apify can pull every post I’ve published, tag each one with one of my five pillars, then show me which pillar has gone longest without a post, and ask me clarifying questions first.” Claude comes back with questions. Should it call the Claude API to categorize, do reposts reset the clock, what if a post spans two pillars. He answers, and it builds. Asking for clarifying questions up front is worth adding to the prompt even though Claude usually does it anyway, because the questions produce clarity for you, not just the model.
What Broke
The scraper changed shape when Apify updated its output. He pasted the raw error in and it was fixed in one message. His general rule is to screenshot what you’re seeing and paste it rather than describing the problem in words.
Claude invented a field and sorted by a metric Apify never returned. Showing it the real Apify response fixed it. It still hallucinates, so spot-check the output.
He asked for too much at once, four features that all half-worked. He threw it out and moved to one feature per session.
What He Deliberately Didn’t Build
Post generation. Prototyped, killed in a week. The tool makes him faster at finding what to say, not at writing it.
Auto-posting. Programmatic posting risks the account, and posting manually takes 30 seconds.
Notifications. He wanted a place to go, not another thing that pings him. The dashboard sends nothing.
What connects the three is a single filter. Build the parts of the workflow that are hard to do well by hand.
The Economics And A Typical Day
It runs about $30 a month, all in, with Apify as the biggest line item and Claude API overhead on top. It replaced four off-the-shelf tools at around $50 each, and saves roughly eight hours a week. The broader case for building rather than buying is that off-the-shelf tools are built for the median user, so you get the feature you wanted plus several you don’t.
If Claude Code is genuinely overkill for you, the two off-the-shelf tools he used before building this were Taplio and Hypefury. Both plug into LinkedIn and give you a good share of these insights, just not bespoke, and with limits.
On when to reach for Claude Code versus Claude Cowork, Cowork is for A-to-B tasks like reminders or a manual export you want off your plate. When you need to hook in APIs, build an interface, and host it, Claude Code wins nine or ten times out of ten, largely because plenty of services have an API but no MCP connector.
A day now runs about an hour, against the hours it used to take. He opens the dashboard instead of scrolling, writes off the angles it surfaced, posts, spends the following hour in comments, and moves conversations into DMs through the day. At the end of the day the tool scores engagement again to catch anyone in his ICP he missed.
One last format note, since it came up in questions. The best-performing LinkedIn content is text only, or text with an image. LinkedIn has been trying to crack video for years, but user behavior there is audio-off, and video just doesn’t get the engagement. That makes content a distribution question more than a production one, which is the same conclusion we reached on kickstarting content marketing at an early stage, and it lines up with what founders who’ve built an audience on the platform found in our LinkedIn playbook session.
The takeaway he closed on was to start posting before you feel ready, and build the tooling once you know how you work. That order, in that sequence, is what took him from zero to 30,000 followers.