Monova Design
A two-language site for a boutique studio making Montessori-style play materials: a product catalogue, an AI-assisted admin panel and a 3D-print quote calculator that runs in the browser.
- Project type
- Client Work
- Sector
- Educational toys & 3D printing
- Location
- Bursa, Türkiye
- My role
- Design & development
- Year
- 2025 – 2026
- Languages
- Turkish, English
- Problem
- The price of a custom print depends on the model's volume, the material and the infill; a visitor shouldn't have to start a conversation just to see it.
- Solution
- The visitor drops an STL file on the page; the model opens in 3D in the browser, and weight, print time and price are calculated instantly.
Context
Monova Design is a family business in Bursa, started by an English teacher and an engineer. It makes Montessori-style educational play materials and children's room decor from 3D prints and wood, and turns customers' own ideas into custom pieces.
The studio needed two things: a catalogue to show its products in two languages, and a quote flow for custom print requests. I launched the site in December 2025 and added the 3D quote calculator in March 2026.
Approach
- The price comes from the file itself. In the "Hayalini Üret" (make your idea) flow, the visitor drops an STL file on the page. The model opens in the browser with Three.js, where it can be rotated, zoomed and previewed in 9 colours. Dimensions, weight and estimated print time are calculated from the file.
- Options change the price live. PLA, ABS, PETG or TPU; 3 layer qualities, 6 infill levels and a quantity. Unit price, VAT and total are recalculated on every change.
- Content stays with the studio. Products, blog posts, page copy, images and incoming messages are managed from an admin panel.
- AI help with product copy. From a product's name and category, the panel drafts a product description in Turkish or English with Gemini.
Highlights
- Catalogue: Category filters, and a keyboard-navigable lightbox gallery on product pages.
- Custom production: A three-step explainer on the homepage, with calls to action that lead to the instant quote calculator.
- Contact: A form that submits without a reload, with CSRF protection, reCAPTCHA and attachments up to 50 MB.
- Two languages: Turkish and English content, product names and blog titles included.
Technical foundation
- Core: A framework-free PHP application that keeps its data in JSON files instead of a database, with products, blog, messages, settings and site images each in their own file.
- Admin panel: Behind a login, with sections for products, blog, content, media, messages and settings, plus a password reset flow.
- 3D: Model viewing in the browser with Three.js, OrbitControls and STLLoader; volume and weight are calculated client-side.
- AI: The Gemini API, with a key entered in the panel's settings and up to three retries on failed requests.
- Interface: Bootstrap 5.3 and AOS; every image is WebP.
- Server: HTTPS redirects, HSTS, gzip compression and caching for static files.
Outcome
The site brings the studio's two lines of work together: it shows ready-made products in two languages, and for custom prints it shows the visitor a price the moment their file is loaded.
FIG. 02Pages
1440 × 90001
3D-print quote calculator — STL model, dimensions, material options and total price
02
Product page — gallery, price and description






