Skip to main contentSkip to footer
    Back to Case Studies
    Eternal BrillianceFine Jewelry, Los Angeles
    E-CommerceWooCommerceCustom Theme

    Eternal Brilliance LA

    A Los Angeles fine-jewelry brand selling earrings, necklaces and bracelets online. Instead of a purchased theme with a page builder on top, we built the storefront as a hand-written WooCommerce theme on Tailwind, so every product page, filter and checkout step looks like the jewelry deserves.

    Project Preview

    Live website preview - eternalbrilliancela.com

    19
    WooCommerce templates overridden in the theme
    8
    ACF field groups driving product and page content
    2
    Payment rails: WooPayments and Square
    1
    Self-managed VPS with LiteSpeed caching

    Custom TailPress theme

    A from-scratch WordPress theme on TailPress and Tailwind CSS 3.4, compiled with Laravel Mix. No page builder, no purchased template, no unused CSS.

    Media-rich product pages

    ACF Pro fields for a product video, a hover image in the grid, per-colour variation galleries, other sizes, suggested products and 'greatly paired up with' pairings.

    Shop filters and variation pricing

    A collection and price filter on the store, variable-price display rewritten for jewelry, and the product title and price updated live as a variation is selected.

    Favorites

    An AJAX favorites system that works for logged-in and guest visitors, with a dedicated favorites page template.

    Checkout child theme

    Checkout form overrides isolated in an 'ebs' child theme so payment and form changes never touch the storefront theme, with WooPayments and Square as processors.

    Own the server

    Nginx, PHP-FPM and MariaDB on a CloudPanel VPS, LiteSpeed Cache, Smush image optimisation, SMTP delivery and Complianz for GDPR consent.

    The problem

    Eternal Brilliance LA sells fine jewelry, and fine jewelry is sold on presentation. A necklace at this price point needs to be seen moving, seen in each colour of metal, seen next to the earrings it pairs with, and bought without a checkout form that looks like every other WooCommerce store. Off-the-shelf themes get most of that wrong in small ways that add up: a stock product grid, a generic price range on variable products, a cart and checkout styled for someone else's brand.

    The brand also needed to own its platform. Product variations, metals and sizes change constantly, so the merchandising had to be editable by the team without a developer. And the site had to run somewhere the brand controlled, fast enough for image-heavy catalogue pages, without a managed-hosting bill scaling with traffic.

    What the brand needed

    • A storefront that looks like the jewelry: Custom design from the homepage to the checkout, not a theme with the colours changed.
    • Jewelry-specific product pages: Video, hover states, colour galleries, sizes and pairings, all manageable from the WordPress admin.
    • Two ways to get paid: Card payments through WooPayments with Square alongside it.
    • Fast on a server the brand owns: A VPS with proper caching, image optimisation and reliable transactional email.

    What we built

    A hand-written theme on TailPress

    The theme, called eb, is built on TailPress, a boilerplate that brings Tailwind CSS into a classic WordPress theme. Source CSS lives in modular PostCSS files (header, footer, frontpage, products, WooCommerce overrides) and compiles through Laravel Mix; JavaScript is split into a frontpage products module, a variation handler and a single-product handler, with AOS for scroll animation, Swiper for galleries and fslightbox for zoom. WordPress core, plugins and uploads are ignored by git; the theme is the only thing under version control, which keeps the repository honest.

    Product content modelled in ACF

    Eight ACF Pro field groups carry everything the default WooCommerce product does not. A product can have a video that plays in place of the static image, a hover image for the grid, a media gallery per colour variation, links to the same piece in other sizes, suggested products and a curated "greatly paired up with" set. Attribute terms get their own images and galleries, categories get a video, and shared settings such as shipping details are managed in one place. The homepage hero is an ACF group too, with heading, copy, background image or video, an FAQ list and an "our story" block. Field groups are exported to acf-json, so a change to the content model is a commit, not a mystery.

    WooCommerce, overridden where it mattered

    Nineteen WooCommerce templates are overridden in the theme: the product archive and loop item, the single product page with its image, price, short description and add-to-cart partials, the variation content, cart shipping and the checkout form. Variable-product price output is filtered so jewelry does not show a meaningless "from X to Y" range, and the product title and price update as the shopper picks a variation. A store filter offers shop-by-collection and by-price on the catalogue. Add-to-cart redirects are customised, and post-registration redirects land the customer somewhere useful.

    The checkout form override is isolated in a child theme, ebs. That separation means checkout can be tuned for payment-processor or compliance changes without a risk of regressing the storefront, and vice versa.

    What shipped

    Custom homepage with hero, shop-by-category, FAQ and brand story sections
    Product grid with hover images and a collection and price filter
    Single product pages with video, per-colour galleries, size cross-links and pairings
    Favorites for guests and members, with a favorites page template
    Cart and a child-theme checkout with WooPayments and Square
    Review and shared product settings managed in ACF
    LiteSpeed caching, Smush, SMTP mail and GDPR consent on a CloudPanel VPS

    How it runs

    A VPS the brand controls

    Nginx with PHP-FPM and MariaDB on a CloudPanel VPS. No shared hosting, no per-visit pricing, and root access when something needs fixing.

    Caching and images

    LiteSpeed Cache in front of WordPress and Smush on uploads, because a jewelry catalogue is mostly large images. Cache is purged as part of every theme deploy.

    Compliance and deliverability

    Complianz handles cookie consent for GDPR, and WP Mail SMTP makes sure order and account emails leave the server through an authenticated relay.

    Ongoing care

    A documented process for updating variants was handed to the team, and a monthly maintenance and security plan (updates, daily off-server backups, uptime checks, WAF, server hardening, monthly report) was proposed in April 2026.

    Problems worth talking about

    Variable prices on jewelry

    WooCommerce shows a price range on variable products by default. For a pendant offered in three metals, "from $X to $Y" tells the shopper nothing. The theme filters both the regular and sale variable price HTML, shows a single sensible figure in the grid, and swaps in the exact price and title once a variation is chosen on the product page.

    Keeping the builder out

    Every section the team needs to edit is an ACF field, not a builder widget. That keeps markup under Tailwind's control, keeps the CSS bundle small, and means a redesign is a template change rather than a page-by-page rebuild.

    Deploy discipline

    The project rules are simple and enforced: run a production build before any deploy, upload the changed theme files and commit them in the same step, never touch wp-config or environment files in tooling, and purge LiteSpeed afterwards. Backup copies of earlier template versions are kept in the repo but never loaded.

    Where it stands

    What we can and cannot claim

    The store is live at eternalbrilliancela.com on the custom theme. The counts above (19 template overrides, 8 ACF field groups, two payment processors) are taken from the theme's codebase. We have not been given analytics or sales reporting for this client, so this page carries no traffic, conversion or revenue figures.

    Keep the site online, fast and safe, so the team can focus on the jewelry business.

    Project brief, Eternal Brilliance LA

    What This Project Does Well

    A luxury storefront that is a real theme, version-controlled in git with conventional commits, rather than a builder export nobody can diff
    Product presentation built for jewelry: video, hover images, colour-specific galleries, size cross-links and curated pairings, all editable from ACF fields
    WooCommerce templates overridden where the default UI was wrong for the brand, and left alone everywhere else
    Checkout customisation kept in a child theme, so the storefront theme and the checkout can be updated independently
    A self-managed VPS the brand controls, with LiteSpeed caching and image optimisation instead of a shared-host plan
    Field definitions synced to acf-json so content structure changes are code-reviewed like everything else
    A written maintenance and security plan proposed in April 2026 covering updates, off-server backups, uptime monitoring, WAF and server hardening

    Technologies Used

    WordPress 6.x, WooCommerce, custom TailPress theme, Tailwind CSS 3.4 with PostCSS, Laravel Mix (Webpack), Advanced Custom Fields Pro, WooCommerce Payments, Square, AOS, Swiper, fslightbox, LiteSpeed Cache, Smush, WP Mail SMTP, Complianz GDPR, Nginx, PHP-FPM, MariaDB, CloudPanel on a Contabo VPS

    Ready to Build Something Similar?

    Let's discuss how we can help transform your business with a custom digital solution.