Orders
Four order types share one configurable form and one orders table. Pricing per type lives in one module and gives customers an estimate up front; bulk, logo, and custom requests go through a separate inquiry flow.
projects / iocon-graphics
Storefront and live order queue for an Irish dance graphics studio

Íocón Graphics makes custom graphics for Irish dancers. The site runs the business: a gallery, an order form for each product, a public waitlist showing where every order stands, moderated reviews, and an admin portal the owner runs day to day.
Four order types share one configurable form and one orders table. Pricing per type lives in one module and gives customers an estimate up front; bulk, logo, and custom requests go through a separate inquiry flow.
A customer’s place in line is computed from open orders by date. When the owner marks an order done, everyone behind it gets a “you’ve moved up” email. The public waitlist renders live, keeps finished orders visible for 14 days, and estimates the wait from queue depth.
Emailed six-digit codes with signed, stateless cookies; the admin allowlist is re-checked on every request, and sign-in is rate-limited.
New reviews stay hidden until approved.
Uploads go to Vercel Blob with type checks, size caps, and rate limits. A failed email never loses an order, and with no database or mail server configured the app falls back to in-memory storage and logged email, so it runs locally with zero setup.
A pre-launch gate held every public page and refused submissions until a fixed launch instant, then opened on its own — no redeploy.