Create stunning, interactive dashboards from your data in seconds. Upload CSV, JSON, or Excel files and watch AI build beautiful visualizations with intelligent insights.
Features β’ Tech Stack β’ Getting Started β’ Usage β’ Contributing
- Smart Data Understanding: AI analyzes your data structure and recommends optimal visualizations
- Business Context Detection: Automatically identifies data patterns (sales, analytics, HR, etc.)
- Intelligent Chart Selection: Suggests best chart types based on data types and relationships
- Interactive Charts: Line, bar, pie, scatter, area, histogram, and funnel charts
- KPI Cards: Automated metric calculations with trend analysis
- Real-time Filtering: Dynamic data filtering and sorting capabilities
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Multiple Formats: Support for CSV, JSON, Excel (.xlsx/.xls) files
- Smart Parsing: Automatic data type detection and validation
- Memory System: Learns from successful dashboard patterns
- Error Handling: Comprehensive data quality assessment
- Dark/Light Themes: Seamless theme switching
- Live Code Preview: Real-time dashboard generation
- Gradient Design: Beautiful, modern interface
- Accessibility: Built with accessibility standards
- AI Models: Llama 3.1 405B for high-quality code generation
- LLM Inference: Together AI for fast, reliable AI responses
- Frontend: Next.js 15 with React 19 and TypeScript
- Styling: Tailwind CSS with Radix UI components
- Code Sandbox: Sandpack for live code preview and execution
- Database: PostgreSQL with Prisma ORM (Neon serverless)
- File Processing: Papa Parse (CSV), SheetJS (Excel)
- Data Visualization: Recharts, Chart.js integration
- Authentication: Built-in session management
- Deployment: Vercel-ready with edge runtime support
- Node.js 18+ and npm
- PostgreSQL database (or Neon serverless)
- Together AI API key
-
Clone the repository
git clone https://github.com/4mohdisa/dashgen.git cd dashgen -
Install dependencies
npm install
-
Set up environment variables Create a
.envfile in the root directory:# Required: Together AI API key TOGETHER_API_KEY=your_together_ai_api_key_here # Required: Database connection DATABASE_URL=your_postgresql_database_url_here # Optional: For file uploads (if using S3) S3_UPLOAD_KEY=your_s3_key S3_UPLOAD_SECRET=your_s3_secret S3_UPLOAD_BUCKET=your_s3_bucket S3_UPLOAD_REGION=your_s3_region # Optional: For analytics HELICONE_API_KEY=your_helicone_key
-
Set up the database
npx prisma generate npx prisma db push
-
Start the development server
npm run dev
-
Open in your browser Navigate to
http://localhost:3000
-
Start with a Prompt
- Describe what kind of dashboard you want
- Example: "Create a sales dashboard with revenue trends and KPI cards"
-
Upload Your Data (Optional)
- Click the "Data" button to upload CSV, JSON, or Excel files
- AI will automatically analyze your data structure
- Intelligent recommendations will be generated
-
AI Generation
- Click the generate button
- Watch as AI creates a complete dashboard with:
- Interactive charts and visualizations
- KPI cards with real calculations
- Filtering and sorting capabilities
- Responsive design
-
Customize and Export
- Review the generated code
- Make adjustments if needed
- Export or deploy your dashboard
CSV Example:
date,revenue,customers,region
2024-01-01,10000,50,North
2024-01-02,12000,60,South
JSON Example:
[
{"date": "2024-01-01", "revenue": 10000, "customers": 50, "region": "North"},
{"date": "2024-01-02", "revenue": 12000, "customers": 60, "region": "South"}
]- Be Specific: "Create a financial dashboard with revenue trends and expense breakdown"
- Include Context: "Build an e-commerce analytics dashboard for monthly sales data"
- Specify Features: "Generate a dashboard with KPI cards, line charts, and filtering options"
- Data-Aware: When uploading data, AI automatically understands your structure
POST /api/upload-data
Content-Type: multipart/form-data
Form Data:
- file: [CSV|JSON|Excel file]POST /api/import-data
Content-Type: application/json
{
"fileId": "string",
"fileName": "string"
}| Variable | Description | Required |
|---|---|---|
TOGETHER_API_KEY |
Together AI API key for LLM inference | β |
DATABASE_URL |
PostgreSQL connection string | β |
S3_UPLOAD_KEY |
AWS S3 access key for file uploads | β |
HELICONE_API_KEY |
Helicone API key for observability | β |
- Themes: Modify
tailwind.config.tsfor custom color schemes - Models: Update
lib/constants.tsto change AI models - Components: Extend
components/ui/for custom UI elements
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Commit with conventional commits:
git commit -m "feat: add amazing feature" - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
- TypeScript for type safety
- ESLint + Prettier for code formatting
- Conventional commits for clear history
- Comprehensive testing for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- Together AI for powerful LLM infrastructure
- Vercel for seamless deployment platform
- Radix UI for beautiful, accessible components
- The open-source community for inspiration and tools
Mohammed Isa
If you find DashGen useful, please consider giving it a star! β
Made with β€οΈ by Mohammed Isa
