Inspiration
There are countless pet naming websites online these days, but most of them just throw a list at you—there’s no personalization to speak of. A friend of mine recently brought home a puppy, and to find the perfect name, he spent hours hopping between several websites, trying to find a name that perfectly matched the breed, coat color, and personality. This inspired me: Why not create a one-stop Dog Name Generator? One that lets users cross-reference factors like gender, style, size, country of origin, and coat color to narrow down their search from thousands of names, all while learning about the origins and popularity trends of each name.
What it does
“Dog Name Gen” is a completely free online dog-naming guide featuring over 10,000 handpicked names. You can freely combine various filters—for example, by selecting “Male + Bold + German Breed + Black”—and the system will instantly generate 12 perfect random recommendations. In addition to this core generator, the site offers a comprehensive chart of name meanings, celebrity dog names from pop culture, breed-specific recommendations, and even naming tips based on dog training science, along with the latest trend data sourced from authoritative channels like the AKC and Rover.
How I built it
In pursuit of the fastest possible loading speed, I avoided using any bloated front-end frameworks and built the entire front end using only native HTML, CSS, and JavaScript. The core multi-dimensional filtering logic runs entirely on the client side, directly reading a JSON dataset containing tens of thousands of records tagged with various categories. The page layout utilizes CSS Grid and Flexbox for responsiveness, and includes a practical sticky navigation bar and a mobile-friendly drawer menu. Of course, to make the site easier for search engines to crawl, SEO meta tags, Open Graph protocols, and canonical tags have all been meticulously implemented.
Challenges I ran into
The tediousness and drudgery of data cleaning: Assigning precise, non-conflicting labels to tens of thousands of names one by one is truly painstaking work. The slightest lapse in attention can lead to classification errors, and I really poured a lot of effort into the initial data planning.
The deduplication logic got stuck in an infinite loop: Every time I clicked “Generate,” it had to spit out 12 completely unique candidate names that met all filter criteria 100%. Ensuring no duplicates in a single result set while maintaining filtering performance—this random algorithm truly made me lose a few strands of hair.
The Esoteric Art of Mobile Menu Compatibility: Designing a nested dropdown menu that supports hover triggers on desktop and smooth taps on mobile—the two sets of logic frequently clashed during transitions, and it took several iterations to get it just right.
Compromising on page load speed: Since the page was crammed with dense data tables and images, I had to spend a significant amount of time figuring out placeholder optimization and image lazy-loading to prevent the site from freezing.
Accomplishments that I'm proud of
Once I finished building this multi-dimensional filter, I couldn’t stop playing around with it myself. I tried combining tags that seemed completely unrelated—like “funny + mini + Japanese”—and the results were often eye-opening and surprisingly spot-on.
For the “Famous Dogs” section, I added a ton of credible references, with all sources linked to the Encyclopædia Britannica, IMDb, Project Gutenberg, or GameWiki. Compared to those sites that just copy and paste content, my site’s professionalism and credibility are off the charts.
Even though the page is packed with a massive amount of content, I ran it through Lighthouse, and the scores for accessibility, SEO, and performance were unbelievably high.
The entire site is completely ad-free and requires no registration or login. Although this means I’m missing out on some revenue, the user experience I’ve created is absolutely pristine and completely unobtrusive.
What I learned
Working with a massive, multidimensional dataset in the front end for filtering has given me a deeper understanding of client-side data structure design and helped me identify the extreme edge cases that can easily lurk within random combination algorithms. While refining the accessibility experience, I figured out how to ensure that keyboard users and screen readers can smoothly navigate interactive labels and dropdown menus. Even more interesting was the feedback regarding the content itself. I discovered that users actually care deeply about the symbolism and historical context behind names—it’s often these small details that resonate most deeply with people.
What's next for Dog Name Gen
Save and Share: We plan to add a “heart” feature so users can save their favorite names to a list and generate a custom link to share with family and friends for collaborative name selection.
Name Popularity Rankings: We’re launching a voting feature where everyone can like names, making it easy to see which ones are the most popular.
AI Name Pronunciation: I’d like to integrate text-to-speech (TTS) or audio clips to provide real-person pronunciations for names, so users don’t have to worry about how to pronounce unfamiliar words.
Expanding Multilingual Support: I plan to introduce more lists of names with regional characteristics (such as Korean, Irish, and Nigerian names). When the time is right, I’ll also develop a multilingual version of the entire website.
Open API: I’m considering creating a free public API. If other developers want to add a dog-naming feature to their apps, they can simply call my data directly.

Log in or sign up for Devpost to join the conversation.