AI-powered intelligent domain name generation and management platform that helps you find the perfect domain for your projects.
- Smart Domain Generation: Leverages OpenAI GPT-4 for intelligent naming suggestions
 - Multiple Strategies: Direct combination, concept fusion, neologism creation, and cultural adaptation
 - Context Understanding: Analyzes your project description to generate relevant names
 
- Real-time Availability: Batch domain availability checking with pricing comparison
 - Multi-registrar Support: Compare prices across different domain registrars
 - Favorites System: Save, organize, and track your preferred domain names
 - Search History: Keep track of all your searches and results
 
- Multi-language: Full support for English, Chinese (Simplified), and Japanese
 - Cultural Adaptation: Domain suggestions adapted for different markets
 - RTL Support: Ready for right-to-left languages
 
- REST API: Complete API for programmatic access
 - API Key Management: Generate and manage multiple API keys
 - Usage Analytics: Track API usage with detailed metrics
 - Rate Limiting: Built-in protection against abuse
 
- Responsive Design: Beautiful interface that works on all devices
 - PWA Support: Install as a Progressive Web App
 - Dark/Light Theme: Automatic theme switching
 - Accessibility: WCAG 2.1 compliant
 
- Framework: Next.js 14 with App Router
 - Language: TypeScript for type safety
 - UI Library: Shadcn/ui + Radix UI
 - Styling: Tailwind CSS for utility-first CSS
 - Internationalization: next-intl for i18n
 
- Database: Supabase (PostgreSQL)
 - Authentication: Supabase Auth with Google OAuth
 - API: RESTful API with TypeScript
 - Caching: Redis for performance optimization
 
- AI Models: OpenAI GPT-4 for domain generation
 - Domain Checking: GoDaddy API for availability and pricing
 - Analytics: Statsig for feature flags and analytics
 
- Monorepo: Turborepo for efficient builds
 - Deployment: Vercel for seamless deployment
 - CI/CD: GitHub Actions for automated testing and deployment
 
- Node.js 18+ and pnpm
 - Supabase account and project
 - OpenAI API key
 - (Optional) GoDaddy API credentials for real domain checking
 
git clone https://github.com/houko/smart-domain.git
cd smart-domain
pnpm installCopy the environment template and fill in your credentials:
cp apps/web/.env.example apps/web/.env.localRequired environment variables:
# Database (Required)
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# AI Generation (Required)
OPENAI_API_KEY=your_openai_api_key
# Application URL (Required for production)
NEXT_PUBLIC_APP_URL=https://your-domain.com
# Domain Checking (Optional - uses mock data if not provided)
GODADDY_API_KEY=your_godaddy_api_key
GODADDY_API_SECRET=your_godaddy_api_secret
# Analytics (Optional)
NEXT_PUBLIC_STATSIG_CLIENT_KEY=your_statsig_client_keySet up your Supabase database using the provided SQL files:
# Run database migrations
psql -h your-supabase-host -d postgres -f apps/web/sql/setup.sqlpnpm devVisit http://localhost:3000 to see your application running!
smart-domain/
βββ apps/
β   βββ web/                 # Next.js application
β       βββ src/
β       β   βββ app/         # App Router pages
β       β   βββ components/  # React components
β       β   βββ lib/         # Utility functions
β       β   βββ types/       # TypeScript definitions
β       βββ messages/        # Internationalization files
β       βββ sql/             # Database schemas
βββ packages/
β   βββ ai/                  # AI generation logic
β   βββ domain/              # Domain checking utilities
βββ docs/                    # Documentation
The application uses PostgreSQL with the following main tables:
users- User profiles and authenticationfavorites- Saved domain namessearch_history- Search recordsapi_keys- API key managementusage_stats- Analytics and usage tracking
POST /api/generate- Generate domain suggestionsGET /api/v1/favorites- Get user favoritesPOST /api/v1/favorites- Add to favoritesGET /api/v1/history- Get search historyGET /api/v1/stats- Get usage statistics
See API Documentation for complete API reference.
Adding a new language:
- Create translation file:
 
cp apps/web/messages/en.json apps/web/messages/[locale].json- Update 
i18n.tsconfiguration: 
export const locales = ['en', 'zh', 'ja', 'your-locale'] as const;- Translate the JSON file and test:
 
pnpm devRun the test suite:
# Unit tests
pnpm test
# E2E tests
pnpm test:e2e
# Type checking
pnpm type-check
# Linting
pnpm lint- Connect your GitHub repository to Vercel
 - Set environment variables in Vercel dashboard
 - Deploy automatically on push to main branch
 
# Build Docker image
docker build -t smart-domain .
# Run container
docker run -p 3000:3000 --env-file .env.local smart-domain# Build for production
pnpm build
# Start production server
pnpm startWe welcome contributions! Please read our Contributing Guide for details.
- Fork the repository
 - Create a feature branch: 
git checkout -b feature/amazing-feature - Make your changes and add tests
 - Commit using conventional commits: 
git commit -m "feat: add amazing feature" - Push to your branch: 
git push origin feature/amazing-feature - Open a Pull Request
 
- Use TypeScript for all new code
 - Follow the existing code style (Prettier + ESLint)
 - Write tests for new features
 - Update documentation as needed
 
- API Documentation - Complete API reference
 - Deployment Guide - Production deployment
 - Contributing Guide - How to contribute
 - Changelog - Version history
 
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for powerful AI capabilities
 - Supabase for the amazing backend platform
 - Vercel for seamless deployment
 - Shadcn/ui for beautiful UI components
 
- Live Demo: https://smart-domain.com
 - Issues: GitHub Issues
 - Discussions: GitHub Discussions
 
β Star us on GitHub