AI-Powered 3D Knob Designer for 3D Printing
Transform your ideas into custom 3D-printable knobs using natural language and AI. AlphaForge Knob Modeler is a cross-platform desktop application that lets you design intricate knobs for synthesizers, guitar pedals, audio equipment, and more without any 3D modeling experience.
- AI-Powered Design: Describe your knob in plain English and let AI generate the 3D model
- Real-Time 3D Preview: Interactive visualization with rotation, zoom, and lighting controls
- Parametric Controls: Fine-tune dimensions like diameter, height, grip style, and shaft size
- Light/Dark Mode: Toggle between light and dark themes for comfortable use in any environment
- STL Export: Export ready-to-print STL files for your 3D printer
- Cross-Platform: Runs on Windows, macOS, and Linux
- Secure: API keys are safely stored in the main process, never exposed to frontend code
- Production-Ready: Built with Electron, memory-optimized, error handling, and professionally packaged
- Accessible: Improved keyboard navigation and mobile-friendly touch targets
- Installer (.exe) (Recommended)
- Portable (.exe)
- AppImage (Portable)
- APK (Signed) - Enable "Unknown Sources" to install
- Coming soon
| Main Interface | Model Preview |
|---|---|
![]() |
![]() |
- π Light/Dark Mode: Full theme support with seamless switching
- π‘οΈ Enhanced Security: Removed API key exposure vulnerabilities
- β‘ Performance Optimizations: Memoized validation functions and improved rendering
- βΏ Accessibility: Better ARIA labels and 44px minimum touch targets for mobile
- π¨ UI Polish: Theme-aware tooltips, toasts, and modals
- π Memory Management: Fixed geometry disposal to prevent memory leaks
- πͺ Production Ready: Error boundaries and graceful error handling
- Shaft Diameter Accuracy: The hole diameter for the shaft may be slightly tight or loose depending on your printer's calibration. Tolerance calculation needs adjustment.
- Workaround: Slightly adjust the "Shaft Diameter" slider in the "Shaft Fit" section to compensate for your printer's tolerance (e.g., add 0.2mm - 0.4mm).
I am an independent open-source developer and help is very welcome!
If you are a developer, 3D printing enthusiast, or UI/UX designer, here is how you can help:
- Test: Download the app, print some knobs, and report your results.
- Code: Check the "Issues" tab for bugs or feature requests.
- Documentation: Improve my guides and examples.
Feel free to open an issue or submit a pull request!
- Download the Setup
.exefile from the latest release. - Run the installer.
- The app will launch automatically.
- (Optional) You can also use the Portable version if you prefer not to install it.
AppImage (Recommended)
# Download and make executable (replace version number with latest)
chmod +x AlphaForge.Knob.Modeler-1.1.0.AppImage
./AlphaForge.Knob.Modeler-1.1.0.AppImageDebian/Ubuntu (.deb)
sudo dpkg -i alphaforge-ai-knob-modeler_1.1.0_amd64.debComing soon
- Visit Google AI Studio
- Create a new API key
- Launch AlphaForge Knob Modeler
- Enter your API key in the settings when prompted
- The key is securely stored and never exposed
- Node.js (v16 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/yourusername/alphaforge-knob-modeler.git
cd alphaforge-knob-modeler
# Install dependencies
npm install
# Set up environment variables
echo "GEMINI_API_KEY=your_api_key_here" > .env.local
# Run in development mode
npm run electron:dev# Development
npm run electron:dev # Run with hot reload
# Production Builds
npm run electron:build:linux # Build Linux packages
npm run electron:build:win # Build Windows installers
npm run electron:build:mac # Build macOS packages
npm run electron:build:all # Build for all platforms
# Clean builds
npm run build:clean # Remove dist folders- Frontend: React 19, TypeScript, Three.js, React Three Fiber
- Desktop: Electron 39
- AI: Google Gemini API
- 3D Rendering: Three.js with @react-three/fiber and @react-three/drei
- Build: Vite, electron-builder
- Icons: Lucide React
- API keys stored securely in Electron main process
- IPC-based communication between renderer and main process
- No sensitive data exposed in frontend JavaScript
- Production logging for debugging without compromising security
alphaforge-knob-modeler/
βββ App.tsx # Main React application
βββ components/ # React components
β βββ KnobMesh.tsx # 3D knob renderer
β βββ ...
βββ services/ # Business logic
β βββ geminiService.ts # AI service (IPC-based)
βββ electron.cjs # Electron main process
βββ preload.cjs # Secure IPC bridge
βββ build/ # Application icons
βββ dist/ # Vite build output
βββ dist-electron/ # Electron packages
- Automatic Three.js geometry and material disposal
- URL object cleanup after exports
- Proper React cleanup hooks
- Memoized validation functions
- Production-tested for long-running sessions
- Error boundaries to catch and handle rendering errors gracefully
- Windows builds
- macOS builds
- Code signing for trusted distribution
- Auto-updates via GitHub Releases
- Save/Load project files (.knob format)
- Additional export formats (OBJ, 3MF)
- Keyboard shortcuts (Ctrl+S, Ctrl+E)
- User preferences/settings persistence
- Recent files menu
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Electron
- Powered by Google Gemini AI
- 3D rendering by Three.js
- Icons by Lucide
For issues, questions, or suggestions, please open an issue on GitHub.
Made with passion for makers, musicians, and creators.

