Scaling Coda’s Webstores — From Bespoke Builds to Publisher Self-Service

How we combined a reusable Commerce Engine with AI-assisted setup to reduce store creation from roughly two days to a few minutes.

Some numbers, data, and statements have been altered to respect confidentiality agreements.

My role
Product Designer — Full design ownership of Publisher Portal onboarding and Coda Webstore Engine
Project type
Long-term · Zero-to-one · Platform strategy · Service design
Collaborators
Engineers, product manager, operations, legal, finance, and marketing
Core project phase
June–December 2025
The self-serve publisher workflow for configuring and launching a global storefront.

Summary

How might we turn a store-creation process that takes days into a self-serve experience that gets publishers to a working webstore in minutes?

From Manual Publisher Operations to Ai-assisted Store Generation

2023 — Understanding the broader journey When I joined Coda, the broader publisher journey was highly manual and could take more than 90 days. 2024 — Validating D2C and accelerating store creation By the end of 2024, we had validated the direct-to-consumer (D2C) model and reduced one part of that journey—internal store creation—to roughly two days. 2025 — Moving from an internal tool to publisher self-service The next challenge was to remove the operational knowledge and repetitive setup still standing between each publisher and a working storefront. We responded by combining a reusable Commerce Engine with an AI-assisted Store Builder, enabling publishers to generate a working storefront themselves in minutes.

Self-serve storefront generation

Generate an initial storefront in a few minutes. All self-serve.

Publishers can move from initial setup to a working storefront without relying on Coda teams to manually configure each store.

Three differently branded stores with shared gamer ID and product-selection patterns
Reusable Commerce Engine

Reusable Commerce Engine

Shared commerce capabilities, integrations, and LiveOps can be built once and reused across current and future stores.

Store overview with setup progress, remaining configuration tasks, and an applied theme
Faster store configuration

Faster Store Configuration

Prebuilt commerce and LiveOps modules reduce how much publishers need to configure manually before launch.

Visual store editor with hero banner controls and a Pokémon Unite storefront preview
WYSIWYG editor and store design system

WYSIWYG Editor & Store Design System

What comes next: once store generation was reduced to minutes, the next challenge became creative control. In early 2026, we began exploring a WYSIWYG editor and store design system that would let publishers customize their storefront visually without breaking the shared commerce foundation.

Outcome

~2 days → a few minutes

Faster initial store creation

From Coda-assisted configuration to AI-assisted generation. Compared internally with the required inputs ready; excludes KYC, approvals, and other launch requirements.
Self-serve store generation

Publishers could generate initial storefront content from a Google Play, App Store, or Steam listing URL, without Coda teams manually configuring each store.
A reusable commerce foundation

Commerce Engine established shared commerce capabilities that could be reused across different storefronts.

Deep Dive

Background & Evolution

Legacy Publisher Portal custom commerce interface
Legacy Publisher Portal
First flagship D2C webstores launched in 2024
First flagship D2C webstores
Internal store-builder MVP interface
Internal store-builder MVP

From portal to D2C platform

When I joined Coda in 2023, Publisher Portal was mostly an internal tool for settlement reporting.

Over the next two years, it evolved alongside the business: we streamlined the publisher journey, launched our first highly customized D2C webstores in 2024, and validated the model with flagship stores generating multi-million-dollar revenue. By the end of 2024, a basic internal store builder had reduced initial store creation to roughly two days.

The next challenge: making it scalable

We had validated the business and accelerated internal store creation. The next challenge was scaling without treating every new store as another bespoke project.

Earlier, we had accepted these limitations while validating the business.

Problem reframe & platform paradox

Comparison of bespoke store implementations against a shared platform approach
Bespoke flexibility vs. platform scalability

Customization helped us prove the model. It also made scaling harder.

Our early webstores followed two approaches. Custom commerce supported games such as CODM and FCM through highly tailored storefronts, while instant commerce offered a more standardized experience on separate infrastructure.

This helped us meet different publisher needs, but left us with stores built in different ways. Many interface elements weren’t reusable, and some stores even used different framework versions, including Vue 2 and Vue 3.

A routine campaign update—highlighting a product, applying a seasonal theme, or changing a product-card layout—could require separate implementation work across stores.

We could customize individual stores, but we couldn’t easily carry those improvements across the platform.

The strategic shift: supporting different stores at scale

Our initial focus was making each publisher’s store work for their specific needs. As the platform grew, the question expanded: how could we continue supporting that variety without each new store adding the same implementation and maintenance effort?

Old frame: How do we build a store that meets this publisher’s needs?

New frame: How do we support different publisher needs through a platform that scales?

Customization remained important. What changed was how we intended to support it: a shared Commerce Engine underneath different storefront experiences.

The flexibility publishers valued was difficult to scale with the way our stores had evolved.

From internal tool to self-serve platform

Internal setup requirements alongside the publisher's goal of a working storefront
Internal setup requirements and the publisher's goal

Commerce Engine gave us a shared foundation. The next challenge was making store creation usable by publishers without the operational knowledge Coda’s teams relied on.

A working storefront came too late in the flow

Our first instinct was to improve the existing sequence: create a title, add products, configure the store, then preview the result.

But this meant publishers had to complete the setup before seeing their own storefront. We began questioning which steps were necessary upfront and which could happen after publishers had something tangible to work with.

What changed our thinking

To explore which steps could move later, we reviewed the existing flow, observed how Ops handled setup, and examined how other products introduced users to their first result.

Audit of the existing store-creation flow and its setup prerequisites
Flow audit
Notes from observing how Ops handled store setup
Ops observation
Benchmarking how other products introduced users to their first result
Benchmarking

These observations led us to explore a different sequence: show publishers an initial storefront, then guide them through the remaining configuration.

How might we get publishers to a working store as early as possible?

Design concepts

I developed three contrasting directions to examine where publishers should first experience value, how much setup they should complete upfront, and how store creation would connect to ongoing management. Each direction represented a hypothesis to investigate.

Option 1 concept: guided manual setup with clear step-by-step configuration
Option 1. Guided manual setup
Option 2 concept: generating a storefront from a public website before entering the Portal
Option 2. Public website AI creation
Option 3 concept: generating a storefront with AI inside Publisher Portal
Option 3. Portal AI creation

Early evaluation with BD and Ops

Direct access to publishers took longer than our timeline allowed. To get early feedback, we asked Business Development (BD) and Operations (Ops) colleagues to walk through the concepts as if they were creating a storefront for their company.

What we wanted to understand

  • Was the next step clear, and where did they need an explanation?
  • Did they understand what the system generated and what remained to be completed?
  • At what point did the storefront feel useful enough to continue?
  • How did they expect creation to connect with their account and ongoing store management?

How we interpreted the feedback

Participants already understood Coda’s terminology and processes, so their familiarity could hide difficulties a publisher might encounter. Taking on a publisher’s task did not remove that limitation.

We also considered patterns from previous publisher interactions. These provided context for interpreting the feedback, while the internal walkthroughs helped us identify potential issues in the proposed experience.

We used these inputs to refine the concepts and form working hypotheses for later publisher validation.

What this suggested—and what remained untested

  • Showing an initial storefront earlier might help publishers understand the value before completing setup.
  • Automating repetitive setup might reduce upfront effort, provided publishers could review and correct the generated content.
  • Keeping creation inside Publisher Portal might make the transition to account and store management clearer.

We still needed to test whether publishers unfamiliar with Coda could complete the flow independently, understand the generated result, and move confidently into the remaining setup.

Why we chose creation inside the Portal

We chose Option 3: AI-assisted creation inside Publisher Portal. The Portal was already where publishers would manage their stores, so keeping creation there connected the generated storefront to its ongoing setup and management. This also avoided introducing a separate website-to-Portal handoff.

The tradeoff was that publishers needed to enter the Portal before seeing a generated store. We accepted that constraint for the initial release, while leaving generation before Portal onboarding as a direction to explore.

The direction we shipped

The shipped Store Builder used a publisher-provided Google Play, App Store, or Steam listing URL to generate initial store content, reducing the amount they needed to configure from scratch.

Old creation flow
New creation flow

~2 days → a few minutes

Initial store creation

Compared internally with the required inputs ready; excludes KYC, approvals, and other launch requirements.

WYSIWYG wasn’t the wrong idea. The sequencing was.

Reflections on scope, speed, and self-service

Bespoke work can be the right starting point

Custom implementations helped us meet publisher needs while validating D2C. Looking back, I wouldn’t treat that early approach as a mistake. The lesson was recognizing when a useful compromise had become a constraint—and when shared capabilities deserved greater investment.

Faster creation is only part of self-service

We focused on getting publishers to an initial storefront quickly, but visual customization remained limited. This taught me to distinguish reaching the first result from having enough control to make that result useful. It shaped how I approached the next phase of the visual builder and design system.

Internal familiarity can hide complexity

Working with BD and Ops helped us evaluate concepts when publisher access was limited. But their knowledge of Coda could also make unfamiliar steps appear straightforward. I learned to separate what those sessions could reveal from assumptions that still needed direct publisher testing.

What comes next

2026 sneak peek — live store builder and design system

In 2026, the visual store builder and supporting design system entered soft launch, extending the work toward greater publisher control over storefront appearance.

With initial store generation accelerated, the next question was how much creative control publishers needed—and how to provide it consistently across stores.

Like what you see?

Let’s talk

Other work