16 October 2026 · AI
An idea over a beer, printed by Friday
How a throwaway comment about a tri bike turned into a real, working bottle lid in two days, with an AI doing the drawing and a human doing the arguing.

A mate of mine races triathlon. Over a beer last week he was describing his new bike, which has a built-in bottle between the arm rests with a rubber port on top. You push the aid-station bottle through the slits and squeeze, without sitting up. Then he showed me a photo of what he’d been using before that: a sports bottle, a tube jammed in the side and a rubber band to hold it together.
“Someone should make a lid that does that for a normal bottle,” he said. I had a 3D printer, an evening, and a hunch that this was exactly the sort of problem AI is now good for. Not for the idea; the idea was his. For the hundred small decisions between the idea and a part you can hold.
What we were trying to make
A lid for an ordinary cycling bottle that lies horizontally between the aerobars. It needed a port you can refill through while riding, a straw that comes up towards your face, and some way of putting the port on top no matter where the bottle’s thread happens to stop. It should swap between bottles. And, because the same friend coaches under-nines rugby, it would be nice if the same base part could take a long spout for drinking with a gum shield in.
None of that is hard individually. The difficulty is that every one of those requirements pushes against another, and you only find out which ones matter when you look at the thing.
How we actually worked
There was no CAD package involved. Every part was written as code: a Python script that builds the geometry from a list of parameters at the top of the file and spits out printable STL files. I described what I wanted in plain English, sent photos, and the AI wrote and re-wrote the script. Each new version took seconds to regenerate and a few more to render so I could look at it.
That loop, describe, render, look, object, is the whole story. The AI did the drawing. I did the looking. Most of the useful moments were me saying “that’s not right” and pointing at a picture.
Seven versions, most of them wrong
I’ve kept the renders of the mistakes because they’re more instructive than the result.
- v0.1 – A normal cap with a port in the top. Fine for an upright bottle. This one lies on its side, so the port would have pointed straight at the rider’s chest. Spotted in thirty seconds, which is the point: the first version is for finding out what you forgot to say.
- v0.2 – An elbow head that rotates. A threaded collar screws onto the bottle; a separate head slides over it on an O-ring and locks with two small screws, so the port can be turned to face up regardless of the thread. One collar, any head.
- v0.3 – A 22mm hole, then a 46mm funnel. Twenty-two millimetres is a hole you can pour into at a standstill. At thirty kilometres an hour, one-handed, it’s a target you’ll miss. So the hole became a funnel, and the funnel became a sail.
- v0.4 – Flush, like the bike’s own port. Looking again at the photo of the bike, the port isn’t a hole at all; it’s a thick rubber pad you push the nozzle through. Lower, cleaner, and a nozzle through a slit is an easy target. The funnel went in the bin.
- v0.5 – Aero. Domed tail instead of a flat end, straw lying along the top rather than standing up, and nothing in clean air above the arm pads except the tube.
- v0.6 – The squirt head. Same collar, long tapered spout, no pad. For the touchline.
- v0.7 – The one that got printed. After the first physical part came off the printer and I started poking at it. See below.
Then the printer joined in
Friday morning I printed the collar, the part that screws onto the bottle, as a test. Holding it changed the conversation. Looking through it, I couldn’t see how water was going to get in and out fast enough: the hole in the middle was a long, narrow tunnel. The AI had put the O-ring groove in the wrong part, which forced the wall to be thick and the bore to be small. Moving the groove into the head let the bore open from 24mm to 32mm and the tunnel shrink by a third.
Then I asked for a side view I could draw on. Two circles on a screenshot did more than any paragraph of description could have.
The logo went on upside down on one side the first time, too. Everything on this project has been checked by rendering it and looking, because that’s what caught every one of these.
The AI did the drawing. I did the looking. Almost every improvement started with someone saying “that’s not right” and pointing.
What it’s made of
Printed on a Bambu Lab P1S. Hard parts in PETG, soft parts in TPU, the logo inlaid as a second colour. Everything else is hardware you can buy for a few pounds.
| # | Material | Part | What it does |
|---|---|---|---|
| 01 | PETG | Collar | Screws onto the bottle. Carries the spigot the head turns on, and a clip for the straw. |
| 02 | TPU | Neck gasket | Flat ring between the collar and the bottle rim. |
| 03 | PETG + inlay | Head | Rotating elbow with the port, the straw channel and a domed tail. BD mark inlaid both sides. |
| 04 | PETG | Bezel | Screws in with a coin. Clamps the pad. |
| 05 | TPU | Bezel gasket | Keeps the bezel loaded so it can’t rattle loose. |
| 06 | TPU | Refill pad | 2.4mm disc with three slits. Push the nozzle through, squeeze. |
| – | Hardware | O-ring, 2× M3, silicone tube | 34×2 O-ring in the head; 8mm tube with a bite valve. |
| – | Alternative | Squirt head | Same collar. Long spout for drinking with a gum shield in. |
Does it work?
We’ll update this once the full set has been printed and tried on the bike.
Why we’re writing this up
This is a bottle lid, and we are not about to start selling bottle lids. But the way it was made is exactly how we’re now working on client problems that have nothing to do with bikes: someone who knows the domain, an AI that can produce a complete, concrete attempt in minutes, and a tight loop of looking at the attempt and saying what’s wrong with it. The speed isn’t the interesting part. The interesting part is how cheap it becomes to be wrong, and how much better the result is when you can afford to be wrong seven times before lunch.
If you’ve got a problem that’s been sitting in the “someone should” pile, we’d like to hear about it.