PerFit Scaling Demo
Cloudflare
Start Tour
read by jobId
401 Block
End user sending a try-on request
USR
Mobile app or web browser client
MOB/
WEB
API key validation — rejects invalid keys with 401 before reaching origin
KEY
GUARD
×
API Gateway — 1 server routing requests to backend services
API
GW
×
Try-On API — 1 server running the virtual fitting logic in parallel
TRY-
ON
×
Image generation — 3 servers needed. Each server takes 1s per image. 2.8 images/sec ÷ (1 server / 1s) = 3 servers.
IMG
GEN
×3 servers
2.8/s × 1s each
×
Video generation — 216 servers needed. Each server takes 3.0 min per clip. 1.2 clips/sec arriving means each server is busy for 3.0 min — so you need 1.2 × 180 = 216 servers running at all times.
VID
GEN
×216 servers
1.2/s × 3min each
×
Cloudflare R2 object store — caches generated images and videos by jobId
R2
CACHE
×
Observability plane
Events bus — aggregates structured events from all services (Kafka / Kinesis / Pub/Sub)
EVT
BUS
Analytics store — time-series metrics, distributed traces, structured logs
ANALY-
TICS
Click to view mock dashboard metrics
DASH-
BOARD
medium · 10 req/s · 1 region
Cost Analysis
Cost breakdown / hr
Edge / CDN
$0.0007
0%
API compute
$0.0477
0%
Queue
$0.0058
0%
DB
$0.0213
0%
Replication
$0.0000
0%
Image servers
$302.40
22%
Video servers
$1.1k
78%
TOTAL INFRA
$1.4k
100%
Unit economics
Infra cost / request
$0.0960
Revenue / request
$0.0880
Gross margin -9.1%
$-0.008005
At
10 req/s
, revenue is
$3.2k/hr
against
$1.4k/hr
infra cost.
Cost vs load — all providers