TheArtisan.ai / Product architecture / 20 July 2026

One front door. Five workspaces.

Group the company around user intent and operating responsibility, while repositories remain independently deployable behind the scenes.

01 / 09

The problem is navigation, not repository count

The same business objects—partner, location, kiosk, session, print, style, incident and user—appear in several applications. That makes feature placement ambiguous even after authentication is unified.

What is happening now

Repositories have become product boundaries by accident. Analytics owns partner reporting, Showroom mixes a client gallery with internal prompt tooling and sales, the admin panel mixes configuration with operations, and Signalbox is becoming a separate operational control plane.

  • A feature's destination is guessed from where related code already lives.
  • The same person changes applications when moving from results to action.
  • Internal, partner and location permissions are expressed differently by each surface.
  • A rewrite, such as Metabase, risks reproducing old navigation instead of fixing the product model.

Recommended principle

Centralise the experience and vocabulary. Keep services, runtimes and deployment units separate where that reduces risk.

  • One role-aware shell and one location switcher.
  • Five workspaces organised by jobs to be done.
  • Shared identity and access graph across all workspaces.
  • Metabase, Signalbox and kiosk runtimes remain engines, not navigation models.
02 / 09

The target product stack

A shared shell can expose different workspaces according to the signed-in user's portfolio, location assignment and operational role, while the public customer surface stays deliberately narrow and code-scoped.

Artisan Hub

Shared login, account, role, partner and location context, global search, notifications and deep links.

01

Partner Portal

Partner leadership / business users
  • Portfolio overview
  • Performance and revenue
  • Experience catalog
  • Media and downloads
  • Support and contacts

FROM: analytics, analytics-separate, Showroom Gallery, Signalbox partner outputs

02

Venue Console

Location managers / floor staff
  • Today's sessions and prints
  • Kiosk and printer status
  • Queues and supplies
  • Active incidents
  • Safe actions and help

FROM: Signalbox, kiosk-app, printing-server, camera-service, location-scoped analytics

03

Experience Studio

Internal by default / selected partner access
  • Catalog and styles
  • Prompts and configurations
  • Preview generation
  • Scoring and quality review
  • Release and publish

FROM: Showroom Playground, Gallery admin, admin-panel Configs and Scoring, kiosk-builder

04

Operations Center

Operations / engineering / super admin
  • Fleet health and incidents
  • Partners, locations and kiosks
  • Sessions, media and privacy
  • Printers and remote commands
  • Users, access and releases

FROM: Signalbox, admin-panel Sessions and Kiosks, kiosk-app backend, deploy provenance

05

Growth Studio

Sales / marketing / communications
  • Lead research and outreach
  • Proposals and presentations
  • Campaign source and exports
  • Website content
  • Brand assets and templates

FROM: Showroom Lead Generator, presentation-generator, media-projects, landing-v2, design system

06

Customer Downloads

Public visitors / download-code holders
  • Enter or follow download code
  • View every session portrait
  • Respect portrait and landscape media
  • Download or share originals
  • Clear recovery when a code fails

FROM: download.theartisan.ai, kiosk-app customer sessions and media storage

Identity and access

Supabase identity, shared auth UI, portfolio and location assignments, delegated capabilities.

Operational graph

Partner → location → kiosk → device, plus contacts, incidents, commands, releases and audit history.

Data and intelligence

Curated analytics models, Metabase, model registry, inference, media storage and search.

Platform delivery

APIs, events, outboxes, edge agents, GitOps, observability and deploy metadata.

03 / 09

The service constellation

Forty-three concrete services are plotted by audience and operating mode. The five large labels are internal or partner workspace territories; Customer Downloads is a deliberately narrow public delivery surface.

Partner
Portal
Growth
Studio
Experience
Studio
Venue
Console
Operations
Center
External / client
Shared / delegated
Internal / super admin
Understand and explain
Create and configure
Run and respond
Shared platform rail / not a destination in navigation

How to read the plot
The further left a service sits, the more directly a client, partner or location team should encounter it. The further down it sits, the closer it is to live operational state and consequential actions.

How to use it
Select a service to see its audience, responsibility and source systems. Filter by workspace to expose the boundary of one product without losing the shared company-wide context.

04 / 09

Use two different product lenses

The offerings used in external communications should not be the same taxonomy used to organise internal applications.

What you sell

Stable market-facing offers. These belong on the website, proposals and partner conversations.

01
AI Photo KioskTurnkey hardware, visitor flow, payments, generation and printing.
02
TheArtisan StudioSoftware-first portrait experience for venue-controlled setups.
03
API IntegrationPortrait generation and media capabilities inside another product or hardware stack.
04
Bespoke ExperienceCustom venue flows, group portraits, green screen, displays and special media.

How people operate it

Role-aware workspaces. These organise daily navigation and determine where new capabilities belong.

01
Partner PortalUnderstand performance and the portfolio.
02
Venue ConsoleRun a location today and recover safely.
03
Experience StudioCreate, test, approve and publish experiences.
04
Operations CenterOperate the whole fleet and its access model.
05
Growth StudioSell and communicate the portfolio.
06
Customer DownloadsLet a visitor retrieve, view and save the exact media attached to a valid code.
05 / 09

A simple placement rule for new features

Place capabilities according to the user's question. The engine or repository that supplies the data is a separate decision.

User questionDestinationExamplesEngine beneath
How did my business perform?Partner Portal / PerformanceSessions, prints, revenue, conversion, trends, exportsMetabase on curated analytics models
What is happening at my location right now?Venue Console / TodayCurrent sessions, print queue, device state, supplies, current incidentSignalbox read models, kiosk and printer telemetry
What is happening across the fleet?Operations Center / LiveHealth, incidents, versions, provider errors, deploy correlationSignalbox incident graph and observability adapters
Can I restart or control this kiosk?Venue Console or Operations CenterSafe own-location actions in Venue; broader and high-risk actions in OperationsSignalbox policy and command broker
What should this kiosk offer?Experience Studio / CatalogStyles, configs, demographics, prompts, variants, catalog releasesShowroom and admin APIs, kiosk-app runtime contract
I have a code. Where are my photos?Customer DownloadsCode lookup, portrait and landscape previews, original downloads, sharing and actionable recoverydownload.theartisan.ai, kiosk-app customer sessions and media storage
Is this experience good enough to publish?Experience Studio / QualityManual scoring, model scoring, previews, test generations, approvalShowroom Playground, scoring services, AI Foundry
Who is this user and what may they see?Operations Center / DirectoryAccounts, roles, partner and location grants, delegated capabilitiesSupabase Auth, shared access service, auth-ui
I need help with a kiosk.Partner Portal or Venue Console / SupportConversation, status updates, safe instructions, incident timelineSignalbox channel adapters and resolution engine
How do we sell or explain this?Growth StudioLeads, presentations, campaigns, website, brand assetsGrowth tools and source-controlled media
How do we train, serve or evaluate models?Hidden platform / AI FoundryTraining, inference, upscaling, captioning, specialist pipelinesModel serving, training and media repositories
06 / 09

Make access a capability matrix

Avoid making “partner”, “location” and “admin” three copies of the product. Use one resource hierarchy with capability grants that shape the same navigation.

WorkspacePublicPartnerLocationInternalSuper admin
Partner PortalNoneOwn scopeLocationSupportAll
Venue ConsoleNoneOverviewOwn scopeAssignedAll
Experience StudioPublishedView / approveNoneCreateAll
Operations CenterNoneNoneSafe actionsRole scopeAll
Growth StudioNoneShared outputsNoneCreateAll
Customer DownloadsValid codeNoneNoneSupportAll

Resource scope

Partner → location → kiosk → device. Users receive access to nodes in that hierarchy. Every query, embed token, incident and command inherits the same scope.

Capability scope

View analytics, inspect sessions, manage content, publish releases, issue safe commands, manage users and administer the platform are separate grants—not one increasingly powerful role string.

07 / 09

Split current systems by responsibility

The most important work is not moving files. It is deciding which responsibility each existing system should keep.

Current system
Target responsibility
Reason
analytics
Metabase delivery layer for Partner Portal, Venue Console and Operations Center
Already a thin authenticated Next shell with locked, role-scoped embeds. Keep Metabase as the reporting engine and distribute dashboards by user intent.
analytics-separate
Metric specification and migration oracle
It contains the mature session, print, revenue, theme, deep, green-screen and admin analytics behavior. Reproduce validated questions, not the old navigation.
Showroom Gallery
Partner Portal catalog plus Experience Studio publishing view
Clients browse and generate from a published catalog; internal teams manage access and publication.
Showroom Playground
Experience Studio creation and quality tooling
Prompt trees, model settings, demographic config, generation and scoring are one content-production workflow.
Showroom Lead Generator
Growth Studio
It shares infrastructure with Showroom today but not the product journey.
Admin panel
Experience Studio for Configs and Scoring; Operations Center for Sessions, Kiosks, Privacy and Printing
The current panel combines content production, operational control and administration. Those have different users and risk levels.
Signalbox
Operations Center core; Venue Console status, support and safe actions
Its incident graph, policy gates and command broker should remain independent of WhatsApp, Slack or any one UI.
kiosk-app
Experience runtime and schema/API owner
It runs visitor products and owns the operational schema. It should not become the portal shell.
download.theartisan.ai customer flow
Customer Downloads
Make visitor retrieval a first-class public product surface with responsive portrait/landscape media, reliable code lookup and explicit recovery states.
auth-ui
Shared shell component
It already packages login, forgot-password and reset-password for multiple frontends.
deploy-specs
Hidden platform source of truth
Deployment state should feed Operations provenance, but production mutation belongs in GitOps, not a web admin form.
08 / 09

Centralise without a big-bang rewrite

Start with navigation and access. Move capability ownership only after the destination is proven.

00

Lock the vocabulary

Name the workspaces, resource hierarchy and capability grants. Decide what “partner”, “location” and “internal with access” mean.

PROOF: one signed product taxonomy and access matrix

01

Build the shell

Shared auth, role-aware navigation, location switcher, deep links and a common header. Existing applications remain behind routes or reverse-proxy boundaries.

PROOF: each role lands on the right workspace without a second login

02

Place analytics

Move Metabase dashboards by question: partner performance, venue today, fleet operations. Validate metric parity against analytics-separate.

PROOF: locked-scope embeds and signed metric snapshots

03

Unify operations

Expose Signalbox health, incidents and safe commands in Venue and Operations. Move admin Sessions and Kiosks behind shared scoped APIs.

PROOF: one incident and one kiosk identity across UI, telemetry and commands

04

Consolidate and retire

Move Studio and Growth modules as their ownership is clear. Add redirects, archive superseded repositories and remove duplicate access logic.

PROOF: legacy routes have owners, dates and verified replacements

09 / 09

The repository constellation

50 repositories, eight domains

This table separates products and workspaces from edge services, AI research, growth tools and retirement candidates. “Review” means the repository lacked enough explicit documentation to make a stronger lifecycle claim.

RepositoryCurrent roleDomainProposed homeTreatmentEvidence
50 repositories shownGitHub organisation snapshot reviewed 20 July 2026

Centralise the product model first.

The practical destination is not one giant application. It is one coherent account, one resource hierarchy, five role-aware workspaces and one narrow public Customer Downloads surface, with Metabase, Signalbox, kiosk runtimes and internal services supplying the right capability in the right place.