AI-powered CAD modeling with natural language
Last updated: February 8, 2026
MORPHOS is a web-based parametric 3D modeling application that uses Google's Gemini AI to generate JSCAD code from natural language descriptions. Create complex 3D models simply by describing what you want.
| Feature | Description |
|---|---|
| AI Generation | Generate 3D models using natural language (French/English) |
| Real-time Preview | Interactive 3D viewport with Three.js rendering |
| Parametric Editing | Adjust model parameters with sliders and controls |
| Material Library | PBR materials (metals, plastics, glass, wood) |
| Multi-format Export | STL, OBJ, 3MF, G-code for 3D printing |
| Theme Support | Dark and Light mode |
| PWA Ready | Installable as a progressive web app |
# Clone the repository
git clone https://github.com/alainpaluku/morphos.git
cd morphos
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5174 in your browser.
Create a .env file in the root directory:
# Gemini API Configuration
VITE_GEMINI_API_KEY=your_gemini_api_keyGet your API key from Google AI Studio.
Model Used: Gemini 2.5 Flash (free, high performance)
| Category | Technology |
|---|---|
| Frontend | React 18, TypeScript 5 |
| 3D Engine | Three.js |
| CAD Library | @jscad/modeling |
| AI | Google Gemini API |
| Build Tool | Vite |
| Styling | Tailwind CSS |
| Deployment | Cloudflare Pages |
src/
├── components/ # React components
│ ├── layout/ # Layout components (Sidebar, Header, etc.)
│ ├── modals/ # Modal dialogs
│ └── ui/ # Reusable UI components
├── services/ # Business logic services
│ ├── CADService.ts # AI code generation
│ ├── ExportService.ts # File export handling
│ └── MaterialService.ts # Material management
├── workers/ # Web Workers
│ └── jscad.worker.ts # JSCAD code execution
├── utils/ # Utility functions
├── contexts/ # React contexts
├── constants/ # App constants
└── types/ # TypeScript types
- Open the application at http://localhost:5174
- Click the AI Assistant button (bottom of screen)
- Describe your model in natural language
- Example: "Create a gear with 20 teeth"
- Example: "Make a box with rounded corners"
- Adjust parameters using the right panel sliders
- Change materials in the Materials tab
- Export your model in your preferred format
Option 1: Via GitHub (Recommended)
- Connect your repository on Cloudflare Dashboard
- Configure build settings:
- Build command:
npm run build - Build output:
dist - Environment variables:
VITE_GEMINI_API_KEY: Your API keyVITE_GEMINI_MODEL:gemini-2.5-flash(optional)
- Build command:
Option 2: Via CLI
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages deploy ./dist --project-name=morphosContributions are welcome! Please feel free to submit a Pull Request.
This project is proprietary software. All rights reserved.
You may NOT use, copy, modify, or distribute this code without explicit written permission from the author.
To request permission, please contact:
- GitHub: @alainpaluku
See the LICENSE file for full terms.
Built with Three.js and powered by Google Gemini
