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

React 19TypeScriptViteExpressFirebaseOpenAI GPT-4Leonardo AIIdeogramDrizzle ORMPostgreSQL

// OUTCOME_METRICS

LOC
23k+
Roles
3
AI Providers
3

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
// ARCHITECTUREMulti-Agent Tattoo Design Suite
USERclient · artist · adminHYBRID AUTHFirebase + Google OAuthTATTOO MANAGERagent orchestratorPROFILE AGENTintent + preferencesANALYZE AGENTvision + taggingDESIGN AGENTOpenAI · Leonardo · IdeogramBODY SCANCV + UV unwrapDRIZZLE + POSTGRESsessions + designsFIRESTOREassets + galleryRBACadmin · artist · clientREAL-TIME ANALYTICSgallery + usage

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.