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
| Layer | Technology | Purpose |
|---|---|---|
| Public Web | Next.js 14 on Vercel | Marketing site, storefronts, API |
| Creator App | Flutter (iOS/Android/Web) | Primary admin interface |
| Database | PostgreSQL via Supabase | Data storage with RLS |
| Authentication | Supabase Auth | User management |
| Storage | Supabase Storage | Image and file storage |
| Payments | Stripe | Checkout and subscriptions |
| Resend | Transactional and marketing emails | |
| Background Jobs | Node.js on Railway | Sync, 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:
| Service | Schedule | Purpose |
|---|---|---|
etsy-sync | Hourly | Sync orders from Etsy |
gumroad-sync | Hourly | Sync orders from Gumroad |
analytics-aggregator | Nightly | Compute daily metrics |
scheduled-send | Every minute | Send scheduled campaigns |
automation-processor | Every minute | Process triggered automations |
guest-cleanup | Daily | Expire guest workspaces |
cart-abandonment | Hourly | Send 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
- Developer Guide — Deep dive into technical details
- API Reference — Complete API documentation
- Database Reference — Schema documentation