Shape the
identity
Build a jersey from the catalog or the studio. Team names, player numbers, crests, and colors remain structured, editable data — not baked into a flat picture.
A single system for structured jersey design, server-checked totals, seven stages of production, and pickup or delivery. Built to make every handoff visible.
Editable name, number, palette, and crest.
Visual concept for the design system — not a catalog item or live order.
01 The operating thread
From the first editable layer to the final handover, every part of the order has a place, an owner, and a record. No disconnected spreadsheets. No mystery status.
Build a jersey from the catalog or the studio. Team names, player numbers, crests, and colors remain structured, editable data — not baked into a flat picture.
Choose sizes, quantities, pickup, or delivery. Availability and totals are checked on the server, then the product, design, and price are snapshotted into the order.
The customer confirms payment from the order page; no money moves and no transfer is checked. Every change still carries an actor, a time, and a note. Reviewing uploaded GCash proofs is deferred work, not a feature of this build.
Design, printing, cutting, pressing, sewing, quality control, and finish. Each stage has an assigned owner, notes, and history. Customers see progress without seeing internal detail.
02 Production, in sequence
Work moves through one gate at a time. Each handoff records who changed what, when, and why — so a delayed stage is visible before it becomes a missed date.
A later stage cannot begin until the prior stage is complete, unless an authorized administrator records a reasoned override.
Confirm the structured artwork, exact spelling, player numbers, crest, and colorway before anything is produced.
Record print progress against the approved design before the job moves to cutting.
Track cut work for the order and log the handoff with a timestamped stage update.
Confirm pressing progress and keep a clear record of the assigned staff member and update time.
Update assembly status with staff notes, stage ownership, and a durable history entry.
Staff start and complete the inspection with a note; the next stage stays locked until this one is recorded as completed.
Mark the completed job ready for the agreed pickup or delivery handover.
03 Built on guardrails
The interface can be beautiful. The rules underneath have to be stricter. These are the constraints the ordering, payment, and production flows are built around.
No automatic payment capture. This build confirms payment on the customer's word and records who did it. No gateway is connected and no proof is verified.
Line items and prices are recalculated on the server, stored with Decimal,
and snapshotted at order placement. A browser-submitted total is never trusted.
Order status only moves through the transition rules, and each move writes an event with actor, timestamp, previous value, and note. A GCash reference submitted by the customer waits in the administrator's review queue; only a verified transfer moves the order to confirmed, and a rejection records its reason.
Customers see only their own orders, designs, and addresses; production and fulfillment
tools sit behind role checks. Public catalog photos are re-encoded without EXIF/XMP
before storage, and the application serves no media route once DEBUG is off.
Stages follow the required sequence. Authorized staff can update assigned work; a skip requires an administrator override with a reason. Every change keeps actor, timestamp, previous value, new value, and notes.
AI image generation is optional and stays server-side. Catalog ordering and manual design work without it. If a provider is missing, slow, or out of quota, the interface says so instead of pretending a request succeeded.
Current build · Foundation
This is a phased thesis build, not a finished mockup. Catalog, accounts, design studio, ordering, production, fulfillment, notifications, and reporting are live and covered by the automated suite. What is deferred is stated plainly on the status page and in the README.
Inspect live checksLive today
No fabricated orders, customers, payments, or sales statistics appear in this build. Every figure on screen comes from rows in the database you are running.