Skip to content

12 June 2026 · 6 min read

How AI agents built this website

AI agents wrote the code for this website. While one Claude Code session worked on the Three.js effects, another fixed the build, shipped sections and set up CI. I defined the tasks and reviewed the results.

This is a record of the development process in June 2026. The website has continued to change since then.

Under the hood

Next.js 16 with App Router and Turbopack, React 19, Tailwind CSS 4, GSAP with ScrollTrigger, ScrollSmoother and SplitText, and Three.js through React Three Fiber. The project catalogue combines manually curated entries with public repositories from the GitHub API, refreshed hourly.

The workflow

Each session follows the same cycle:

  1. Define. Context lives in CLAUDE.md and AGENTS.md in the repository: conventions, known pitfalls and constraints.
  2. Build. The agent implements the task in small steps. Parallel tasks run in separate sessions.
  3. Verify. The result is checked with a production build, browser interactions, keyboard navigation, screenshots and Lighthouse metrics.
  4. Document. Known mistakes and their fixes are recorded to reduce the chance of repeating them.

GitHub Actions also runs linting and a build on every push.

Five bugs caught by verification

These examples came from the repository's development history.

  • The build did not compile. Calls to a removed smooth-scrolling provider remained in the code. Running npm run build exposed the TypeScript errors.
  • Three.js was loaded unnecessarily on phones. In that version, mobile devices did not render the 3D scene, but still downloaded nearly a megabyte of code. The device check was inside the dynamically imported chunk. Moving it before the import reduced the mobile bundle by roughly 1 MB.
  • The headline broke in the middle of a word. The Russian headline did not fit its column at 9vw. A screenshot exposed the problem and the grid was adjusted.
  • Mobile menu anchors did not work. The open menu locked the body with overflow: hidden, preventing the native anchor jump. Scrolling was moved until after the menu closed.
  • CI failed because of the lockfile. Platform-specific Linux binaries for Lightning CSS were missing from a lockfile generated on macOS. Explicit optionalDependencies resolved the build issue.

Different checks caught different failures: compilation and CI exposed build problems, while browser interactions and screenshots exposed interface issues.

What I take from this

Agents speed up implementation. But a useful workflow also needs a clear task, verification and a record of what went wrong. Those steps make results easier to review and help the next session avoid known mistakes.

I can delegate implementation. Understanding the task and accepting the result remain my responsibility.