Skip to main content

Platform Overview

Artbase Studio is built on a modern, scalable architecture designed for reliability and performance. This page provides a high-level overview of the platform components.

Technology Stack

LayerTechnologyPurpose
Public WebNext.js 14 on VercelMarketing site, storefronts, API
Creator AppFlutter (iOS/Android/Web)Primary admin interface
DatabasePostgreSQL via SupabaseData storage with RLS
AuthenticationSupabase AuthUser management
StorageSupabase StorageImage and file storage
PaymentsStripeCheckout and subscriptions
EmailResendTransactional and marketing emails
Background JobsNode.js on RailwaySync, analytics, automations

Architecture Diagram

┌─────────────────────────────────────────────────────────────────┐
│ PUBLIC USERS │
│ (Customers browsing storefronts) │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ NEXT.JS (Vercel) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌────────────────┐ │
│ │ Marketing Site │ │ Storefronts │ │ API Routes │ │
│ │ /(marketing) │ │ /storefront/ │ │ /api/ │ │
│ │ │ │ [slug]/... │ │ │ │
│ │ • Landing │ │ • Products │ │ • Payments │ │
│ │ • Pricing │ │ • Checkout │ │ • Webhooks │ │
│ │ • Features │ │ • Confirmation │ │ • Channels │ │
│ └─────────────────┘ └─────────────────┘ └────────────────┘ │
│ │
│ Middleware: Subdomain routing + custom domain support │
└─────────────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ SUPABASE │ │ STRIPE │ │ RAILWAY │
│ ┌────────────┐ │ │ ┌────────────┐ │ │ ┌────────────┐ │
│ │ PostgreSQL │ │ │ │ Checkout │ │ │ │ etsy-sync │ │
│ │ + RLS │ │ │ │ Sessions │ │ │ │ │ │
│ ├────────────┤ │ │ ├────────────┤ │ │ ├────────────┤ │
│ │ Auth │ │ │ │ Billing │ │ │ │ gumroad- │ │
│ │ │ │ │ │ Portal │ │ │ │ sync │ │
│ ├────────────┤ │ │ ├────────────┤ │ │ ├────────────┤ │
│ │ Storage │ │ │ │ Webhooks │ │ │ │ analytics- │ │
│ │ (images) │ │ │ │ │ │ │ │ aggregator │ │
│ ├────────────┤ │ │ └────────────┘ │ │ ├────────────┤ │
│ │ Realtime │ │ │ │ │ │ scheduled- │ │
│ │ │ │ │ │ │ │ send │ │
│ └────────────┘ │ │ │ │ ├────────────┤ │
└──────────────────┘ └──────────────────┘ │ │ automation │ │
▲ │ │ processor │ │
│ │ ├────────────┤ │
┌─────────────────────────────────────────┐ │ │ guest- │ │
│ FLUTTER (Creator Hub) │ │ │ cleanup │ │
│ ┌─────────────────────────────────────┐ │ │ ├────────────┤ │
│ │ Dashboard │ Products │ Orders │ │ │ │ cart- │ │
│ │ Channels │ Email │ Settings │ │ │ │ abandonment│ │
│ │ Inventory │ Analytics│ Billing │ │ │ └────────────┘ │
│ └─────────────────────────────────────┘ │ └──────────────────┘
│ State: Riverpod │ Router: GoRouter │
│ Supabase SDK for direct DB access │
└─────────────────────────────────────────┘

Component Details

Next.js Web Application

The web application handles all public-facing functionality:

  • Marketing Site — Landing pages, pricing, features
  • Storefronts — Multi-tenant artist stores with dynamic routing
  • Checkout — Stripe-powered payment flow
  • API Routes — Backend endpoints for payments, webhooks, channels

Multi-Tenant Routing

Storefronts are accessed via:

  • Subdomain: yourstore.artbase.studio
  • Path: artbase.studio/storefront/yourstore
  • Custom Domain: shop.yourdomain.com (Pro plan)

Flutter Creator Hub

The Creator Hub is a cross-platform app for managing your business:

  • Dashboard — Revenue charts, recent orders, quick stats
  • Products — Create, edit, manage products and variants
  • Orders — View and fulfill orders from all channels
  • Inventory — Track stock levels, set alerts
  • Channels — Connect and manage Etsy, Gumroad
  • Email — Campaigns, automations, subscriber management
  • Analytics — Detailed performance metrics
  • Settings — Organization, billing, team management

Background Services

Railway hosts background jobs that run on schedules:

ServiceSchedulePurpose
etsy-syncHourlySync orders from Etsy
gumroad-syncHourlySync orders from Gumroad
analytics-aggregatorNightlyCompute daily metrics
scheduled-sendEvery minuteSend scheduled campaigns
automation-processorEvery minuteProcess triggered automations
guest-cleanupDailyExpire guest workspaces
cart-abandonmentHourlySend recovery emails

Database

PostgreSQL with Row-Level Security (RLS) ensures data isolation:

  • 26 tables covering all platform features
  • RLS policies on all tenant-scoped tables
  • Automatic triggers for data consistency
  • Optimized indexes for performance

Security Model

Authentication

  • Supabase Auth handles user authentication
  • Supports email/password login
  • Session tokens managed automatically
  • Secure password reset flow

Multi-Tenancy

All data is scoped to organizations:

-- Every tenant-scoped table has org_id
SELECT * FROM products WHERE org_id = 'your-org-id';

-- RLS ensures you can only see your own data
CREATE POLICY "Users can access their org's products"
ON products FOR ALL
USING (org_id IN (
SELECT organization_id FROM memberships
WHERE user_id = auth.uid()
));

Data Protection

  • All connections use TLS encryption
  • OAuth tokens are encrypted at rest (AES-256-GCM)
  • Stripe handles all payment card data (PCI compliant)
  • Regular backups with point-in-time recovery

Performance

Caching Strategy

  • CDN caching for static assets (Vercel Edge)
  • Database connection pooling via Supabase
  • Optimistic UI updates in Creator Hub
  • Realtime subscriptions for live data

Scalability

  • Serverless functions scale automatically
  • Database scales with Supabase plans
  • Background jobs can run in parallel
  • Storage scales with usage

Reliability

Uptime

  • Vercel: 99.99% SLA
  • Supabase: 99.9% SLA
  • Railway: 99.9% SLA
  • Stripe: 99.99% SLA

Monitoring

  • Error tracking with automatic alerts
  • Performance monitoring
  • Background job health checks
  • Database query analysis

Learn More