https://github.com/andymai/gridfinity-layout-tool
Web app for planning drawer organization using the Gridfinity modular storage system
https://github.com/andymai/gridfinity-layout-tool
3d-printing 3d-visualization drawer-organizer gridfinity open-source parametric-design playwright pwa react stl-export tailwindcss threejs typescript vercel vite vitest zustand
Last synced: 8 days ago
JSON representation
Web app for planning drawer organization using the Gridfinity modular storage system
- Host: GitHub
- URL: https://github.com/andymai/gridfinity-layout-tool
- Owner: andymai
- License: agpl-3.0
- Created: 2026-01-08T01:38:28.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-22T02:04:11.000Z (23 days ago)
- Last Synced: 2026-05-22T02:54:09.982Z (23 days ago)
- Topics: 3d-printing, 3d-visualization, drawer-organizer, gridfinity, open-source, parametric-design, playwright, pwa, react, stl-export, tailwindcss, threejs, typescript, vercel, vite, vitest, zustand
- Language: TypeScript
- Homepage: https://gridfinitylayouttool.com
- Size: 16.4 MB
- Stars: 70
- Watchers: 0
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Gridfinity Layout Tool
[](https://github.com/andymai/gridfinity-layout-tool/actions/workflows/ci.yml)
[](https://github.com/andymai/gridfinity-layout-tool/releases)
[](https://github.com/andymai/gridfinity-layout-tool/releases)
[](https://github.com/andymai/gridfinity-layout-tool/commits/main)
[](./LICENSE)
Plan and design [Gridfinity](https://www.youtube.com/c/ZackFreedman) drawer organizer layouts for 3D printing — right in your browser.
### → [**gridfinitylayouttool.com**](https://gridfinitylayouttool.com)

---

---

## Features
- **Layout Planner** — Drag-and-drop bin placement with stacked layers and color-coded categories
- **3D Preview** — Isometric visualization of your drawer layout
- **Bin Designer** — Parametric 3D bin generator with STL export
- **Baseplate Generator** — 3D-printable Gridfinity baseplates with automatic splitting and STL / STEP / 3MF export
- **Print List** — Optimized print list with filament, time, and cost estimates
- **Inspiration Gallery** — Browse curated example layouts across workshop, kitchen, office, hobby, and personal themes
- **Cloud Sharing** — Share layouts via link with optional real-time collaboration
- **Cloud Sync** — Sign in with Google or GitHub to sync your layouts and bin designs across devices
- **PWA** — Installable, works offline
## Scope
To set expectations, this tool deliberately does not:
- **Slice models for printing** — export STL / STEP / 3MF and slice in Bambu Studio, PrusaSlicer, OrcaSlicer, etc.
- **Replace general-purpose CAD** — the Bin Designer is parametric but stays within the Gridfinity spec; for arbitrary shapes use Fusion, OpenSCAD, etc.
- **Require accounts** — layouts live in your browser by default; signing in for Cloud Sync and link-based sharing are both opt-in
- **Support legacy browsers** — needs a modern browser with WebGL support
## Built With
- **[brepjs](https://github.com/andymai/brepjs)** — Parametric 3D geometry & STL export (OpenCascade WASM)
- **[Three.js](https://threejs.org)** — 3D visualization
## Local Development
Requires **Node.js 24+** and **pnpm 11+**. Use `nvm use` to switch to the correct version (requires [nvm](https://github.com/nvm-sh/nvm)).
```bash
git clone https://github.com/andymai/gridfinity-layout-tool.git
cd gridfinity-layout-tool
nvm use
pnpm install
pnpm run dev # Development server at localhost:5173
pnpm run build # Production build
pnpm run test:coverage # Unit tests with coverage
pnpm run test:e2e # Playwright end-to-end tests
```
## Contributing
This project is open source but not open contribution — see [CONTRIBUTING.md](./CONTRIBUTING.md) for details on bug reports, feature requests, and the pull request policy.
## License
[GNU Affero General Public License v3.0](./LICENSE) — see the LICENSE file for details.