For the TL;DR peeps:

  • Time before: Days of procrastination and painful writing. Time now: About one hour.

  • The approach: Claude Code project with custom agents trained on our tone, structure, data and past newsletters

  • This spring I'm sharing the full systems I use — quarterly reporting, portfolio tracking, ESG reporting. Subscribe so you don't miss it.

I hate writing LP newsletters.

There. I said it. Every platform person I know feels the same way. It's the task that lives on your to-do list for three weeks, gets pushed twice, and finally gets done the night before it needs to go out.

The problem isn't that it's hard. It's that it's ten different jobs pretending to be one. Collect portfolio updates. Pull fund performance data. Find something smart to say about the market. Write it in a tone that's warm but professional but not too casual but not too stiff. Then do the whole thing again in Finnish.

I used to spend days on ours. Not writing days — procrastinating days with occasional bursts of writing. Open a blank doc. Stare at it. Write a paragraph. Delete it. Check if anyone else has published theirs yet so I can see what "good" looks like.

The output was fine. But the process was brutal.

Then I tried the obvious thing. Set up ChatGPT projects with writing guidelines, tone instructions, newsletter structure. Pasted in some portfolio news, LP context, previous editions. It worked — until it didn't. The more context I added, the more the model forgot. I'd paste in our fund's tone of voice and three paragraphs later it would write like a SaaS landing page. The context window just couldn't hold everything a good LP newsletter needs.

That's when I switched to Claude Code. Different architecture entirely. I never copy-paste background materials again. The project has persistent access to our past newsletters, our tone guidelines, our portfolio news. Claude always knows how we write, what structure to follow, and where to find the inputs. No re-explaining. No drift.

So I didn't just switch tools — I built a system. A full Claude Code project that produces our LP newsletter.

Here's how it works:

Step 1: Learn what LPs actually want to hear. Before touching our own content, I had Claude research LP communication broadly — what tone works, what makes LPs actually read a fund update versus archive it. That research was honestly mind-blowing. Changed how I write all LP communication now, not just newsletters.

Step 2: Train on our voice. Then I fed Claude every LP newsletter we'd ever sent. Asked it to study our tone — how we talk to LPs, what level of formality, what we emphasize. So now the system knows two things: what great LP communication looks like in general, and what FOV specifically sounds like. Then I had it build a modular framework: 10 sections that can flex depending on what matters that quarter. Not a rigid template. A system with real editorial intelligence.

And here's the thing — all of this lives in a Claude Code project as persistent context. The tone research, the brand guidelines, our past newsletters. Claude has access to everything, every time. I never copy-paste a document. I never re-attach a file. I never re-explain our voice. It just knows.

Step 3: Research agent. The project has access to our (some) portfolio updates, events, news and market signals. Claude pulls the raw inputs and drafts each section with actual data — not filler.

The key insight: the framework is everything. Once Claude knows the structure, the tone, and has access to the source material, drafting becomes assembly. Each section has clear rules. The agent doesn't guess what goes where.

Step 4: Bilingual output. This was the hard part. Direct translation sounds robotic. So I built a separate agent that doesn't translate — it writes a Finnish version. Same message, native voice. Took a while to get right, but once it clicked, it clicked.

Step 5: I review. Edit. Add context an agent can't have. Improve. Send.

The result: What used to be days of dread is now about one hour. Mostly reviewing, not writing. The output is more consistent than what I wrote manually — and the bilingual version is genuinely good, not Google Translate good.

The honest caveat: getting the Finnish agent right took real iteration. And you still need to feed it good inputs — the system is only as smart as the source material you give it. Garbage in, polished garbage out.

This is what Carry is about. Real AI systems for real platform work. Hope this inspires.

This spring I'll be sharing the full setups I use — quarterly reporting, portfolio tracking, ESG reporting. The prompts, the agents, the frameworks. If you're running platform ops at a fund and want to see how these systems actually work, you're in the right place.

I'll also be at the VC Platform Summit in San Diego in April, doing a hands-on session on building these systems live. Come say hi if you're there.

What's the one platform task you dread most? Let me know, maybe we can build it together.

Read more exciting AI stuff