MCP · for agents
Thoughts / 003Thread · side project

DroneGPT: a weekend in the doom feed

How fast an idea can go from a scroll to a coded, launched and distributed project, using dronegpt.ai as the case.

This weekend I was mindlessly scrolling the feed.

A post from an AI safety lab: they had hooked the newest ChatGPT model up to the video feed of a drone. They didn't say how much effort it took, but they got it to track and follow a person indoors, in a small office. It worked, and it even seemed to work reliably.

The next video in the feed was a clip of a drone strike from the war in Ukraine. Jarringly, it had the same light green box drawn around the soldier who was about to be killed by a kamikaze drone.

I was stunned. How sure was I that the footage I had just watched had a human in the loop? What if it was seen by human eyes for the first time only after the drone had killed the soldier?

The epiphany#

As far as I understand it, right now (October 2026), a frontier model is very expensive and probably too slow to sit in the loop of a cheap drone. But what if compute keeps getting cheaper, which is very likely given the speed of the buildout, and models keep getting smaller for the same capability? Assuming that, why wouldn't we command herds of drones in a war theatre with no human in the loop?

Frankly, I have no idea.

What I wanted to know was which countries have left hints in their regulation that they have thought about it. Who is already laying the legal groundwork, and who is saying nothing at all?

Vibe coding a page#

So I vibe coded a page: a simple landing page that tracks, country by country, where the law stands on AI-commanded drones. Not a research paper, more a map of where to look.

A page needs a name. DroneGPT was the obvious one, and (thank god) the .com was taken. It belongs to someone, and that someone sits behind registrar privacy protection. But dronegpt.ai was still free. A sign from the stars, so I bought it for a few years.

Wiring the domain#

Another muscle to train was how the domain actually reaches the page. I routed it through Cloudflare, and the chain turned out to be simpler than I had in mind:

  1. The registrar only records which nameservers are authoritative for dronegpt.ai. I pointed those at Cloudflare.
  2. Cloudflare's DNS answers every lookup for the domain with Cloudflare's own edge addresses. Nobody on the internet ever learns where the page actually lives.
  3. The edge terminates TLS, so the certificate is Cloudflare's problem, not mine.
  4. A Worker bound to the domain receives each request and decides what to send back: the page itself, or a fetch from wherever it is hosted.

So a Worker is less a server than a small function sitting in the middle of the request. The way I had built the page, it rendered almost entirely on the server: the HTML only exists once a request comes in. That meant there was no finished static page I could just upload and have served as files. The Worker had to run the rendering itself, on every request, at the edge. Once I saw it that way, the setup became less magical and much easier to debug. Then the boring and necessary part: test it, and make sure it actually works.

A few days later#

Time passes anyway, and I kept pulling at the same thread. If running inference for drones, and for other ideas of national defence, becomes normal, then the bottleneck moves to compute. And states have a long history of what they do with resources that become strategic. What about governments seizing, planning and commanding compute for national defence, the way they once requisitioned factories, ships and fuel? Declaring data centres critical infrastructure is the polite first step. Priority access in a crisis is the next one.

So I built the same kind of page for that question.

Next?#

The one part I didn't study is distribution. Now that Cloudflare shows me decent analytics on page visits, how do I get an idea that must already be in other people's heads out onto the internet, and actually generate traffic?