Can one person build a real site with AI agents and not lose control of it? We tried with DuvalWire, an unofficial GTA VI fan site with an interactive map, sourced news and guides, and Pin Drop, a GeoGuessr-style map game for GTA 6. We started on 29 September 2026. Six weeks and about 1,250 commits later, it is live, and one founder ran the whole project with a team of AI agents.

This post covers how that team was set up, how the agents handed work to each other, and the rules that kept a fan site about a game with a protective publisher out of trouble.

The DuvalWire GTA 6 interactive map built with AI agents: Leonida island with numbered place clusters, place categories such as Transport (114) and Shops and services (78) on the left, and a progress panel showing 0 of 842 places found on the right

Every agent got one job

We used Multica as the shared workspace and task board. Each agent had its own role, its own skills and its own written rules, and all of them read the same project context file before they started a task.

Agent Job
Product and GTA Domain Lead Decided what to build and why, wrote requirements and acceptance criteria
UX Designer Flows, layouts and accessibility. No production code
Lead Engineer and Software Engineer Built the features on Claude Code
Content Engineer Prepared the editorial material
QA Reviewer Checked the work independently, on Codex

The QA Reviewer is the one I would copy first. It ran on OpenAI Codex instead of Claude Code on purpose, so the agent reviewing the code was a different kind of agent from the one that wrote it. A reviewer built on the same model tends to share the writer's blind spots. The Claude vs OpenAI Codex page compares the two.

The issue thread was the meeting room

Every feature was a Multica issue, and the agents talked to each other in the issue thread. A feature went like this:

  1. The Product Lead opened an issue with the problem, the scope, the non-goals and the acceptance criteria.
  2. For interface work, the Designer posted a spec on the issue.
  3. An engineer picked it up and posted a plan. If something was unclear, it mentioned the responsible agent in the thread and carried on with the parts that were not blocked.
  4. Each engineer worked on its own branch, one active task at a time. Before editing files, it named any it shared with other work, so two agents would not overwrite each other.
  5. The engineer opened a pull request and handed it to QA, mapping each requirement to a test.
  6. QA checked the work against the original requirement, not against the engineer's description of it. Passing tests did not count as approval.
  7. The engineer fixed what QA found and asked for another review.

Step 6 is the one that saves you. An engineer agent will describe its own work in the kindest possible terms. QA reading the Product Lead's acceptance criteria instead of the pull request summary is how you catch the feature that passes every test and still does the wrong thing.

No agent merged its own work

During the first version, the Product Lead reviewed and merged pull requests. The founder made the final calls on scope, cost, legal questions and what got published. When an agent hit one of those questions, it sent it up to the founder with options and a recommendation.

The agents could move fast because the expensive mistakes (spending money, publishing something legally risky) still needed a human to say yes.

Rules for writing about someone else's game

A GTA VI fan site lives next to two problems: leaks and Rockstar's images. We wrote both into the rules every agent reads:

  • Every claim carries a source and a label such as Official or Reported.
  • Leaks and datamined material are never published.
  • Each Rockstar image has its own recorded approval for each place it appears.
  • A page can only be indexed by Google with a recorded decision for that exact version.

The last two look like overkill until you picture an agent reusing an approved trailer still on a page nobody approved it for. Approval per image per placement means an agent can never assume "we used this before, so it's fine".

Pin Drop is GeoGuessr for GTA 6

Pin Drop gives everyone the same five rounds a day. Each round shows you a short official trailer moment, an official screenshot or a written description of a place, and you drop a pin on the map. A round is worth up to 5,000 points, so a perfect day is 25,000.

DuvalWire Pin Drop page, a GeoGuessr-style daily GTA 6 map game: five rounds a day worth up to 25,000 points, a Play today's game button and today's leaderboard with five players

The server recalculates every score from the guesses, so the browser can't report a number of its own. Any daily game with a public leaderboard needs that from day one, or the top spot goes to whoever opens the dev tools first.

A Pin Drop practice round on DuvalWire: a clip from GTA VI Trailer 2 in the corner asks Where was this shot, above a blank map of Leonida with a Tap the map to guess button

A news agent that can't publish

A Claude agent runs by itself three times a day, timed for US mornings, afternoons and evenings. On each run it:

  • reads what we have already published and its own recent tips, so it doesn't repeat itself;
  • checks Rockstar's site and Newswire, and Take-Two's investor pages;
  • checks gaming sites such as GameSpot, PC Gamer, VGC, Insider Gaming and GTA BOOM, and searches for IGN, Polygon and Kotaku coverage;
  • searches for what is getting attention on Reddit, YouTube and TikTok;
  • throws out leaks, datamines, story spoilers and rumours with no named source;
  • sorts the rest into Confirmed by Rockstar, Reported, and Community buzz, which we treat only as ideas;
  • opens a GitHub issue and sends a push notification, or stays quiet if there is nothing new.

It can't write articles or change the site. We pick the stories, an agent drafts them from the sources, and the founder approves them. The output lives in the news section. I like that the scout never gets near the publish button. The worst a bad run can do is open a useless GitHub issue.

The stack in one paragraph

React and Vite, with public pages prerendered as static HTML. Leaflet for the map, on GTADB community tiles and landmark data under CC BY 4.0. Vercel for hosting, and a Vercel Edge Function with Redis for the leaderboard.

Testing is over 1,000 unit tests, end-to-end browser tests, and production build checks that block a release if private or unapproved material would ship. That last check is the image and indexing rules from above, enforced by the build instead of by trust.

What worked

Listing Pin Drop on Alldle, a daily games directory, brought 31 players in one day. Google started indexing the main pages within days of the site opening to search. Today the site has 131 place pages, 47 articles and guides, and 212 pages in its sitemap.

AI agents are why one person could build this in six weeks. Three things made it safe: each agent had one job, a different agent checked the work, and a human kept the big decisions.

If you want to set up a team like this, start with I Gave My Coding Agents a Task Board for the Multica basics, and read Three Coding Agents, One Repo for what goes wrong without roles. How Multica Agents and Claude Code Built a Godot Game is the same approach applied to a game. Then go drop a pin and see how well you know Leonida.

DuvalWire is an unofficial fan project and isn't affiliated with Rockstar Games.