Skip to content

Sartiq Platform Architecture

Sartiq is a Generative Production System (GPS) that enables fashion brands to produce high-quality visual content at scale. The platform combines AI-powered generation with production-grade workflows, delivering professional on-model and lifestyle content through automated, reliable pipelines.

Cool content on rails. — High-impact visuals, delivered at scale, with the robustness of industrial automation.


System Architecture

The platform is built as a distributed system with clear separation between the user interface, backend services, AI orchestration, and content delivery.

flowchart TB
    Users([Users])

    subgraph Webapp [Web Application]
        UI[React UI]
    end

    subgraph Backend [Backend Service]
        API[Backend API]
        Workers[Workers]
        DB1[(Database)]
        Redis1[(Redis)]
    end

    subgraph Compute [Compute Service]
        Engine[Workflow Engine]
        Tasks[Task Workers]
        DB2[(Database)]
        Redis2[(Redis)]
    end

    subgraph AI [AI Providers]
        Gen[Generation]
        LLM[Analysis]
        Enh[Enhancement]
    end

    subgraph Storage [Content Delivery]
        Store[(Storage)]
        CDN[CDN]
    end

    Users --> UI
    UI <--> API
    UI <-.-> CDN

    API --> Workers
    API <--> DB1
    API <--> Redis1
    API --> Engine

    Engine --> Tasks
    Engine <--> DB2
    Engine <--> Redis2
    Engine --> API

    Tasks --> Gen
    Tasks --> LLM
    Tasks --> Enh

    Gen --> Store
    LLM --> Store
    Enh --> Store
    Store --> CDN

How it works:

  1. Users interact with the Web Application to manage products and configure generations
  2. Web Application communicates with the Backend API for all operations
  3. Backend orchestrates business logic and delegates AI work to the Compute Server
  4. Compute Server manages workflows across multiple AI Providers
  5. Generated content is stored in Object Storage and served via CDN
  6. The Web Application displays content using CDN URLs returned by the Backend

Component Responsibilities:

Component Purpose
Web Application User interface, real-time updates, content display
Backend API Business logic, data management, orchestration
Compute Server AI workflow execution, provider routing, task management
AI Providers Content generation, enhancement, analysis
Object Storage Persistent content storage
CDN Global, low-latency content delivery

Data Isolation:

Each backend service maintains its own data stores for isolation and independent scaling:

Service Database Cache/Queue
Backend Business entities (products, shootings, users) Sessions, pub/sub, cache
Compute Server Task state, workflow tracking Task queues, job results

Platform Ecosystem

Sartiq sits at the center of a content production ecosystem, connecting brand assets with AI capabilities and delivery systems.

flowchart TB
    subgraph Inputs [Brand Inputs]
        Products[(Products)]
        Assets[(Assets)]
        Config[(Styles)]
    end

    subgraph Platform [Sartiq Platform]
        Engine{{GPS Engine}}
    end

    subgraph AI [AI Capabilities]
        Gen[Generation]
        Edit[Editing]
        Enhance[Enhancement]
    end

    subgraph Outputs [Delivery]
        Gallery[(Gallery)]
        Export[(Export)]
        DAM[(Client Systems)]
    end

    Products --> Engine
    Assets --> Engine
    Config --> Engine

    Engine <--> Gen
    Engine <--> Edit
    Engine <--> Enhance

    Engine --> Gallery
    Gallery --> Export
    Export --> DAM

Ecosystem Components:

  • Brand Inputs: Product catalogs, reference assets, style configurations, and brand guidelines
  • Content Production Engine: Orchestrates the entire workflow from input to delivery
  • AI Capabilities: Pluggable providers for generation, editing, and enhancement (including video)
  • Delivery: Review workflows, approval gates, and export to external systems

The Content Pipeline

From product upload to final delivery, content flows through a well-defined pipeline — the "rails" that ensure consistent, high-quality output at scale.

flowchart TB
    subgraph S1 [1 · Ingest]
        Upload[Upload]
        Validate[Validate]
        Catalog[Catalog]
    end

    subgraph S2 [2 · Configure]
        Shooting[Create Shooting]
        Looks[Define Looks]
        Rules[Set Rules]
    end

    subgraph S3 [3 · Generate]
        Queue[Queue Tasks]
        Execute[Execute]
        Process[Post-Process]
    end

    subgraph S4 [4 · Review]
        Display[View Results]
        Compare[Compare]
        Decide[Approve]
    end

    subgraph S5 [5 · Deliver]
        Format[Format]
        Export[Export]
        Track[Track]
    end

    Upload --> Validate --> Catalog
    Shooting --> Looks --> Rules
    Queue --> Execute --> Process
    Display --> Compare --> Decide
    Format --> Export --> Track

    S1 --> S2 --> S3 --> S4 --> S5
    S4 -.->|Revise| S3

Pipeline Stages:

Stage What Happens Key Operations
Ingest Products enter the system Upload, validate, process, catalog
Configure Users define what to create Shooting setup, look definition, rule configuration
Generate AI produces content Task queuing, workflow execution, post-processing
Review Quality control Display, compare, approve/reject/revise
Deliver Content reaches destination Format, export, integrate with client systems

Detailed data flow documentation →


Core Components

Three main applications work together to deliver the platform's capabilities.

Web Application

The user-facing interface for content production management.

Aspect Details
Stack Next.js 14, React 18, TypeScript, Tailwind CSS
State Zustand + React Query + WebSocket
Purpose Product management, shooting configuration, gallery review, exports

Web Application deep-dive →

Backend API

The business logic layer orchestrating all operations.

Aspect Details
Stack FastAPI, Python 3.12, SQLModel, Celery
Data Own PostgreSQL + Redis instances
Purpose REST API, real-time updates, background processing, data management

Backend API deep-dive →

Compute Server

The AI inference orchestration engine.

Aspect Details
Stack FastAPI, Celery, custom DAG executor
Data Own PostgreSQL + Redis instances
Providers 11+ AI services
Purpose Workflow orchestration, provider abstraction, task routing

Compute Server deep-dive →


Key Concepts

Shooting & Looks

A Shooting represents a content production session. Each shooting contains Looks — specific configurations combining products, subjects, guidelines, styles, and shot types.

Subjects

Subjects are crafted AI identities — virtual models with consistent appearance across generations. Each subject is defined by a set of base images showing the subject in various poses and angles. Created through internal tools, they enable brand-consistent "casting" at scale.

Generations & Predictions

A Generation is a task that produces content. Each generation spawns one or more Predictions — individual output variants for user selection.

Complete domain concepts →


Technology Stack

Backend Services

Component Technology Purpose
API FastAPI High-performance async REST API
ORM SQLModel + SQLAlchemy Type-safe database operations
Queue Celery + Redis Distributed task processing
Real-time WebSocket + Redis Pub/Sub Live updates to clients

Frontend

Component Technology Purpose
Framework Next.js 14 Server components, App Router
UI React 18 + TypeScript Type-safe component architecture
State Zustand + React Query Client and server state management
Styling Tailwind CSS Utility-first styling

AI & Generation

Provider Capabilities Use Case
FAL.ai Generation, editing, video Primary content generation
Vertex AI Gemini models Prompt engineering, analysis
Custom Workers Enhancement, processing Specialized operations

For deployment details (cloud providers, regions, specific services), see Infrastructure →


For Product Managers

For Developers

For New Team Members

  1. Start here for the big picture
  2. Read Domain Concepts for terminology
  3. Explore component docs based on your role

For Infrastructure & DevOps