PaintCam: from Webflow to a Shopify store that only sells to approved distributors
PaintCam's Eve cameras detect intruders, issue warnings, and mark anyone who keeps coming with a paintball. Demand arrived from distributors and consumers at once, but the go-to-market was distributors first. We migrated the Webflow site to Shopify's Horizon theme as a faithful visual continuation, then made the store enforce the sales policy: vetted partners buy, everyone else joins a regional waitlist, and no interested visitor leaves empty-handed.
Executive Summary
A distribution strategy the store could not execute
PaintCam builds the Eve line of AI security cameras, a product that made headlines from its Kickstarter debut through CES 2025. Demand arrived from two directions at once: security distributors wanted to order units, and consumers wanted one for their own driveway. The go-to-market answer was clear, distributors first, public availability later. The web presence lived on Webflow, which told the product's story well but could not run distributor commerce, and Shopify's default assumption is the opposite of the policy: anyone who reaches checkout is allowed to buy.
We migrated the experience to Shopify's Horizon theme as a faithful visual continuation, extending the existing design system in Figma into a complete set of developer-ready layouts, then built the gate into the store itself. Customers register through a custom distributor application, the merchant reviews each one, and only accounts tagged as Distributor gain purchasing access. Everyone else browses the full product experience and joins a regional waitlist that converts blocked consumer interest into a launch list. Interactive animations were built natively in Liquid to carry the brand's high-tech feel, and the whole experience ships fully responsive.
Client at a glance
- AI security hardware · Singapore
- Founded by Blaž, headlines from Kickstarter to CES 2025
- B2B, distributor-gated purchasing
- Migrated from Webflow to Shopify (Horizon theme)
What we delivered
The Challenge
Shopify's open checkout versus a distributors-only policy
A product like PaintCam does not get a quiet launch. Press coverage and a successful crowdfunding campaign meant traffic was arriving before the sales channel was ready for the public, and selling direct too early risked unsupported installations, regional compliance questions, and distributor partners undercut by their own supplier.
Migration without reinvention
The Webflow site's hierarchy, spacing, and storytelling had to survive the move one to one. A close-enough theme adaptation was explicitly off the table.
Open checkout by default
Shopify has no native concept of approved buyers only at the storefront level. The gate had to be constructed, not configured.
Two audiences, one store
Distributors needed a professional purchasing path. Consumers needed a reason to stay engaged instead of leaving after discovering they cannot buy.
A premium brand on a constrained canvas
PaintCam's marketing presence set expectations of fluid, modern motion design. Reproducing that inside Shopify's theme architecture, without heavyweight page builders, was a build constraint from day one.
A new theme foundation
Horizon is recent enough that established patterns and app integrations are thinner than for older themes. Custom work had to respect the theme's structure to stay upgrade-safe.
Research & Strategy
We started from the business rule, not the theme
The rule was simple: a customer may purchase if and only if the merchant has approved them as a distributor. Shopify already has customer accounts, customer tags, and merchant-side review of registrations. What it lacks is the connective tissue: an application flow worth a partner's time, gating logic that reads the tag, and a dignified path for everyone who does not qualify yet. That connective tissue is what we scoped as the build.
The build roadmap
The Build
The Webflow site as specification, the sales policy as code
Migrations usually flatten a carefully built marketing site into whatever the destination theme does by default. We treated the Webflow site as the design specification and the distributor policy as a system to express in Shopify's own primitives.
A faithful Webflow to Shopify migration
The existing design system was extended in Figma into a complete, developer-ready Shopify page set: homepage, shop overview, a reusable product detail template, cart, account, and the informational and legal pages. That design was coded one to one in Liquid on the Horizon theme.
A distributor approval workflow, no lock app
A customer registers through the distributor application, the merchant reviews and tags approved accounts as Distributor, and the storefront reads that tag to unlock purchasing. Everyone else sees gated pricing, restricted CTA states, and clear currently-available-for-distributors messaging. The merchant controls access from the Shopify admin they already use.
Custom forms mapped to real intake
Three custom forms built natively in the store's design language, including the distributor application that feeds the approval workflow and the regional waitlist that holds consumer demand for public launch.
Motion within Shopify's constraints
Interactive animations implemented directly in Liquid, taking animation patterns from Framer-grade marketing sites and rebuilding them natively, so the store carries the product's high-tech character without external builders or heavyweight scripts.
Responsive by requirement, not by default
The mobile experience was a first-class deliverable across every custom component: the forms, the gated states, and the animations all verified across desktop and mobile.
Event-driven and orchestrated in the cloud: every step independently observable, retryable, and parallel.
What Worked
Proving premium motion inside a Shopify theme
Two build experiments closed the visual gap between the brand's marketing presence and its store.
Animation effects inside Shopify's constraints
Achieve the interactive motion the brand wanted within the theme architecture.
- Animations engineered inside Horizon's structure
- No page builders or external embeds
Result
The store stayed self-contained and fast while carrying the brand's motion language.
Porting Framer animation patterns to Liquid
Recreate animation behavior from Framer-built marketing sites natively in the theme.
- Framer-grade patterns rebuilt in Liquid
- Marketing site and store visually continuous
Result
Closed the visual gap between the brand's marketing presence and its store.
Why It Worked
The store was shaped around the business rule, not around available apps
Every decision traced back to the same rule: approved distributors buy, everyone else joins the line.
The Webflow site was the specification
Treating the original as spec, not inspiration, meant the brand arrived on Shopify intact instead of approximated.
Shopify primitives over subscriptions
Expressing distributor-only purchasing in customer tags and theme logic kept the merchant in one admin, kept costs flat, and kept the storefront fast.
The waitlist made the policy productive
Treating the waitlist as the consumer conversion event meant the distributor-only policy never wasted a visitor.
Results
A sales restriction turned into working storefront mechanics
No performance metrics are published for this engagement; every result below is a structural fact of the delivery.
Opening to the public becomes a policy change, not a rebuild
Platform
Purchasing access
Consumer demand
Gating stack
Client Feedback
In the founder's words
Great team and I recommend working with them.
Blaž
Founder, PaintCam
Common Questions
What this means if you're planning a distributor-gated or B2B launch on Shopify
Yes, but not out of the box. The pattern that works: define the access rule precisely, express it in customer tags and theme logic, build application and waitlist forms that respect both audiences, and keep the merchant's workflow inside the admin they already know.
Planning a gated, B2B, or distributor-led launch on Shopify?
We build stores that match how your business actually sells: access rules expressed in Shopify's own primitives, both audiences served, and no app subscriptions in your checkout path. Fixed price proposal after one call.