TechDraw is a modern, AI-powered visual diagramming application designed for creating system architecture diagrams, workflow visualizations, and technical documentation. Built with React Flow and powered by multiple AI providers, it enables developers and architects to quickly generate and customize professional diagrams for local workflows and system architecture documentation.
- Interactive Diagram Editor: Drag-and-drop interface with React Flow
- AI-Powered Generation: Generate diagrams from natural language descriptions
- Rich Icon Library: 500+ technology icons (AWS, Azure, Docker, Kubernetes, etc.)
- Multiple Export Formats: PNG and SVG export capabilities
- Real-time Editing: Live text editing with context menus
- Node Management: Create, edit, delete, duplicate, and connect nodes
- Undo/Redo: Full history management with keyboard shortcuts
- Multi-Provider Support:
- OpenAI (GPT-4, GPT-3.5)
- Anthropic Claude
- Google Gemini
- Groq (Llama models)
- Intelligent Node Placement: AI automatically arranges nodes logically
- Context-Aware Modifications: AI understands existing diagram structure
- Technology Recognition: AI suggests appropriate icons based on context
- Responsive Design: Works seamlessly on desktop and tablet
- Keyboard Shortcuts: Efficient workflow with hotkeys
- Local Storage: Auto-save and persistent diagram storage
- Modern UI: Clean, professional interface with Tailwind CSS
- Performance Optimized: Smooth interactions even with large diagrams
Clean, modern interface for creating and managing diagrams
AI-powered diagram generation from natural language
Professional system architecture diagram with technology icons
Easy configuration for multiple AI providers
- Node.js 18+
- npm or yarn
- Modern web browser
-
Clone the repository
git clone https://github.com/SaiDhinakar/TechDraw.git cd TechDraw -
Install dependencies
npm install
-
Configure AI providers (optional)
- Create a
.env.localfile in the root directory - Add your API keys:
VITE_OPENAI_API_KEY=your_openai_key_here VITE_ANTHROPIC_API_KEY=your_anthropic_key_here VITE_GOOGLE_API_KEY=your_google_key_here VITE_GROQ_API_KEY=your_groq_key_here
- Create a
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
-
Manual Creation
- Click the "+" button or press
Spaceto add nodes - Select from 500+ technology icons
- Connect nodes by dragging from connection points
- Edit text by double-clicking or using context menu
- Click the "+" button or press
-
AI Generation
- Click "Generate with AI"
- Describe your system architecture in natural language
- Example: "Create a microservices architecture with React frontend, Node.js API, PostgreSQL database, and Redis cache, deployed on AWS"
- Choose your preferred AI provider
- Review and customize the generated diagram
Right-click any node to access:
- Edit: Modify text, icon, and styling
- Copy: Duplicate nodes with Ctrl+C
- Delete: Remove nodes and connections
- AI Modify: Intelligently update existing nodes
Space: Add new nodeCtrl+S: Save diagramCtrl+Z: UndoCtrl+Y: RedoCtrl+C: Copy selected nodesCtrl+V: Paste nodesCtrl+D: Duplicate selectionDelete: Remove selected items
- PNG Export: High-quality raster images for presentations
- SVG Export: Scalable vector graphics for documentation
- Local Storage: Automatic saving and loading
- React 19.1.1: Modern React with hooks and concurrent features
- TypeScript: Type-safe development
- React Flow: Interactive node-based editor
- Tailwind CSS: Utility-first styling
- Lucide React: Beautiful icon system
- OpenAI API: GPT models for intelligent generation
- Anthropic Claude: Advanced reasoning capabilities
- Google Generative AI: Gemini models
- Groq: High-performance inference
- Vite: Lightning-fast development and building
- ESLint: Code quality and consistency
- HTML2Canvas: Client-side screenshot generation
- html-to-image: Advanced image export
src/
βββ components/ # React components
β βββ nodes/ # Custom node types
β βββ ContextMenu.tsx # Right-click menu
β βββ EditModal.tsx # Node editing interface
β βββ AIModifyModal.tsx # AI modification dialog
βββ lib/ # Core libraries
β βββ ai.ts # AI provider integrations
β βββ exportService.ts # Export functionality
β βββ utils.ts # Utility functions
βββ types/ # TypeScript definitions
βββ hooks/ # Custom React hooks
βββ App.tsx # Main application component
We welcome contributions! Please see our CONTRIBUTING.md for guidelines on:
- Adding new technology icons ( current icon sourced from https://techicons.dev/ )
- Improving AI integrations
- Code contributions
- Bug reports and feature requests
- Microservices diagrams
- Database schemas
- API workflows
- Deployment architectures
- AWS/Azure/GCP architectures
- Container orchestration
- CI/CD pipelines
- Network topologies
- Data flow diagrams
- Service dependencies
- Integration patterns
- Technical documentation
- Local-First: All diagrams stored locally in your browser
- API Key Security: Keys stored securely in browser storage
- No Data Collection: No telemetry or user tracking
- Open Source: Full transparency and auditability
- Large diagrams (50+ nodes) may experience performance degradation
- SVG export may not preserve all styling in some browsers
- AI generation quality varies by provider and prompt complexity
- React Flow for the excellent diagramming foundation
- Lucide for beautiful icons
- Tailwind CSS for the design system
- TechIcons.dev for the icons packs.
- The open-source community for inspiration and support
- Issues: Report bugs on GitHub Issues