Hello! I'm Hugo 👋
I'm always starting projects. That's where the idea for this website came from. As soon as I think of a new project, I start daydreaming about it's name, a website, etc... But most domain names are taken! Or at least it always seems to me that way. Good domain names fly.
So why not, I thought I'd take a shot at it and try to make a solution myself.
So here is Namy: an AI domain generator that's actually good. (hopefully you agree 🤞)
And if you don't, I'd love to get your feedback at email@example.com!
# How namy.ai works
If you're reading the about section of a website I'd figure you'll be interested in knowing how it works. So here's a brief overview:
I scrape a large number of websites (~10 million) for their domain name + their contents and some other high level features.
From here on there's lots of cleaning and data processing to create a good dataset (probably the part that took me the longest).
I then train a reasonably big PyTorch model on this dataset,
with the aim of
generating new, never before seen domains. The model is mostly composed of LSTM layers, and training takes
20 hours on a GPU.
EDIT: Instead of LSTM layers, it's now a customized transformer architecture. Works much better! (and training takes much longer)
After training comes the fun part: generating new domain names! Generation is slightly complex, as there are a few parameters I tune and rules I add, but in essence it's asking the model to predict new sequences.
These AI generated domains are checked for availability using the namecheap API (and a few others if I hit the quota limits).
Finally, they're temporarily stored in a database (PostgreSQL), from which the Bootstrap frontend pulls every ~1 second, until the results are ready and can be displayed.
Domain name generation is currently at what I'd consider an acceptable level, but I have many ideas to improve it.
- ♦ Bigger, better model taking into account high level website features (Alexa ranking, category, description, etc...)
Interactive model: I want users to be able to generate new domains by prompting with seed phrases or categories (that's what the greyed out button at the top is for)DONE!
- ♦ Scoring of generated domain names: I can generate thousands of new domain names, but how do I know which ones are the best, to then show users? Complex problem, but I've got a few ideas how to approach this!
- ♦ A twitter bot! Already registered @namy_ai . Idea here is that people in the twitter sphere can use it, and thus generate some random virality. Would be cool!
# Business model
You might ask yourself why I've gone all the effort of building this. Well, partly it's because I enjoy flexing my builder muscle, and creating something of my own gives me a great sense of pride. I used to be addicted to videogames, because videogames make you feel a sense of progression and accomplishment. I've since (mostly) replaced this with a love for building, which hits the same buttons and is a much more productive endeavour.
So, in part, it's for fun. But, you might have guessed, it's also for profit. The way namy.ai generates revenue is very simple: affiliate links. Whenever a user registers a domain through one of the affiliate links I provide at checkout, I get a 10% commission. Not a lot, but with enough traffic it should be enough to at the very least keep the site up.
I think this is a good business model: namy only profits if a user buys a particular domain, which only happens if the recommendations are any good. This way, business and customer interests are aligned (customer wants good domain names, business earns more profits if it delivers good domain names).
In general, I consider the "best" businesses those that have incentives to be good. An example of the opposite would be dating apps, and the Match Group in particular: by matching users, they lose them (a happy couple means two lost users for them). That's why dating apps are so bad and exploitative is pretty obvious.
# About me
If you've come this far I suppose I'll tell you a bit about me. I'm Hugo, and I've made this website :)
I've made some other things too—you can find a list of all my live projects on my blog hugomontenegro.com/projects.
Occasionally, I write a blogpost there. Or a poem, if I'm feeling really fancy. But most often I just have ideas and procrastinate on actually writing them—I think perfectionism and the fear of my writing not measuring up with what's in my mind poses a big obstacle. However, I have gotten better. Proof is this very website: it's far from perfect, and yet it's shipped 🚢. Ship things.
The place where I'm most active is Twitter. I'd be really happy to connect there, especially if you've read this far!
If you want to go even further beyond and support me financially, I won't (yet) say no. Here's a link for that too:
And that's all!