A full-stack application for generating and checking domain name availability. The system combines AI-powered name suggestions with real-time availability verification across multiple TLDs. Exploration into similar names or other variations of the generated name is also possible. The system is built to be scalable and can handle high-volume domain checks efficiently with generation and checking of domain suggestions only taking a few seconds.
Features
- AI Suggestions — Using Groq API to generate creative, relevant domain name ideas based on user input
- Real-Time Availability Checking — Instantly verifies if generated domains are available for registration
- Multiple TLD Support — Check availability across various top-level domains simultaneously
- Scalable Architecture — Horizontally scalable worker pool handles high-volume domain checks efficiently
- User Authentication — Secure JWT-based authentication with Better Auth integration
Architecture
The application is built as a microservices architecture with three main components using Docker Compose for management and deployment:
Frontend (Next.js + Bun)
The web application provides a responsive interface for generating and exploring domain names. Built with Next.js and TypeScript, styled with Tailwind CSS, and served via Bun.
Backend (FastAPI)
The API layer handles authentication, domain generation requests, and orchestrates the worker queue. Built with Python using TortoiseORM for database access and Aerich for migrations. All endpoints are protected with short-lived JWTs validated against configurable issuer and audience claims.
Workers (Python + RQ)
Background workers consume domain check jobs from a Redis queue. The worker pool is horizontally scalable via Docker Compose's WORKER_REPLICAS setting, allowing the system to handle bursts of availability checks without blocking the main API.
Infrastructure
PostgreSQL serves as the primary database for persistent storage, while Redis handles both the job queue and caching. The entire stack is containerized and orchestrated with Docker Compose.
The system is deployed on a VPS on Hetzner.
