A surprisingly sophisticated .ai domain name generator
Vibe-coded tool combining syllable templates, phonotactics, and Markov chains to generate brandable 4-letter domains.
I was hunting for a good 4-letter .ai domain — something short, pronounceable, and brandable. The available generators were mostly random letter combinators that spit out gibberish. So I started building my own, and what was supposed to be a quick vibe-coded tool turned into a surprisingly deep rabbit hole in computational linguistics.
The generator works in layers. Syllable templates — proven patterns like CVCV and CVVC — enforce pronounceability at the structural level, so you never get unpronounceable consonant clusters. Phonotactic constraints filter out combinations that don't actually occur in English, like "ng" at the start of a word. N-gram scoring ranks what's left by how natural each candidate sounds, with positional awareness so things like "ing" don't show up at the beginning of a name. And on top of all that, a Markov chain trained on real startup names — figma, notion, linear, vercel, stripe — learns what makes something feel like a modern brand. Pure TypeScript, zero dependencies.
The most interesting part ended up being the tuning process. The generator has a ton of configurable parameters — scoring weights, template preferences, brandability feel. Instead of tweaking them by hand, I built a Cursor command that let the AI run the generator, evaluate the output, hypothesize about which settings to adjust, and iterate autonomously until it was happy with the results. An early experiment in giving AI a real feedback loop, and it worked better than I expected.
I didn't end up finding that many great domains — the .ai namespace at four letters is brutally picked over. But this was one of those projects where the building was the point. I went in wanting a list of domain names and came out understanding phonotactics, positional n-grams, and how much you can delegate to an AI agent when you give it a way to evaluate its own work.