OLLO — Premium Bottle Brand Shopify Theme
Carry something beautiful. A real Shopify theme with two 3D moments.
A complete Shopify Online Store 2.0 theme for a bottle brand that sells to every age group, art-directed like a campaign rather than assembled from a template. The hero stacks three bottles under oversized Geist type with a colourway swapper. The first 3D moment pins a bottle and lets scroll turn it, bring it forward, recolour it and settle it into a product card; the bottles are generated in Three.js as solids of revolution with procedural powder-coat and wordmark textures, so there is no model file to download. Six personalities slide past in a pinned horizontal exhibition, a wire-frame silhouette becomes a finished bottle one attribute at a time, and the closing viewer turns the bottle under your cursor. Underneath it is a working store: Liquid sections and blocks with Theme Editor settings everywhere, an Ajax cart drawer with a complete-the-set upsell, predictive search, filters, variant-aware galleries and structured data. Three.js and GSAP load only near the sections that use them, every animation has a reduced-motion path, and it runs offline on a local preview server with a sample catalogue before you connect a store.
How to run this
Works the same on Windows, macOS and Linux. No prior setup beyond Node.js, and nothing to configure — the pack runs as-is.
- Built with
- Shopify theme (Liquid)
- Requires
- Node.js 20 or newer
- Opens at
- http://127.0.0.1:8787
Note — A Shopify theme, so there is no framework build: npm run preview renders the real Liquid files on a local server with a sample catalogue, which is how to see it without a store. To run it on your own store, install the Shopify CLI and use npm run dev (shopify theme dev), then npm run push to upload it as an unpublished theme. The README lists the menus, pages and homepage pickers to set after uploading. The QA and image-render scripts in dev/ drive a local Google Chrome and are optional.
✦ Or let an AI agent set it up for you
Already using Claude Code, Antigravity, Cursor or Windsurf? Unzip the pack, open the folder as a project, and just ask:
Install the dependencies and run this project, then give me the URL
It reads the README included in the pack, runs the right commands for this project, and sorts out anything that trips along the way. You still need Node.js installed (step 1 below) — everything after that it can handle.
Or run it yourself
- 1
Install Node.js, if you don't have it
Download the LTS build from nodejs.org and run the installer — on Windows and Mac it handles everything. Mac users with Homebrew can run
brew install nodeinstead.To check it worked, run
node --version. It should print a number like v22.11.0. - 2
Unzip the pack, then open a terminal inside the folder
Windows: open the unzipped folder in File Explorer, click the address bar, type
powershelland press Enter.Mac: press Cmd+Space, type terminal, press Enter. Then type
cd(with a trailing space) and drag the unzipped folder onto the terminal window — it fills in the path for you. Press Enter. - 3
Install the dependencies
Run
npm installOne-time, and takes roughly 30–60 seconds. It creates a node_modules folder — that's expected, and it's why the zip doesn't ship one.
- 4
Start it
Run
npm run previewThen open http://127.0.0.1:8787 in your browser. Leave the terminal open while you use it — closing it stops the site. Press Ctrl+C in the terminal to stop.
+ − If something goes wrong
- “npm is not recognised” / “command not found: npm”
- Node.js isn’t installed, or the terminal was open before you installed it. Close the terminal, open a new one, and try again.
- “Port 8787 is already in use”
- Something else is running there — often a previous copy of this site. Close the other terminal, or stop it with Ctrl+C.
- The page loads but images or video are missing
- Make sure you ran the command from inside the unzipped OLLO — Premium Bottle Brand Shopify Theme folder itself, not the folder containing it.
- npm install shows warnings
- Warnings (as opposed to errors) are normal and safe to ignore. Only a message starting with ERR! needs attention.
Still stuck? Email us and we'll get it running with you.
More like this
Browse the store →
PremiumBR-TAARA — Rough to Ring Box, in Real-Time 3D
A frosted rough diamond is laser-scanned, burns away into a ray-traced brilliant, is set by hand and boxed — all rendered live.
PremiumAURELIAN Calibre 01 — Skeleton Automatic
Time, Engineered. Pinned storytelling & canvas frame scrubbing
PremiumAETHERIS Residences — Skyline Luxury
Not Just A Home. A New Skyline.