MODULE_02 // GENERATIVE TATTOO TOOLING
Tattoo Buddy Suite
Multi-Agent Design + Analysis
- Role
- Founder / Lead Engineer
- Period
- 2023–2026
- Status
- STAGING
- Domain
- Generative Tattoo Tooling
// STACK_MANIFEST
// OUTCOME_METRICS
Problem
I'm a tattoo artist and a systems engineer. Both sides of that want the same thing: an AI-assisted design pipeline that respects the anatomy of the body it's going on. Stock AI image generators produce tattoo-looking art, but they have no concept of where the tattoo sits, how it flows with muscle and bone, or how it reads on curved skin.
The ask (to myself): a full multi-agent suite that goes from client intent → vision analysis → design generation → 3D body mapping → stored profile — all with auth, role-based access, and a real gallery system.
This is the largest single-codebase build in the portfolio: 23,000+ lines of code across the admin app and the artist-facing sub-app.
Approach
Tattoo Buddy is a hybrid-auth React 19 + Express system with a 4-agent orchestration pattern sitting behind a tattoo manager. Each agent handles a distinct slice of the workflow:
- Profile Agent — extracts client intent, body location, style preferences, size
- Analyze Agent — vision API over reference images to extract tags, composition, style signals
- Design Agent — multi-provider image generation (OpenAI, Leonardo, Ideogram) with style-bound prompts
- Body Scan — computer vision depth mapping and UV unwrapping for placement
Build Notes
Hybrid auth (Firebase + Google OAuth). Clients use Firebase Auth for low-friction sign-in. Artists use Google OAuth for higher-trust access. Admins use both. The middleware layer unifies them into a single user object with role-based access control.
Drizzle ORM over Postgres for sessions + designs. Drizzle's type-safe query builder worked better here than raw SQL because the schema was churning fast during the design loop iteration. Firestore handles the asset vault and gallery because real-time UI sync matters more there than query complexity.
3D body scanning is the hard part. The Body Scan module takes smartphone depth-map data, unwraps it to a 2D texture map, and gives the Design Agent a target canvas that respects body curvature. This is the module I'm most cautious about calling "production-ready" — it works in good lighting with cooperative subjects, but real-world conditions degrade it. Listed here as staging for that reason.
Real-time gallery with analytics. Every design generation writes to a real-time Firestore collection that the gallery subscribes to. Admins see live stats — designs per day, provider hit rates, retry counts — without polling.
Separation of admin + artist apps. The admin panel is heavier (23k LOC with full analytics). The artist-facing app (Tattoo Artist AI) is leaner — Socket.io + Replicate + real-time design collab — and shares the auth + database layer.
Results
23k+ LOC across two connected apps. Multi-provider AI integration proven. Role-based access working. 3D body scanning works in the optimal case. The combination of my tattoo expertise and my systems-engineering stack made this the most personally meaningful project in the portfolio.