Skip to main content
How We Grow

How We Got Kai 32 Backlinks in 3 Weeks

Issue #011 of How We Grow: how Lambert gets Kai's backlinks by trading Morgen's authority, why 90% of them came to us without any outreach, and what the domain rating actually did.

10 min read

Key Takeaways

  • We trade Morgen's authority for Kai's. Nobody wants a link from a domain with no authority. Morgen sits at DR 73, so Lambert gives partners a link from Morgen and asks for one to Kai. Kai is at 31 today, from 0 as recently as April.
  • About 90% of the links came to us. There is an entire industry of people whose full-time job is finding link swaps. Once Lambert answered the first one, the rest found him. He spends 30 minutes a day on it.
  • Qualification is 3 rules, and the first is character. If a partner's claimed traffic doesn't survive an Ahrefs check, Lambert stops there. Someone who opens with a false number isn't going to keep a link up.
  • A live link is not a working link. Today's verification run: 29 tracked, 27 live, 1 partner silently removed the anchor tag while keeping our paragraph, and 1 sits on a page marked noindex and nofollow, which passes nothing.
  • The directories are still shut. G2, Capterra and the rest want a launched product, not a beta. Those links are prepared and waiting for launch.

Introduction

This is How We Grow, our weekly log of what we're doing to grow Kai. 11 weeks in, and we're close to launch.

Our SEO has 3 legs. The technical one we sorted early, when we decided to build and host the site ourselves (#001) and it scores near-perfect. The content one is Lambert's, and it took us 4 months and one failed system to get right (#007). This issue is the third leg: authority. Google wants to rank pages other people vouch for, and the closest thing to a vouch it can measure is a link.

The work here is Lambert's. He's been running the programme for 3 weeks, so I asked him to walk through it on the record. Here's what we cover:

  • Why a 3-month-old domain can't just buy its way in
  • The trade that makes anyone say yes to us
  • Where the links actually come from, which was the surprise
  • The 3 rules for turning a partner down
  • What the automation does, and the one part he won't hand over

Prefer to watch or listen? Here's the full episode

A backlink is another site linking to yours. The one thing worth knowing about them is that they come in two flavours. A dofollow link passes authority. A nofollow link tells Google not to count it, which is what a site uses when it wants to mention you without vouching for you. If you're negotiating a link and nobody says the word dofollow, you're negotiating for a mention.

The score everyone watches is Domain Rating, Ahrefs' 0 to 100 estimate of how much a domain is trusted. Semrush has its own version, Google has its own opinion and shares none of it, so DR is a proxy, not a fact. It's still the number that decides who will trade with you.

morgen.so, our other product, is at 73. hirekai.ai is at 31. Here's how it got there, pulled fortnightly out of the Ahrefs API.

The curve, February to today.

hirekai.ai Domain Rating, February to August 2026. Flat at 0 through early April, then 19 on April 20, 24 in early May, 29 by June 1, holding at 29 through late June, 30 in mid-July and 31 by late July, flat to August 10. A dashed marker in late July shows where the link-exchange programme starts.

We were at zero when we started and stayed there until April. The first 29 points came between April and the start of June, off the site build, the articles and whatever links arrived on their own. The exchange programme picks up at the right-hand end: 30 to 31 across its first 3 weeks. DR is a slow index and it lags the links that cause it, so 3 weeks in, that's about what you'd expect to see. The number to watch is the one after this, not this one.

Kai at 31 is fine for a domain this young. It's also the reason the exchange works at all, and the reason it nearly didn't.

Here's the problem with starting from zero: the people you want links from want links back, and a link from a domain with no authority is worth nothing to them. A new product has nothing to offer. That's the wall.

We got over it because we already own the other side of the trade. Morgen has been around for years and sits at DR 73. So Lambert doesn't offer Kai. He offers Morgen, and asks for Kai in return. They get the link they came for, from a domain with real weight, and we spend that weight on the product that needs it.

I want to be straight about this, because it's the part of the issue that isn't replicable: this play requires a second domain you already built. If Kai were our first product, none of what follows would work, and the honest answer to "how do you get backlinks from zero" is further down.

Nobody had to go looking

This is the part I didn't expect, and it's the one worth stealing.

Roughly 90% of the links came from people who contacted us. Lambert didn't find them. They found him, because finding link swaps is their actual job. The channel split of that inbound is about 80% LinkedIn connection requests, 10% cold email, and 10% a private Slack channel that someone from LinkedIn invited him into, full of people doing the same thing all day.

Some of them had been messaging since December and January and we'd never replied. Lambert answered one of them 3 weeks ago, and the rest arrived. My own inbox got busier in the same window without me doing anything, purely because Morgen started looking like a domain that says yes. Show a little intent and the network routes to you.

The other 10% is the version everyone assumes is the whole job. Lambert searches for something like "AI executive assistant" or a best-tools listicle, finds a page with 12 tools on it that should have 13, and goes looking for whoever wrote it.

The free labour isn't really the point. What matters is which half of the job it takes off us: the prospecting and the cold outreach, the expensive part that doesn't scale, is being done by people who are better at it than we are. What's left is qualification and admin, and that part automates.

The 3 rules for saying no

Volume is only useful if you can reject most of it. Lambert's filter, in the order he applies it:

  1. Does the conversation survive a fact check. People open with a list of domains and inflated traffic and DR numbers. Lambert runs those through Ahrefs with Claude before replying. If the numbers don't match, that's the end of it, and not because of the numbers. Someone who opens with a false claim to get a better deal is not someone who'll leave your link up in 6 months.
  2. Is the site topically close. One person offered a swap with a VPN product. There's no reading of that where a VPN audience is looking for an AI executive assistant, and the link tells Google we're adjacent to VPNs, which is a signal we don't want. Being productivity-shaped isn't automatically enough either. Lambert has walked away from qualifying sites because the content was thin.
  3. Is it an exchange, not an invoice. A lot of inbound is "we'll place you for $200". That's a real market and we're not in it. We trade.

A CSV and one Claude skill run the whole thing

None of this is a growth hack on its own. 32 backlinks with 27 more in progress is a lot of conversations, and Lambert's estimate is that doing it by hand, updating the sheet, drafting the replies, publishing the Morgen side, would be around 3 hours a day. He spends 30 minutes.

The CRM is a CSV. Not a tool, not an app, a file in our repo with one row per domain: the contact, the DR, the traffic, the status of the exchange, and the full running history of the conversation. Everything else is a Claude skill that reads it.

One row, with the conversation opened up.

A single row of the outreach CRM: track backlink, owner lambert, name and handle redacted, DR 67, monthly traffic 5,277, status landed, first contact 2026-07-28, last contact 2026-08-10. Below it the message column as a dated timeline: cold DM, Lambert's exchanges-only reply, a batch of 13 domains, the verdict after checking all 13 in Ahrefs (4 already link to Kai, 1 handled elsewhere, the rest off-topic, 1 yes), and the Ahrefs check on the surviving domain.

That's one real exchange, names redacted. 13 domains offered, 12 rejected, 1 placed. The rejection is the work.

Run the skill and it does 2 things. First it sweeps the state of every exchange and tells him what changed. Then it takes whatever new conversation he pastes in, scores the domains against the rules above, and drafts the reply.

Where the tools connect, they connect properly. Email goes through the Kai MCP, so Claude reads the thread itself and updates the row. Morgen's site is on Webflow, which has an MCP, so Claude writes the partner's link into the right article and Lambert reviews and publishes. LinkedIn has no API for personal DMs and there is no MCP, so Lambert screenshots the conversation and pastes the image. That's the crude part, and it's crude because LinkedIn is closed, not because we haven't got round to it.

The verification is the piece I'd copy first. A separate script fetches every link we've placed and reads the actual HTML, because a partner saying it's live and it being live are two different claims.

The run from the morning we recorded.

Terminal output of link_check.py: 27 live links across 24 domains, 32 of 33 dofollow, made up of 13 negotiated, 12 unasked-for and 2 editorial or directory. One lost or stripped, on a redacted domain. Two entries under Needs attention: one marked link removed with the article intact, one marked live but passes nothing because a page-level meta robots nofollow overrides the anchor.

27 live links across 24 domains, and of the 33 anchors it tracks, 32 are dofollow. 13 of those we negotiated. 12 nobody asked us for. Then the 2 lines under "needs attention", which are why the script exists at all.

The de-linked one is worth walking through. The partner kept our paragraph, kept the anchor words, and removed only the link. The page returns a 200 at the same size it always did. Nothing about it looks wrong until you read the HTML. The other one is a guest post that carries a perfectly clean link on a page marked noindex and nofollow in the head, so it passes nothing at all. A link you can see in a browser and a link that does something for you are different things, and only one of them can be checked by eye.

The messier parts

The people are relentless. Some of them send 3 or 4 messages in a day. "Are you alive." "Did you see my message." Lambert handles all of it in one 30-minute block in the morning and lets the rest wait, because the alternative is 10 minutes at 10am, 10 minutes at 1pm and no deep work left.

Partners take links back. The 1 loss in today's run won't be the last. Lambert's response is a 7-day notice, and if it doesn't go back up, Morgen's side comes down. That only works because the script catches it within a day.

The directories are shut until launch. G2, Capterra, Crunchbase and the rest are all good links, and they don't want a beta product. We have the accounts and the copy prepared. Those links land the week we launch, not before.

We can't isolate the effect yet. Something is moving. Between the end of June and now, Ahrefs has us going from 5 ranking keywords to 11, and from 0 in the top 3 to 4. But the articles, the technical work and the links all landed in the same window, and there are 4 or 5 things that could be causing it. Referral traffic from the placed links exists and is small, which is honest but not much of a case. What we're actually buying is ranking, and our evidence for that is second-hand: on Morgen we've watched clicks and positions move within a week or two of adding links to a page. We're betting the same mechanism works on a domain this young. Ask us in a month.

What we'd do without a Morgen

I asked Lambert the obvious question. If he started a company tomorrow with one new domain and no authority to trade, what would he do?

Not this. He'd put most of the early effort into YouTube, Reddit and short-form video, which is also where AI answers are increasingly sourced from, and let SEO come in gradually behind it. His example: we worked with one creator who talked about Kai, and now their video is what you find when you search the product. A brand people mention earns links without asking, which is the version of this that actually scales. The exchange programme is what you run when you have an asset sitting idle and a domain that needs a shove.

What's next

The Slack channel, worked properly. Right now it's a room Lambert reads. He wants Claude to work it: read the room, find the people whose domains actually fit, open the conversation.

The human stays in the loop. He could automate the replies and won't, for anything involving a real person on the other end. Given that the whole filter is "is this person negotiating honestly", that seems right.

Directories, at launch. Prepared and waiting.

Then we find out if any of it moves rankings. That's the number this programme gets judged on, and we don't have it yet.

If you want to follow along, the whole series lives at How We Grow, and the changelog is the receipts of what we ship week to week. Sign up and each issue lands in your inbox, along with early access to what we're building.

About the author
Jim Hartung
Jim Hartung
Growth @ Kai

I run growth at Kai with Lambert. How We Grow is my weekly log of what we're actually doing to take an AI product from zero toward a unicorn: the experiments, the tools, the calls, and the things that broke.