EQUIBOX
The complete quoting and sales system for a horse-stable manufacturer in Berazategui, Buenos Aires: buyers design their stable in 3D, and the sales team quotes with shipping, financing and a CRM — even with no signal.

Modular stables come in countless combinations: layout, sizes, walls, doors, accessories and shipping distance. Buyers struggled to picture the result, and every quote had to be put together by hand — often at rural expos with no internet.
A step-by-step configurator with a parametric 3D render that rebuilds with every choice. The public version gives the buyer a PDF spec sheet and a WhatsApp quote request; logged-in sales reps get the full quote with prices, shipping and payment plans, plus a CRM to follow up.
One product, three fronts
3D configurator
Buyers design their stable and see it in 3D as they choose.
- Live render with real wood textures and day/night mode
- 7-step wizard: layout, finish, stalls, walls and accessories
- Single row, back-to-back, facing, L-shaped or U-shaped plans
- PDF spec sheet with views of the render
- Quote request via WhatsApp with the full configuration
Sales panel
Sales reps quote with prices and follow up.
- Priced quotes, only for logged-in sales reps
- Shipping calculated per kilometer with Google Maps
- Payment plans, installments and discount coupons
- CRM with stages, follow-ups and collections
- Reports with charts, plus admin and sales roles
Infrastructure
Built to be used out in the field, with or without signal.
- Installable app that works offline
- Supabase: Postgres, Auth, Storage and Edge Functions
- Row Level Security and per-device rate limiting
- Automatic email alerts on every quote
- Strict security headers (CSP, HSTS)
The buyer sees their stable before signing, and the sales team quotes, finances and follows up from the same tool — at the office or at an expo stand with no signal.
The 3D engine was born here — see where it went next →Neutral, so the wood stands out
The interface follows the brand’s main site: black, white and greys, almost square corners, and a single typeface. The only color on screen comes from the product itself — the three wood finishes in the 3D render.
Typeface: Montserrat — a single family to keep downloads light on weak mobile signal
Ink
#111111
Background
#F4F4F4
Chocolate wood
#482915
Nordic wood
#B77A31
The hard parts, solved
Quoting with no signal, at a rural expo
Quotes are saved on the device first (IndexedDB) and synced when the connection comes back. Each one carries a client-generated ID with a unique index in the database, so retries never duplicate a lead in the CRM. The service worker serves the whole app offline.
Smooth 3D on an iPad
A resolution cap on touch screens, shadows computed once, a maximum number of night lights, and a visual limit of stalls per group that doesn’t limit what can be quoted. The camera reframes itself based on the size of the layout. Night mode is deliberately exaggerated: the configurator is used at sunny expo stands.
A public backend, locked down
Anyone can request a quote without an account, so security lives in the database: RLS policies and grants handled as two separate layers, triggers with a fixed search_path, rate limiting per IP and per device, and the alert email is built server-side from the ID so no one can inject its content.
A PDF that shows what was quoted
The quote is generated in the browser as a vector PDF, including the isometric and plan views taken from the same render the client saw, plus photos of the chosen accessories.
Built end-to-end
Frontend
- React 18
- Vite
- React Router
- CSS con tokens
3D
- Three.js
- Texturas PBR + HDRI
- Geometría paramétrica
Backend
- Supabase (Postgres, Auth, Storage)
- Edge Functions (Deno)
- Row Level Security
Integrations
- Google Distance Matrix
- Resend (email)
Documents
- jsPDF (PDF vectorial)
- Capturas del render
Operations
- Vercel
- PWA + Service Worker
- IndexedDB (cola offline)
The configurator in action



Do you manufacture something your clients can’t picture?
A 3D configurator lets them see it before buying and gives your team the quote in minutes. Tell me what you make.