Multi-service platform
Crewa
Print-on-demand 3D printing platform: upload a model, get an automated quote, get it printed. Built end-to-end by AI agents under owner review.
- FastAPI
- Python
- Next.js
- TypeScript
- PostgreSQL
- Redis
- Celery
- CuraEngine
- MinIO
- SuperTokens
- Traefik
- Docker
- Langfuse
- Grafana
- Loki
Overview
Crewa is a print-on-demand platform for 3D printing: a customer uploads a model, the system analyses the geometry, orients and slices it, prices it against a real cost floor, and routes it to a printer. Colombia-first, designed to expand across LATAM. The original scope was a broader artisan marketplace; that storefront layer is deliberately deferred so the print-on-demand pipeline, the hardest and most differentiated part, ships and proves itself first. Its defining trait is how it is built: Daniel defines requirements, reviews, and approves: a fleet of specialized AI agents writes all production code.
Problem
Quoting a 3D print by hand is slow and inconsistent: someone has to open the model, eyeball material and machine time, and hope the number covers cost. Customers wait days for a price, and makers either underprice the job or lose it. Separately, building a multi-service platform of this scope solo is normally out of reach: it is the workload of a whole team, not one operator.
Solution
A microservice platform, auth, commerce with the Costeo cost engine, slicing, print orchestration, and notifications, behind Traefik, fronted by two Next.js PWAs sharing a @crewa/ui component library. The pipeline runs upload → geometry analysis and flagging → orientation → slice → priced quote → print queue, with no human in the loop for a clean model. It is delivered through an agentic development loop: specialized agent profiles (planner, per-domain builders, QA, infra, reviewer), one profile per session, with QA writing failing tests before any feature exists and builders implementing until they pass.
Architecture
FastAPI services split by domain: auth (self-hosted SuperTokens, email/password + Google OAuth), commerce (orders and the Costeo BOM cost engine with multi-currency USD/COP supplier sources and volume tiers), slicer (STL/OBJ/PLY/3MF → G-code via trimesh conversion and CuraEngine, with print orientation and geometry flagging), printing (orchestrator + Moonraker), and notifications (Brevo). PostgreSQL for state, Redis + Celery for queues and workers, MinIO for object storage served through a media proxy. GitHub is source of truth; a webhook syncs a Gitea mirror whose Actions run the test gate and a change-detecting blue/green deploy on the homelab. Observability is first-class: Langfuse traces every agent and LLM call end-to-end, while Grafana dashboards over Loki logs and service metrics make the running system, and the agents building it, auditable.
Key decisions
All production code is agent-authored under one-profile-per-session discipline to prevent architectural drift. Tests are written before features and QA owns the test suite: builders never touch it. Migrations must be expand/contract-safe so the deploy gate can auto-apply additive changes while blue still serves traffic; destructive changes are coordinated by hand. Self-hosted Gitea Actions over cloud runners for zero cloud minutes and full control. A costeo-first flow so every quote is priced against a real cost floor rather than a guess. And the marketplace was descoped from V1: shipping the print pipeline that actually differentiates the product beats shipping a storefront that does not.
Challenges
Directing a fleet of specialized agents without letting the architecture drift; keeping every migration expand/contract-safe under blue/green so live traffic never breaks; modeling multi-currency cost with volume tiers; threading 3D model orientation from the viewer through to the slicer; making geometry problems legible to non-technical customers (non-manifold meshes, thin walls, unsupported overhangs) instead of failing silently; and resolving maker tenancy from JWT proxy headers rather than a global identity.
Outcome
A running print-on-demand platform, upload to priced, sliced, queued print, delivered solo by orchestrating AI agents like a team rather than writing code by hand. It is the clearest evidence of engineering leadership on this site: owning architecture, process, and quality gates while directing agents, and sequencing scope deliberately so the hard pipeline shipped before the storefront.