Who LolliSoda Is
LolliSoda makes THC-infused sodas that taste like your favourite childhood flavours — and they take that nostalgic boldness seriously. They’re not just selling a product. They’re building a brand with attitude, one that sits right at the crossroads of consumer goods and cannabis culture. Their ambition was to serve everyday customers and bulk wholesale buyers — at the same time, through the same platform.
Where Things Stood When We Got Involved
When LolliSoda came to us, they had a brand identity people genuinely loved — but the website wasn’t doing it justice. There was no real eCommerce foundation. No way to handle wholesale orders separately from retail. No compliance layer. No campaign infrastructure. The gap between how great the brand felt and how the website performed was significant. Something had to change.
What We Set Out to Build
We rebuilt LolliSoda’s entire digital presence from the ground up. A WooCommerce core with a custom React cart on top. A spinning 3D can that actually makes you want to reach through the screen. A wholesale portal that operates completely separately from the retail experience. And a compliance layer tight enough to satisfy regulators in every target state — all wrapped in a system their marketing team can actually use without asking a developer for help.
What Was Holding Them Back
- No real eCommerce setup at all — retail and wholesale customers were basically being served the same experience
- The brand was too good for a generic WooCommerce theme — they needed something that felt alive
- Products needed to show up differently depending on who was looking at them — something WooCommerce doesn’t handle well out of the box
- Every ad campaign needed its own landing page, but the team couldn’t build them without calling in a developer
- Standard payment gateways don’t serve cannabis brands — they needed something built for this space
What Broke When We Dug Into It
- The native WooCommerce cart felt clunky. Slow to update, hard to style, and nothing like what the brand deserved
- The compliance state kept breaking between domains — a user’s session would reset and invalidate the entire checkout
- Customers wanted to attach photos to reviews — existing plugins had no safe way to handle that
- Out-of-the-box shipping tools couldn’t block delivery to states where cannabis products aren’t legal
- The mini cart and the full cart page kept going out of sync — customers were seeing different prices and quantities
- Nothing was stopping someone from entering a billing state and a shipping state that would violate regulations — until it was too late
What a Win Looked Like for Them
- A store that’s fast, visually striking, and bulletproof from a compliance standpoint
- Wholesale buyers get their own world — separate pricing, separate catalog, separate rules
- The marketing team should be able to run the show without waiting on dev
- Every touchpoint — from landing to checkout — needed to hold up legally
- Something that makes someone pause mid-scroll. A product experience nobody else in cannabis eCommerce is doing
How We Actually Built It
- Wrote custom WooCommerce plugins so wholesale and retail users see entirely different products and prices — no overlap, no confusion
- Replaced the native WooCommerce cart with a standalone React app — faster, more interactive, and actually fun to use
- Built the 3D can animation in Three.js with GSAP driving the motion — smooth, performant, and the first thing visitors notice
- Integrated Bankful — one of the few gateways that actually works for cannabis — with full support for cards, wallets, crypto, and subscriptions
- Set up Klaviyo flows for abandoned cart recovery, post-purchase sequences, and personalised re-engagement — revenue that runs on autopilot
- Built a template system using ACF so the marketing team can spin up campaign pages themselves in minutes, not days
- Solved the multi-domain session problem with server-side detection — compliance state stays locked in, no matter where the user lands
- Created dynamic shipping blacklists that update to reflect current cannabis laws state by state — so illegal orders never go through
- Layered in rate limiting, reCAPTCHA, and bot protection — because cannabis brands attract more abuse than most
- Wired up Meta Pixel properly so ad campaigns get real signal — not last-click guesswork
- Automated image compression and performance tuning throughout — because Core Web Vitals matter even when you have a 3D animation running
- Replaced the boring variation dropdowns with visual swatches — a small change that made the shopping experience noticeably better
How the Project Actually Unfolded
- We started by mapping out both user types — the everyday customer and the wholesale buyer — side by side. What do they need to see? Where do their paths split? What does compliance look like in each target state? Only once we had those answers did we start making technology decisions. Too many projects fail because they pick tools before they understand the problem.
- We built the most visible parts first — the cart and the 3D animation — because we needed to stress-test the brand experience early. If the animation tank performance, better to know in week two than week ten. We tuned GSAP frame by frame to keep everything smooth without touching the Lighthouse score.
- The backend work was where the real complexity lived. Custom WooCommerce plugins. Secure REST endpoints bolted onto third-party tools. And a checkout interception layer we had to build entirely from scratch because nothing off-the-shelf could do what we needed — catch illegal orders before they progress, without disrupting the checkout UX.
- Compliance and security were never an afterthought — we built them in parallel with everything else. The age gate, the shipping blacklists, the cross-domain session logic, and the security hardening all went in together, so there were no cracks between layers.
- Before launch, we ran every major flow on every major device. We broke things on purpose to see what held. The compliance flows, the cart sync, the wholesale logic — all tested to the point where we were confident nothing would slip through on day one.
Key Decisions & Why
- React cart instead of native WooCommerce — The WooCommerce cart is reliable, but it’s slow and hard to customise. We built a standalone React app instead, synced via REST API. LolliSoda gets a cart that feels instant and looks exactly right — without losing any of WooCommerce’s backend reliability.
- Three.js + GSAP for the 3D can — We evaluated lighter animation options, but nothing gave us the control we needed. Three.js handles the 3D rendering; GSAP drives the motion. Together they let us hit the visual bar the brand needed without a performance penalty.
- Bankful as the payment gateway — Most gateways quietly decline cannabis merchants. Bankful was built for exactly this space — and having one integration handle cards, crypto, wallets, subscriptions, and fraud protection meant we weren’t stitching together three different tools.
- ACF-based landing page system — We could have built a rigid page builder. Instead, we built a flexible template system so the marketing team has real creative control. They pick the layout, drop in the content, hit publish. No dev ticket. No waiting.
- Custom checkout interception layer — We spent a lot of time here. No existing plugin could validate billing and shipping states at the same time and block illegal combinations before the user moves forward. We built a Next-button overlay from scratch that does exactly that — invisibly, without disrupting the checkout experience.
In cannabis, compliance is the product.
Most teams add compliance at the end — a gate here, a filter there. We built LolliSoda’s entire checkout architecture around regulatory requirements from day one. Age verification, state-level shipping restrictions, billing validation, compliant payment processing — these aren’t features you add later. In cannabis eCommerce, if your compliance breaks, your business breaks.
The cart is part of the brand. Treat it like one.
We hear it a lot: ‘just customise the WooCommerce cart.’ And sometimes that’s the right call. For LolliSoda, it wasn’t. The brand demanded an experience that the native cart simply couldn’t deliver — the mini cart, the real-time item editing, the instant updates. Building a React app that talks to WooCommerce over REST was more work upfront. But the result is a checkout that feels like it was designed, not assembled.
The assumption we kept hearing was: ‘wholesale will need its own system.’ We pushed back on that. A second platform means double the maintenance, double the compliance work, and double the complexity. Instead, we built role-based logic deep into the backend — wholesale buyers see different products, different prices, different order rules — all from the same codebase. It’s harder to build. But it’s far easier to run.
A 3D animation and a perfect Lighthouse score. We weren’t willing to pick.
The moment you add a Three.js scene to a WooCommerce page, every experienced developer starts watching the Lighthouse score nervously. We didn’t. We tuned the animation rendering frame by frame, automated image compression across the entire catalog, and ran cross-device QA until we were confident the performance held on the hardware real customers actually use. The 3D experience didn’t cost LolliSoda a single point on Core Web Vitals.
Dual Channel
Two separate buying experiences, one unified backend
Wholesale buyers see their products and prices. Retail customers see theirs. The backend manages both without breaking a sweat.
Compliant
Every compliance requirement — handled
Age verification, state-by-state shipping logic, a compliant gateway, and downloadable COA docs on every product. Nothing slipped through.
3D Ready
A 3D experience nobody else in the space is doing
The animated can runs on mobile, tablet, and desktop without touching the performance scores. Immersion without compromise.
Automated
Revenue automation running from day one
Abandoned cart emails, post-purchase sequences, and personalised re-engagement — all live before the launch week was out.
Self-Serve
The marketing team owns their campaigns now
New campaign? The team builds the page, drops in the content, and hits publish. No ticket, no waiting, no bottleneck.
Where LolliSoda Is Now
When we started, LolliSoda had a great brand and a website that wasn’t keeping up with it. Now they have a platform that does the brand justice — and then some. A fully operational retail and wholesale business running from a single codebase. A compliance layer that holds up in every target state. A product experience nobody else in cannabis eCommerce is delivering. And a team that can actually run the thing themselves.
What This Sets Them Up For
- Adding new products, new wholesale accounts, and new states as regulations evolve — the architecture handles all of it without a rebuild
- The marketing team runs their own campaigns now. That’s hours saved every week, and ideas that ship in hours instead of weeks
- The Klaviyo flows quietly generate revenue every day — cart recovery, repeat purchases — with no extra ad spend required
- As cannabis regulations shift state by state, the compliance layer adapts — no emergency fixes, no architectural rework
- The platform was built to handle growth — more traffic, more products, more wholesale accounts — without slowing down
What This Project Says About Us
LolliSoda was never going to be a straightforward build. Cannabis compliance, 3D rendering, dual commerce models, custom plugin development — every part of this project pushed into territory most agencies avoid. We didn’t. We went deep on the hard problems, made decisions we could stand behind, and shipped something LolliSoda is genuinely proud of. That’s the kind of work we’re here to do.