An AI-powered system design generator that leverages Groq API and Mermaid.js to create comprehensive technical architecture diagrams and implementation plans. Input your system requirements and get detailed architectural diagrams, component breakdowns, and technical specifications.
- AI-Powered Analysis: Utilizes Groq's LLM for processing technical requirements and generating detailed system designs
- Interactive Diagrams: Creates dynamic Mermaid.js flowcharts showing component interactions and data flow
- Comprehensive Planning: Provides detailed implementation steps, technology recommendations, and best practices
- Multi-Cloud Support: Generates architectures compatible with AWS, Google Cloud, and Azure
- Technical Depth: Includes component-level details, data flow specifications, and scalability considerations
- Error Handling: Built-in validation and error handling for robust diagram generation
- Customizable Output: Adjust technical preferences for frontend, database, cloud provider, and caching strategies
- AI Engine: Groq API with Llama 3.3 70B model
- Visualization: Mermaid.js for diagram rendering
- Frontend: Streamlit for interactive web interface
- Language: Python 3.11+
- Deployment: Streamlit Community Cloud
-
Clone the repository:
git clone https://github.com/lankesathwik7/system-design-generator.git cd system-design-generator
-
Create and activate a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.env
file in the project root - Add your Groq API key:
GROQ_API_KEY=your_api_key_here
- Create a
-
Start the application:
streamlit run streamlit_app.py
-
Input your system requirements. Example:
Design a real-time chat application that supports: - 1 million concurrent users - Message persistence - Read receipts - Push notifications - File sharing up to 100MB
-
Configure technical preferences:
- Select frontend framework
- Choose database system
- Pick cloud provider
- Set caching strategy
-
Click "Generate Design" to create:
- System architecture diagram
- Component breakdowns
- Implementation details
- Technology recommendations
Category | Available Options |
---|---|
Frontend Framework | React, Angular, Vue.js, Next.js |
Database Systems | DynamoDB, PostgreSQL, MongoDB, Redis |
Cloud Providers | AWS, Google Cloud, Azure |
Caching Strategies | Redis, Memcached, CDN |
system-design-generator/
├── streamlit_app.py # Main application
├── utils/
│ ├── ai_processor.py # Groq API integration
│ └── diagram_generator.py # Mermaid.js generation
├── .devcontainer/ # Development container settings
├── .github/ # GitHub configurations
├── requirements.txt # Python dependencies
└── LICENSE # Apache 2.0 license
- Fork the repository
- Create your feature branch:
git checkout -b feature/new-feature
- Commit your changes:
git commit -m 'Add new feature'
- Push to the branch:
git push origin feature/new-feature
- Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Groq for AI inference acceleration
- Streamlit for the web application framework
- Mermaid.js for diagram generation
- The open-source community for various tools and libraries
This tool is designed for generating system architecture diagrams and technical implementation plans. While it provides comprehensive suggestions, always review and adapt the output based on your specific requirements and constraints.