Project Info
Inspiration
The gap between creative imagination and physical creation has always required specialized CAD skills and 3D modeling expertise. I wanted to bridge this gap by creating "the general AI engineer that lets you create any physical product just by thinking about it!". The name is inspired by the AI 2027 report, which envisions what would happen when humans create exponentially smarter AI models (AGENT-1, AGENT-2, AGENT-3, ...) which ultimately automate scientific research. ENGINEER-1 is a small step towards building Engineering General Intelligence (EGI).
What it does
ENGINEER-1 is an AI-powered platform that enables users to design and create 3D models through natural conversation. Users simply describe what they want to build, and the AI agent guides them through the entire design process. The system searches through hundreds of existing CAD designs using the ChromaDB-powered RAG system to find inspiration and reference examples. It creates mockup images using Gemini NanoBanana to help visualize the concept before creating the 3D model (Design Mode). The project uses OpenSCAD to create precise, parametric 3D models that can be iteratively refined through conversation. Finally, users can publish their creations to our hub marketplace where others can discover, customize, and build upon their designs.
How we built it
MCP Server Architecture: We implemented a custom MCP (Model Context Protocol) server for OpenSCAD using FastMCP in Python, providing tools for script creation, rendering, STL export, and hub publishing. This server maintains persistent state and handles all 3D modeling operations through the OpenSCAD CLI. MCP Server Architecture: We implemented a custom MCP (Model Context Protocol) server for OpenSCAD using FastMCP in Python, providing tools for script creation, rendering, STL export, and hub publishing. This server maintains persistent state and handles all 3D modeling operations through the OpenSCAD CLI. RAG System with ChromaDB: We built a comprehensive vector search system by embedding a dataset of thousands of 3D designs from Thingiverse (through BrightData) using Jina Embeddings v3. The embeddings are stored in ChromaDB, allowing semantic search across design descriptions, names, and metadata. This gives the AI agent access to a vast library of reference designs and inspiration. RAG System with ChromaDB: We built a comprehensive vector search system by embedding a dataset of thousands of 3D designs from Thingiverse (through BrightData) using Jina Embeddings v3. The embeddings are stored in ChromaDB, allowing semantic search across design descriptions, names, and metadata. This gives the AI agent access to a vast library of reference designs and inspiration. Thinking Mode & Image Generation: We integrated Gemini NanoBanana to generate reference images when users describe abstract concepts. This "thinking mode" helps bridge the gap between verbal descriptions and visual representations before the 3D modeling begins. Thinking Mode & Image Generation: We integrated Gemini NanoBanana to generate reference images when users describe abstract concepts. This "thinking mode" helps bridge the gap between verbal descriptions and visual representations before the 3D modeling begins. Web Hub/Marketplace: We created a Next.js 15 application with Turbopack, React 19, and Tailwind CSS for the frontend. The hub features advanced filtering, search capabilities, reference image galleries, and a clean interface for browsing published designs. Web Hub/Marketplace: We created a Next.js 15 application with Turbopack, React 19, and Tailwind CSS for the frontend. The hub features advanced filtering, search capabilities, reference image galleries, and a clean interface for browsing published designs. The entire system is orchestrated by a Claude Code as the MCP host.
Challenges we ran into
OpenSCAD Integration: Getting OpenSCAD to work reliably in a server environment required careful handling of the CLI interface, especially for rendering operations with different camera angles and export formats. OpenSCAD Integration: Getting OpenSCAD to work reliably in a server environment required careful handling of the CLI interface, especially for rendering operations with different camera angles and export formats. Embedding Quality: Finding the right embedding model and configuration for 3D design descriptions was challenging. We experimented with different models before settling on Jina Embeddings v3 with the text-matching task for optimal semantic search results. Embedding Quality: Finding the right embedding model and configuration for 3D design descriptions was challenging. We experimented with different models before settling on Jina Embeddings v3 with the text-matching task for optimal semantic search results.
Accomplishments we're proud of
Complete MCP Server Implementation: We successfully built a production-ready MCP server for OpenSCAD that provides comprehensive 3D modeling capabilities through a conversational interface. Complete MCP Server Implementation: We successfully built a production-ready MCP server for OpenSCAD that provides comprehensive 3D modeling capabilities through a conversational interface. Intelligent Design Search: Our RAG system with hundreds of embedded examples enables the AI to find relevant inspiration and learn from existing designs, dramatically improving the quality of generated models. Intelligent Design Search: Our RAG system with hundreds of embedded examples enables the AI to find relevant inspiration and learn from existing designs, dramatically improving the quality of generated models. End-to-End Product Pipeline: We created a complete workflow from idea to shareable product - including design, rendering, export, and publishing to a marketplace. End-to-End Product Pipeline: We created a complete workflow from idea to shareable product - including design, rendering, export, and publishing to a marketplace. Clean Architecture: The modular design with separate MCP servers for different capabilities (OpenSCAD, RAG, thinking mode, design mode) makes the system extensible and maintainable. Clean Architecture: The modular design with separate MCP servers for different capabilities (OpenSCAD, RAG, thinking mode, design mode) makes the system extensible and maintainable.
What we learned
Iterative Design Importance: Users rarely get their design right on the first try - building in versioning and iterative refinement capabilities from the start was crucial. Iterative Design Importance: Users rarely get their design right on the first try - building in versioning and iterative refinement capabilities from the start was crucial. Visual References Matter: Having reference images (either provided or generated) dramatically improves the quality of 3D model generation and helps align expectations between users and the AI. Visual References Matter: Having reference images (either provided or generated) dramatically improves the quality of 3D model generation and helps align expectations between users and the AI. Integration Complexity: Orchestrating multiple AI services (Claude, Gemini), databases (ChromaDB), and specialized tools (OpenSCAD) requires careful attention to error handling and state management. Integration Complexity: Orchestrating multiple AI services (Claude, Gemini), databases (ChromaDB), and specialized tools (OpenSCAD) requires careful attention to error handling and state management. CAD is VERY HARD! CAD is VERY HARD!
What's next
Advanced Materials & Manufacturing: Integrate material selection, cost estimation, and direct integration with 3D printing services and manufacturers. Advanced Materials & Manufacturing: Integrate material selection, cost estimation, and direct integration with 3D printing services and manufacturers. Collaborative Design: Enable multiple users to work on designs together, with version control and design branching similar to Git for 3D models. Collaborative Design: Enable multiple users to work on designs together, with version control and design branching similar to Git for 3D models. Physics Simulation: Add FEA (Finite Element Analysis) capabilities to validate structural integrity and optimize designs for real-world use. Physics Simulation: Add FEA (Finite Element Analysis) capabilities to validate structural integrity and optimize designs for real-world use. Creator Monetization: Implement a marketplace economy where designers can sell their parametric designs, with automatic royalty distribution and licensing management. Creator Monetization: Implement a marketplace economy where designers can sell their parametric designs, with automatic royalty distribution and licensing management. Extended CAD Support: Expand beyond OpenSCAD to support other CAD kernels like Fusion 360, Autodesk Inventor, or commercial tools. Extended CAD Support: Expand beyond OpenSCAD to support other CAD kernels like Fusion 360, Autodesk Inventor, or commercial tools. Mobile & AR Integration: Create mobile apps with AR visualization to let users see their designs in real-world contexts before manufacturing. Mobile & AR Integration: Create mobile apps with AR visualization to let users see their designs in real-world contexts before manufacturing. AI Design Optimization: Implement generative design capabilities that can automatically optimize designs for specific constraints (weight, strength, material usage, etc.). AI Design Optimization: Implement generative design capabilities that can automatically optimize designs for specific constraints (weight, strength, material usage, etc.). ENGINEER-0: training a reinforcement learning based version that can go beyond human created examples and unlock completely novel ways of designing products. ENGINEER-0: training a reinforcement learning based version that can go beyond human created examples and unlock completely novel ways of designing products. Long Term: Manufacturing Network: Build partnerships with local makerspaces, 3D printing farms, and traditional manufacturers to offer instant quotes and one-click ordering.
ENGINEER-1
The general AI engineer that lets you create any physical product just by thinking about it!
Todo
- Scaffold a simple agent that is based on connecting claude code to OpenSCAD via MCP
- implement RAG (using Chroma = $200 prize)
- implement a feedback loop for iterative improvement over the design
- implement a feature to generate a reference image with nano banana
- create a simple marketplace for people to share (and potentially monetize) their creations (lower priority, can go with a nextjs template to speed things up, or go full vibecoding)
Analysis
View
Metric
- 13
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
7 of 8 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- Claude CodeConfig
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
585 KB
Source files
112
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
mohamedsobhi777/ENGINEER-1
415 files · 87.0 MB · @ 09f2542
Structure
Interface
92 files · 22%Screens, components and styles rendered to the user.
Application logic
48 files · 12%Domain rules, services and shared utilities.
+7 more
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript51%
- YAML40%
- Python6%
- CSS2%
- JavaScript1%
- Markdown1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
cloud/packages/ui/package.json
npm · 47- @fal-ai/client
- @hugeicons/core-free-icons
- @hugeicons/react
- @radix-ui/react-avatar
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-label
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-select
- @radix-ui/react-separator
- @radix-ui/react-slider
- @radix-ui/react-slot
- @radix-ui/react-switch
- @radix-ui/react-tabs
- @radix-ui/react-toggle
- @radix-ui/react-toggle-group
- +29 more
cloud/apps/web/package.json
npm · 44- @fal-ai/client
- @hugeicons/core-free-icons
- @hugeicons/react
- @radix-ui/react-avatar
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-label
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-separator
- @radix-ui/react-slot
- @radix-ui/react-tabs
- @radix-ui/react-toggle
- @radix-ui/react-toggle-group
- @radix-ui/react-tooltip
- @tabler/icons-react
- @vercel/analytics
- +26 more
cloud/packages/eslint-config/package.json
npm · 1313 development-only dependencies.
cloud/package.json
npm · 55 development-only dependencies.
agent/rag-mcp/requirements.txt
pypi · 3- chromadb
- fastmcp
- python-dotenv
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.