Case Study · Platform EngineeringAll work

AliArts

A single-edge-deployment platform that runs an artist's entire professional life: a public gallery and studio shop, a structured e-learning academy, and live one-on-one annotation over student artwork.

Technical CreatorDeveloper

Ownership — Client-platform engineering: the artist owns the business and its content; I designed and built the platform it runs on, end-to-end.

Type
Art commerce + interactive e-learning
Deployment
Single Cloudflare Worker, global edge
Live since
In production at aliarts.work
[ 01 /]

Project Introduction

AliArts (live at aliarts.work) combines two businesses in one codebase: an art portfolio and store for collectors and enthusiasts, and a membership-based digital art academy where enrolled students receive assignments, submit artwork and get real-time, one-on-one visual feedback. Everything — storefront, curriculum, live sessions, submissions and annotations — is served from a single globally distributed edge deployment.

The teaching model is classical: reference libraries, guided lessons and timed classroom-style live sessions replicate the life-drawing classroom online. The difference is the feedback loop — the teacher marks artwork live, stroke by stroke, over the student's shoulder, digitally.

[ 02 /]

Problem Statement

An artist running a studio and a teaching business typically assembles their operation from fragments: a shop on one platform, course videos on another, student feedback over email or chat. Each tool taxes the operator (a solo professional with no IT staff), fragments the student experience, and none of it can reproduce the core of classical training — live visual correction of a student's work.

Commercial platforms solve this with heavy SaaS subscriptions and per-transaction fees, assume a Western payment and email ecosystem, and still can't offer live annotation. The requirement here was sharper: one person runs everything, students are non-technical, the teacher must mark artwork live, and the whole business must cost nearly nothing to operate.

[ 03 /]

Project Objectives

  • Run art commerce and interactive learning from one codebase, one console, one deployment
  • Reproduce the classical classroom: timed slideshows and live teacher-student annotation
  • Near-zero enrollment friction for non-technical students
  • Global performance with no origin servers to patch — and near-zero idle cost
  • Governance by default: audit logging on every mutation, license attribution on reference imagery
[ 04 /]

My Role & Ownership

Technical CreatorDeveloper

Designed and engineered end-to-end for the artist who operates the business.

Client-platform engineering: the artist owns the business and its content; I designed and built the platform it runs on, end-to-end.

[ 05 /]

Technical Architecture

One Cloudflare Worker serves everything: the React SPA, the Hono JSON API and static assets in a single deployment. Application data lives in Cloudflare D1 (SQLite at the edge) behind typed data-access interfaces — the architectural seam that keeps the persistence swappable (graduating to a document database at higher scale would be a storage-layer change, not an application rewrite).

Live annotation sessions run in Durable Objects — one isolated room per session, with hibernating WebSockets holding durable state that survives hibernation, and snapshots mirrored back to the database so feedback is never lost. Media splits into two lanes: public reference imagery cached at the edge, and private student artwork served only through membership-checked endpoints from object storage.

Live data flow — aliarts.work
CLIENTEDGE NETWORKDATAVisitorsgallery & studio shopStudentstoken-based membershipTeacher · Adminone consoleEdge AppReact SPA + Hono APIRealtime RoomsDurable Objects roomsD1 DatabaseSQLite at the edgeR2 Storagepublic & private mediabrowse & shopassignmentsconsoleSQL reads/writeslive sessionssnapshots mirroredmedia pipeline
[ 06 /]

Technology Stack

Frontend

React 19 + Vite SPAReact RouterTailwind CSS v4TypeScript strict

Backend

Hono 4Cloudflare WorkersStatic + API in one worker

Realtime

Durable ObjectsHibernating WebSocketsSnapshot mirroring

Data

Cloudflare D1 (edge SQLite)Versioned SQL migrationsTyped data-access interfaces

Storage

S3-compatible edge storagePublic edge-cached mediaPrivate membership-gated artwork

Security

Web Crypto password hashingHttpOnly cookie sessionsRBACPer-IP rate limitingAudit logging

Quality

180+ real-SQL testsIn-memory SQLite test engineCI: typecheck → test → build → migrate → deploy
[ 07 /]

Database & Infrastructure

D1 at the edge

A compact, fully typed relational model with versioned, reviewable SQL migrations — fast, consistent reads close to every user, with the storage engine swappable behind typed interfaces.

Durable Object rooms

Each live session is an isolated room with its own durable state; WebSocket hibernation keeps long-running sessions economical, and snapshots mirror to the database so nothing is lost.

Two-lane media pipeline

Immutable public media with edge caching; private student artwork delivered only through authorized, membership-checked endpoints — never public URLs.

Real-SQL test suite

180+ tests run against an in-memory SQLite engine in CI on every push, before build, migrations and deploy.

[ 08 /]

Key Features

Studio shop

01

Original artworks across curated categories (paintings, drawings, sketchbooks, souvenirs) with medium, dimensions, multi-currency pricing and an available/sold/hidden lifecycle managed from the admin console.

Reference galleries & guided lessons

02

Two classical study tracks (figurative, still life) with 14 focused subcategories, search and featured filters, related imagery and full source/license attribution on every image — plus structured markdown lessons linked to reference material.

Live annotation playground

03

The teacher draws over the student's submitted artwork in real time — pencil, brush, eraser, colors, stroke widths, text, line/arrow/rectangle/ellipse, undo/redo, pan/zoom — while the student watches live. Annotations persist separately from the original image.

Timed classroom sessions

04

Countdown to start, auto-advancing timed images with progress bar and next-image preview, an instructor console (force start, pause, resume, restart, force end) and anchor-based live state that stays correct across clients.

Token-based academy

05

Single-use, admin-issued enrollment tokens with validity windows that start at redemption; students can even sign in with just their token — no email or password required. Submissions compress client-side below 1 MB with native HEIC/HEIF support.

Single-admin ecosystem

06

One console runs the whole business: dashboard, token inventory, memberships, assignment review, media library with enforced license fields, taxonomy, lessons, slideshow scheduling and site settings — with an audit-log entry for every mutation.

[ 09 /]

Engineering Challenges & Solutions

Challenge 01

Keeping live classroom state correct across clients without background schedulers.

Solution

Session positions are computed lazily from persisted anchors — correctness without a ticking process; the instructor can force start, pause, resume, restart or end from the console, with live monitoring in the admin dashboard.

Challenge 02

Making one-on-one visual feedback work over the internet — chat and static images lose the point of art instruction.

Solution

A Durable Object room per session carries synchronized drawing operations over hibernating WebSockets; annotations are stored as separate layers so the original artwork is never altered, and sessions persist for later review.

Challenge 03

Photographs arrive as multi-megabyte HEIC files from iPhones on mobile connections.

Solution

Submissions are compressed client-side below 1 MB with modern format conversion when needed and native HEIC/HEIF handling — before any upload begins.

[ 10 /]

Verifiable Outcomes

Statements verifiable via the live application and public architecture showcase

  • Live in production at aliarts.work as a single global edge deployment — no origin servers
  • Two revenue streams — artwork sales and membership-based instruction — operate from one admin console
  • Every mutation writes an audit-log entry; destructive actions require confirmation with a scope preview
  • 180+ real-SQL tests gate every push in CI
[ 11 /]

Continue Exploring

Building something similar?

I take products from concept to production — architecture, engineering and deployment. Pick the channel that suits you.