CoDesign is an open-source, AI-powered design platform for teams to create together in real time.
Design is a fundamental building block of the modern web, yet the leading tools are closed and proprietary. CoDesign aims to democratize design tooling by offering a community-owned platform where anyone can contribute, extend, and innovate.
- Real-time collaboration → Multiple users editing on the same canvas
- Vector tools & layers → Shapes, text, grouping, constraints
- AI design assistance:
- Auto-layout & responsive suggestions
- Generate components from natural language prompts
- Export design frames directly to React/Tailwind code
- Accessibility checks & improvements
- Versioning & snapshots → Rollback, branching, and design history
- Plugin ecosystem → Extensible by the community
- Self-hostable → Run it on your own infra for privacy & control
- Node.js 18+
- MongoDB 6+
- npm or yarn
-
Clone the repository
git clone https://github.com/amansoomro062/codesign.git cd codesign -
Install dependencies
npm run install:all
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Start development servers
npm run dev
-
Open your browser
- Frontend: http://localhost:3000
- Backend: http://localhost:5000
codesign/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── utils/ # Utility functions
│ │ └── services/ # API services
├── server/ # Node.js/Express backend
│ ├── routes/ # API routes
│ ├── models/ # MongoDB models
│ ├── middleware/ # Express middleware
│ └── services/ # Business logic
├── docs/ # Documentation
└── shared/ # Shared types and utilities
- React 18 - UI framework
- TypeScript - Type safety
- Tailwind CSS - Styling
- Framer Motion - Animations
- Zustand - State management
- Socket.io Client - Real-time communication
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM
- Socket.io - Real-time server
- JWT - Authentication
- OpenAI API - Design suggestions
- TensorFlow.js - Client-side ML
- Design tokens - Consistent design system
npm run dev- Start both frontend and backend in development modenpm run server:dev- Start backend server with hot reloadnpm run client:dev- Start frontend with hot reloadnpm run build- Build frontend for productionnpm run start- Start production servernpm run test- Run testsnpm run lint- Run ESLintnpm run format- Format code with Prettier
We use ESLint and Prettier for consistent code formatting. Run npm run format before committing.
We welcome contributions from the community! Please see our Contributing Guide for details.
- Fork the repository
- Create a 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Figma, Sketch, and other design tools
- Built with love by the open-source community
- Special thanks to all contributors and supporters
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
Made with ❤️ by the CoDesign Community