Lead engineer
Shine Trim
Craft embellishments store with membership tiers, bulk discount logic, and a loyalty program — all wired deep into WooCommerce without a brittle plugin stack.

- Catalog size
- 5,000+ SKUs
- Member retention
- +31%
- Bulk-order revenue
- +18%
The problem
The previous stack chained four membership/discount plugins together. Pricing logic was non-deterministic at the cart line — the same product would render different prices depending on plugin load order. Members complained that tier discounts were inconsistent, and the loyalty plugin held points data in its own table with no API.
My role
Lead engineer. I rewrote the pricing engine as a single set of WooCommerce filters with a fixed order: member tier → bulk quantity → loyalty redemption → coupon, migrated the loyalty data into a custom table with a small REST surface, and rebuilt the membership signup + dashboard pages.
Approach
One pricing function — shine_calculate_price() — runs on woocommerce_product_get_price and woocommerce_cart_item_price, so every entry point hits the same logic. Bulk-tier breakpoints are configured per category in the admin UI, not hardcoded.
Loyalty points migrate into wp_shine_loyalty, indexed on user_id + earned_at. The dashboard reads from a single REST endpoint that returns the user's tier, points balance, and applicable next-tier threshold — no plugin abstractions in the way.
Outcome
Pricing became fully deterministic — same product, same price, regardless of load path. Member retention rose 31% across the following quarter, driven by the transparent tier-progress UI. Bulk-order revenue lifted 18% as bulk breakpoints became visible on the product page itself rather than hidden behind a coupon-style discount at checkout.
Stack
