Skip to content
Geko Technologies

Rack Builder: A Standalone Medal Rack Configurator

How we built a standalone visual configurator and quoting app that lets veterans and families design correctly ordered medal racks, frames and presentation sets, using BigCommerce for catalogue data and order checkout.

Discovery to public launch
~13 months
BigCommerce storefronts, one app
7+
Configurable product types
6
Medals in the public library
295

At a glance

ProjectRack Builder
ClientAn Australian medal-mounting and framing retailer
IndustryMilitary and service medals, mounting and framing (e-commerce)
PlatformStandalone web app (React + FastAPI) that pulls catalogue and pricing data from BigCommerce and sends orders to BigCommerce at checkout, plus a WordPress marketing site
TimelineAbout 13 months, from discovery in July 2025 to public launch in mid-August 2026. Phase 2 is now in progress
Delivery~1,000 commits across two codebases: a React frontend (~60k lines of TypeScript) and a Python/FastAPI backend (~38k lines, 39 database tables)
Our roleProduct design, UX/UI, frontend, backend, BigCommerce integration, WordPress site, cloud infrastructure, CI/CD

The challenge

Our client mounts medals for veterans, serving personnel and their families. Every order is personal and every one has rules attached. Medals must sit in the official order of wear, which differs by country and jurisdiction. Clasps and ribbon devices go in exact positions. Full-size medals, miniatures and ribbon bars each follow their own mounting conventions. Many families also want the finished set framed, boxed or engraved.

Before Rack Builder, getting a correct rack meant a conversation: phone calls, emails and back-and-forth with staff to agree what goes where, then a manual quote. Customers couldn't see what they were buying, and staff re-keyed every specification by hand for the workshop.

The client wanted:

  • a visual builder where anyone can assemble their medals and see the finished rack before paying;
  • automatic enforcement of order-of-wear rules, so a rack is right the first time;
  • real BigCommerce pricing, including wholesale and customer-group pricing, deals and tax;
  • one app serving every storefront in their BigCommerce network;
  • a workshop-ready specification attached to every order, so nothing is re-typed;
  • an admin panel for the team to curate products, run promotions and follow up on unfinished racks.

What we built

Rack Builder is a standalone web application with two sides: a customer-facing configurator and a staff admin panel. It is not a BigCommerce theme or plugin: it has its own frontend, backend and database, and uses BigCommerce only as the source of product and pricing data and as the destination for checkout and orders. Customers arrive from any storefront through a "Build a Rack" link, design their rack, and check out through BigCommerce.

Rack Builder desktop view: searchable award list on the left, live full-size, miniature and ribbon bar rack previews on the right
The builder: pick awards on the left, see every format of the rack update live on the right.

Six products, one builder

Customers choose what they're building:

  • Full Size Medals (court or swing mounted)
  • Miniature Medals
  • Ribbon Bars, with optional ribbon devices and plastic covering
  • Medal Frames, with engraved plates
  • Medal Photo Frames, where the customer uploads and crops their own photo
  • Medal Presentation Sets

Customers can then add storage and presentation options: solid timber boxes with engraving, premium presentation cases, and wallets.

A live, accurate preview

As medals are added, the builder draws the rack in real time: each medal at true relative size, clasps placed on the ribbon, and overlap calculated automatically as the rack fills. Frames and presentation sets render the medals inside the actual frame artwork, alongside the customer's engraving text or photo.

Medal frame configurator showing six medals and a ribbon bar inside a timber frame with an engraved plate, dimensions and mat board colour options
Medal frames render to scale, with real dimensions, the engraving plate and mat board colour options.
Medal photo frame configurator with an uploaded portrait beside the medals and engraving fields
Photo frames combine the customer's own photo, their medals and an engraved plate (face blurred for privacy).

Order of wear, enforced

Medals are sorted into their correct order of precedence automatically, by country and jurisdiction, including Australian state-level medals and service medals. Customers don't need to know the rules. The builder applies them, and a custom order is still available when one is genuinely needed.

Pricing that matches the store, to the cent

All prices come from BigCommerce, including customer-group price lists. A wholesale customer sees wholesale pricing everywhere, from the medal cards to checkout. On top of that, the platform handles:

  • per-item mounting, clasp, ribbon-device, engraving and personalisation charges;
  • dynamic tax by product and jurisdiction;
  • deals configured by staff, either percentage or fixed amount, applied per line item or across a "full rack". Deals show as badges on product cards and modals and carry through to the cart, checkout, saved racks and emails.
Add Full Size Medals dialog with swing or court mount options, magnetic and non-magnetic backing quantities and a running total
Mounting style and backing options, each priced from the store's live price lists.
Ribbon bar dialog with style, backing and plastic covering options, showing a 10% deal badge and the discounted total
Staff-configured deals show as badges and flow straight into the price the customer sees.

Save, quote, or buy

  • Save a rack and come back later. Saved racks keep their rendered snapshots.
  • Request a quote. Quotes are tracked, can expire, and convert to orders.
  • Check out through BigCommerce, with the customer signed in to the storefront automatically.

Every order and quote comes with structured staff notes: order of wear, clasp positions, ribbon style and devices, magnetic or non-magnetic mounting, engraving text, frame plate, cropped photo, and any variant flagged unavailable. The workshop gets an exact build sheet and a snapshot image of what the customer approved.

Order details page listing a full-size rack and a medal frame with snapshot images, order of wear, engraving, active deals and order summary
Every cart line carries a snapshot of the approved rack and its order of wear, with deals applied before checkout.

Built for phones first

Many customers shop from their phones, so every product preview was rebuilt to scale fluidly from a 320px phone to a desktop monitor. The phone layout has its own medal drawer, a guided tour, and touch-friendly personalisation steps.

Mobile builder showing a full-size medal rack preview with backing options and a bottom navigation bar
The rack preview on a phone.
Mobile medal drawer with a searchable list of awards and selected medals ticked
The touch-friendly medal drawer.

The admin panel

Staff run the platform from a role-based admin panel:

  • Product curation. Products sync from BigCommerce into a pending queue. Staff configure each one (clasps, ribbon-device positions, availability, images, product links) before making it active in the builder. Includes bulk CSV export.
  • Common groups. Pre-built medal sets that customers can start from, with auto-generated preview images.
  • Order of wear management by country.
  • Channels. One entry per BigCommerce storefront, each with its own sender email and a live/staging toggle.
  • Deals for promotions and wholesale offers.
  • Email templates and cadences. Branded quote, sales order and abandoned-rack emails, with timed follow-up sequences and delivery tracking through Amazon SES.
  • Admin roles and access control.
Admin clasp configuration screen where staff drag a clasp vertically on a medal ribbon to set its position
Staff position clasps visually; the builder then places them precisely on every rack.
Admin email template editor showing an abandoned-rack reminder email preview
Branded email templates and follow-up cadences, edited without touching code.

The customer website and Medal Library

We also built the client's customer-facing WordPress website, the front door to the builder. Besides product, how-it-works, FAQ, support and blog pages, it includes a free Medal Library: a researched reference of 295 medals across national and military, police, emergency, corrective services, Imperial and foreign awards. Each medal page covers its history, eligibility, ribbon, clasps and place in the order of wear, and links straight into the builder with an "Add to my rack" button.

The library gives veterans and families genuinely useful information, and gives search engines hundreds of relevant, well-structured pages that lead visitors into the builder.

Customer website homepage: 'Your medals, mounted right. Worn with pride.' with Build my rack and Browse the Medal Library buttons beside a builder preview
The WordPress homepage leads visitors straight into the builder.
Medal Library listing with category filters and medal cards
Medal Library: 295 medals, filterable by category.
Medal detail page for the 1914 Star with history, quick facts and an Add to my rack button
Each medal page links straight into the builder.

Under the hood

For readers who want the technical detail.

Architecture

LayerTechnology
FrontendReact 18, TypeScript, Vite, Tailwind CSS, shadcn/ui, TanStack React Query, Framer Motion
BackendPython, FastAPI, SQLAlchemy, Alembic migrations
DataPostgreSQL (39 tables), Redis for sessions, caching and distributed locks
CommerceBigCommerce Management, Storefront, Customer Login, Price List and Webhook APIs
MediaAmazon S3 with CloudFront CDN
EmailAmazon SES with delivery and engagement tracking
AnalyticsGoogle Analytics 4, with sales tracking tied back to racks
HostingAWS App Runner (frontend); Dockerised backend on AWS with GitHub Actions CI/CD and separate staging and production pipelines
Marketing siteWordPress

Hard problems we solved

Pixel-accurate medals at any screen size. Clasps are positioned as a percentage of each medal image, so any stretching or letterboxing makes them drift. We built a single sizing rule that every medal renders through, and used CSS container queries so frame and presentation-set previews scale as one unit with no fixed pixel offsets. The result looks identical on a small phone and a 4K screen.

Capturing exactly what the customer approved. Each cart item, saved rack, quote and order carries an image of the rack. We built a snapshot pipeline: a canvas renderer for medal racks and a DOM rasteriser for frames and sets. It waits for animations to settle, clips drop shadows correctly, compresses output for storage, and shares one image cache across captures. Along the way we diagnosed a CDN caching fault where a cached cross-origin header could break images for other users, and designed the loading strategy to stay robust against it.

One app, many storefronts. Each storefront reaches the app through an encrypted channel link. The backend issues a channel token that scopes products, pricing, tax, racks and emails to that storefront. That lets a single deployment serve the client's whole storefront network.

Seamless checkout into BigCommerce. At checkout we create the BigCommerce cart server-side and send the customer through a short-lived relay that signs them in to the storefront with a BigCommerce Customer Login token. They land in checkout already signed in, with addresses and saved payment methods ready.

Signed-in customers stay signed in. Customers already signed in on a storefront, and staff using BigCommerce's own "log in as customer", are carried into Rack Builder automatically. Staff sessions show a clear banner naming the staff member.

Keeping a large catalogue in sync. Product, variant and price changes flow in from BigCommerce through webhooks and background re-sync jobs. These run off the request path, with Redis locks so only one worker runs each job, which keeps the app responsive while the catalogue updates.

Follow-up that runs itself. Saved racks, quotes and orders each trigger a configurable email sequence. Emails include rack images served from the CDN, active deals, and a deep link that reopens the customer's exact saved rack.

How we worked

  • Two environments, automated deploys. Every merge to main deploys production and every staging merge deploys a password-protected, non-indexed staging site, both through GitHub Actions.
  • Short, focused iterations. The client could see each feature on staging before it shipped.
  • Design system. Midway through, we reskinned the whole product to a new forest-green, ivory and gold visual identity using design tokens, so the builder, checkout, emails and admin share one look.

Timeline

PeriodMilestone
Jul–Sep 2025Discovery, requirements and solution design. Backend development begins
Oct–Dec 2025Backend foundations: BigCommerce integration, channel authentication, admin authentication, product sync, cloud infrastructure
Dec 2025–Feb 2026Admin panel, product curation workflow, order of wear engine, first builder UI, customer accounts, saved racks
Mar–Apr 2026Frames, presentation sets, storage options, clasp positioning, pricing and tax, cart and checkout
May 2026Deals, React Query, email templates, quotes, workshop staff notes
Jun 2026Full mobile responsiveness across all six products, new design system, common groups, admin search and filters
Jul 2026Checkout relay into BigCommerce, product availability management, GA4 sales tracking, Docker-based CI/CD, staging environment
Aug 2026Email redesign and cadences per channel, SEO and social tags, CDN-served snapshots, durability fixes for image storage. Public launch in mid-August
Sep 2026–nowPhase 2 in progress. Already shipped: BigCommerce sign-in carry-over and staff masquerade, magnetic mounting variants, photo cropping for photo frames. More admin, customer-support and workflow features under way

The result

The client now has a self-service channel for its most complex, most personal products:

  • Customers design, see and price a correctly ordered medal rack, frame or presentation set themselves, on any device, at any hour.
  • Every order reaches the workshop with a complete, structured build sheet and an image of what the customer approved.
  • Staff curate the catalogue, run promotions and follow up on unfinished racks from one admin panel, without touching code.
  • One platform serves every storefront, with each storefront's own pricing, tax and branding.

Services delivered

Product strategy · UX/UI design · Design system · React/TypeScript frontend · Python/FastAPI backend · BigCommerce integration · WordPress website · AWS infrastructure · CI/CD · Transactional email · Analytics · Ongoing support and enhancement

Planning something similar? See our Dev Shop Services or schedule a meeting.

Ready to take the next step?

Schedule Meeting

Your journey to unparalleled tech solutions begins here. Whether you need top-tier talent, innovative project collaboration, or comprehensive tech support, GEKO Technologies is ready to partner with you. Schedule a meeting with our experts now. Let’s discuss how we can drive your success together. Don't wait—your next breakthrough is just a meeting away.