I won the Cosmos Grant! Applying felt like a long shot, but I wanted to see if I could get my writing to work harder for me.
I’m looking forward to exploring some ideas I have around making AI coding safer. I’m excited to keep thinking about where human judgement belongs in AI coding — not reviewing every line, but looking at the right kind of thing to decide whether the output is correct.
I previously wrote about when vibecoding is actually safe — roughly, when something concrete and trustworthy is giving the AI feedback on the code.
The main issue with vibecoding, at least in my experience so far, has been that the AI code is not trustworthy. It appears to work at first glance, with a reasonable output. On repeated use though, you start noticing the seams, where the AI hasn’t accounted for various edge cases, or forgotten about a state that could occur.
I often find myself wanting to build something, but unable to justify the time it would take to read all the code. I do, however, want it to be reliable — let’s say that I want to share this with other people and I don’t want it to be AI slop. In case you think this is a bit of a contorted case — check out this site I made. I can’t just vibecode it because I want it to be right and I don’t want to throw bad software into the world. There must be another way!
There are lots of techniques that never became popular because they demanded too much of human programmers. Now that the effort side of that trade has mostly disappeared, is it time to bring them back?
I plan for the outcome of this grant to be a toolkit I’ve validated as close to experimentally as I can manage — so that we can ship software we haven’t fully read and still feel secure releasing it.
