For teams who know their customers
A storefront that learns
every time you ship.
You know your customers better than anyone. Now your storefront does too. Pack lets your team and AI agents publish, test, and personalize in one place, and keeps what wins.
- Publish
- Content releases
- Test
- Server-side A/B
- Learn
- Bayesian results
- Agents
- Native MCP

Products /Daily Barrier Lotion
Release: Fall dropFree shipping on orders over $50
Shop / Body /Daily Barrier Lotion
Daily Barrier Lotion · 200 ml
Daily Barrier Lotion
★★★★★4.8 · 2,341 reviews
Size: 200 ml
01 — The shift
Every change used to be a ticket.
Here’s that same Fall drop release, shipped two ways.
9 days
- 1 ticket
- 4 handoffs
- 0 tests run
- 1Day 1
Maya · Merch
Files a ticket for the new hero copy and a CTA test.
- 2Day 3
Engineering
Picked up in sprint planning, behind two bugs.
- 3Day 6
QA
Sent back. The copy changed since the ticket was written.
- 4Day 9
Engineering
Hero ships. The CTA test moves to next sprint.
01
Ship without waiting
Your team edits in Pack. Agents draft into a release. Ship when you're ready — no dev ticket required.
02
A controlled surface for AI
Agents work through Pack's MCP server, straight into a content release your team reviews before it goes live.
03
One workflow, one release
Publish, test, and personalize in the same content release. Review once. Ship together.
02 — Behind the scenes
Agents draft. Your team reviews.
You ship when it's ready.
Here’s what the agents actually did on Fall drop. Every call went through Pack’s MCP server and landed in the release for review — nothing went live on its own.
01 / Publish
The new hero, drafted from real reviews.
Agents read your storefront and call the same tools your team clicks. Both land in the same release.
agent — ~/halden-storefront — publish
~/halden-storefront main ❯ agent --mcp pack
⏺pack - get_page (MCP)(slug: "barrier-lotion")
⎿Hero banner · “Daily Barrier Lotion”
⏺pack - search_reviews (MCP)(product: "barrier-lotion", top: 3)
⎿“still hydrated hours later” ×412 · “texture” ×103
⏺pack - update_section (MCP)(section: "hero", heading: "Moisture that lasts until tomorrow.")
⏺pack - add_to_release (MCP)(release: "fall-drop")
⏺Added to Fall drop. Maya has 1 change to review.
>
02 / Test
A server-side test on the CTA, no flicker.
Configure, expose, and read results — from the editor or an agent. Tests ship inside the release they belong to.
agent — ~/halden-storefront — test
~/halden-storefront main ❯ agent --mcp pack
⏺pack - create_experiment (MCP)(page: "barrier-lotion", element: "hero.cta")
⎿exp_cta_price · 50/50 split
⏺pack - set_variant (MCP)(id: "exp_cta_price", variant: "B", text: "Add to bag — $38")
⎿Variant B saved
⏺pack - add_to_release (MCP)(release: "fall-drop")
⏺Test attached to Fall drop. It stops itself at 95% confidence.
>
03 / Personalize
Returning customers get a different hero.
Define an audience from real shopper signals, swap a section for them, and review it with everything else.
agent — ~/halden-storefront — personalize
~/halden-storefront main ❯ agent --mcp pack
⏺pack - create_audience (MCP)(name: "returning", signal: "orders >= 1")
⎿18,204 shoppers matched
⏺pack - create_experience (MCP)(audience: "returning", page: "barrier-lotion")
⏺pack - set_section (MCP)(section: "hero", variant: "refill-bundle")
⏺Drafted in Fall drop. Waiting on your review.
>
04 / Blueprint
Built on Blueprint.
Our opinionated Hydrogen theme — production-tested and open source. What your team and your agents build on.
View repo100+
Live storefronts
<1s
LCP out of the box
2–3×
Faster than themes
OSS
Fork it, own it
A/B
Server-side tests wired in
MCP
Hooks on every surface



