Connect to any database, explore schemas, and generate realistic dummy data with AI-powered content generation.
- 5 DBMS Support - PostgreSQL, MySQL, MSSQL, SQLite, Oracle
- Auto FK Resolution - Analyzes foreign key relationships and generates parent data first
- Faker Templates - Email, phone, name, address, company, and 20+ realistic data patterns
- AI-Generated Content - Use OpenAI to generate context-aware text data (bio, descriptions, comments, etc.)
- GIS Data - PostGIS Point, LineString, Polygon geometry generation
- Smart Defaults - Automatically suggests generation mode based on column name and type
- Unlimited Rows - Batch processing with real-time progress tracking via SSE
- Single Binary - One Docker image serves both frontend and API
docker run -p 8080:8080 aidummiesOpen http://localhost:8080 in your browser.
docker-compose upThis starts the app along with sample PostgreSQL, MySQL, and MSSQL instances for testing.
Prerequisites: Go 1.22+, Node.js 20+
# Backend
cd backend
go run ./cmd/server/
# Frontend (separate terminal)
cd frontend
npm install
npm run dev| Variable | Description | Required |
|---|---|---|
OPENAI_API_KEY |
OpenAI API key for AI-generated content | Optional (can also input in UI) |
PORT |
Server port (default: 8080) | No |
| Category | Generation Modes |
|---|---|
| Numbers (int, float, decimal) | Range (min/max) |
| Strings (varchar, text) | Enum list, Faker template, AI-generated |
| Date/Time | Auto (random within range) |
| Boolean | Auto (random true/false) |
| UUID | Auto (random UUID v4) |
| JSON | Auto or AI-generated |
| Geometry (PostGIS) | Point, LineString, Polygon with configurable bounds |
email, phone, firstName, lastName, name, streetAddress, city, state, zip, country, company, url, ipv4Address, sentence, paragraph, and more via gofakeit.
Select your DBMS type and enter connection details. Click "Test & Connect" to verify.
Browse all schemas, tables, and columns. Select the tables you want to populate.
For each selected table, set the number of rows and configure each column:
- Skip - Auto-increment/PK columns (auto-detected)
- Auto - FK columns (resolved from parent), dates, booleans, UUIDs
- Range - Numeric columns with min/max bounds
- Enum - Pick from a list of values
- Faker - Realistic data templates (email, phone, address, etc.)
- AI - Describe the content and let OpenAI generate it
- Geo - GIS geometry with coordinate bounds
If any column uses AI generation, enter your OpenAI API key or use the environment variable.
Click "Start Generation" and watch real-time progress. Data is inserted in batches with live progress bars.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/connect |
Test and establish DB connection |
| POST | /api/disconnect |
Close DB connection |
| GET | /api/schemas |
Read all schemas/tables/columns/FKs |
| POST | /api/generate |
Start data generation (SSE stream) |
| GET | /api/health |
Health check |
- Backend: Go, Chi router, database/sql
- Frontend: SvelteKit, Tailwind CSS, shadcn-svelte
- AI: OpenAI API (gpt-4o-mini)
- Deployment: Single Docker image (Go serves static SvelteKit build)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT