entry 002
24 apr 2026
kris vandenberk
4 min
Claude Has Taken Over Our Website (And I'm Fine With It)
Or: how a non-designer GP built a modern fund site with an AI coding agent
I am not a designer. I have an engineering background, I spent years in consulting and product management, and I now run an early-stage VC fund. None of those things make you good at picking fonts or laying out a homepage.
Our old site was functional in the way that a grey filing cabinet 🗄️ is functional. It held things. Nobody was excited about it. I was not proud of it, and I probably should have fixed it sooner than I did.
So I rebuilt it myself. With Claude Code.
What got me there
Running a small early-stage fund means being ruthless (My co-GP is Ruth, which makes “ruthless” unavailable as a word around the office. We manage.) about where you spend time and money. Paying an agency to build something we couldn’t maintain ourselves never made sense. But neither did living with a site that embarrassed us when a founder Googled us before a first meeting.
What changed my thinking was realising that websites have a new job description 🤖. When a founder researches a potential investor today, it’s not just their eyes scanning your pages. Increasingly it’s an LLM pulling structured context about your focus, your team, your portfolio. If your site doesn’t serve that use case, you’re invisible in a channel that’s only growing. That felt like a problem worth solving properly.
I also just wanted to build something. I spent years as an software engineer before consulting, product management and VC ate me. The itch doesn’t go away.
How I built it
I used Claude Code, Anthropic’s agentic coding tool, as my primary collaborator. I directed, it wrote, I reviewed and pushed back, it revised. The workflow is closer to working with a very fast junior developer who never gets tired than it is to typing prompts into a chatbox. You still need to know what you want. You still need to catch mistakes. You still need to make choices on architecture. But the gap between having a clear idea and having working code closes dramatically.
The stack I landed on: (feel free to skip 🤓)
Next.js 14 with the App Router, TypeScript 5 in strict mode, Tailwind CSS for styling with every color and spacing value locked in a config file. This last part matters more than it sounds: when the design system lives in one place, it’s hard to accidentally violate it, which is useful when you’re not a designer and your aesthetic instincts are not always to be trusted.
Content lives in Markdown files. This is the right call and I’ll defend it. Markdown is readable by humans, parseable by machines, version-controllable in Git, and editable without touching a database. In a world where AI agents increasingly read your content as structured input rather than a rendered page, having your source material in clean flat files is quietly powerful. It also means I can update a portfolio entry or add a news item in under two minutes without opening anything except a text editor.
Animations are handled by Framer Motion 11. The App Router flips React’s default so components render on the server unless I explicitly opt into the client. I treated the ‘use client’ directive as a cost to pay only when I genuinely needed browser APIs or interactivity. The result is less JavaScript shipped to the browser than a typical React app, which means a faster, leaner site.
Every icon is a hand-authored SVG component in TypeScript rather than pulled from a library. Two reasons: tree-shaking with large icon packages is messier than it should be, and I wanted every icon to use currentColor so they’re theme-aware at zero additional cost. The technology focus section takes this further: each icon, an attention matrix, an inference graph, scan rings, and others, is individually hand-drawn within a 100x100 viewBox, its own geometry, its own logic. No shared system. Every one built from scratch.
The thing I’m most proud of: Cmd+K ⌨️ (Ctrl+K for Windows users)
Hit it anywhere on the site and a command palette opens. You can navigate the entire site without touching the mouse: search pages, jump to portfolio companies, pull up publications. The underlying library is cmdk, but the fuzzy search logic is custom: a character-density scoring algorithm that ranks results by how tight the matched characters are, not just whether they appear somewhere in the text.Thanks for reading imec.istart future fund Substack! Subscribe for free to receive new posts and support my work.
No Algolia. No external search index. A few dozen lines of TypeScript.
It’s the kind of feature that makes a site feel like a tool 🛠️ rather than a brochure. Which is, increasingly, what I think a fund website should feel like.
What I learned
Building this way doesn’t make you a designer. The site looks like what happens when an engineer with “reasonable” taste points a capable AI at a clear problem and refuses to stop iterating until it feels right. I can live with that description.
What surprised me most was how fast the feedback loop became. Idea to working feature in sometimes minutes. See something that bothers you, fix it before dinner on your phone. That pace changes what’s worth attempting.
This is v1. It won’t stay v1.
I’m treating the site as a living thing. The whole point of building it this way is that I can move quickly. New portfolio additions, updated thinking, better features.
There are also Easter eggs 🐣. I’ll say nothing more. Go find them.
If you want to follow along as the site evolves, or as we keep writing, subscribing here is the easiest way.