Skip to the walkthrough
duck yeahA growth experiment by James D. Nichols

What the duck
am I doing?

I’ve spent 22 years bridging development and growth. Here’s how I’d put that to work at MotherDuck.

Walk through my first move
The path here: prototypes, games, SaaS, commerce
  1. Start with something people can try.

    I rapidly prototyped new products at an industrial design firm for its owner, who later went on to found Boxabl.

  2. Bring the community into the build.

    I ran community and marketing for massively multiplayer games as social media and YouTube emerged. I drove large alpha, beta and prerelease testing programs, incorporating livestreaming before Twitch was Twitch.

  3. Help people get value from the product.

    At Small Improvements, I worked across conversion, self-serve onboarding and retention. Growing without a marketing budget meant working on what happened after someone arrived, as well as getting them there.

  4. Follow growth through to profit.

    At US Park Pass, I kept trying to make bidding respond to contribution margin: BeProfit, Triple Whale, Google Sheets, scripts and offline uploads.

    In February 2026, I began developing USPP peak-performance with Claude Code. It was an internal tool built on BigQuery and Google Cloud, with LLM analysis. It sent conversion restatements to Google Ads through its API, updating previously reported conversion values with the actual contribution margin value the individual order generated.

At Small Improvements, an HR software company, I was employee nine. I owned inbound sales, onboarding, training and rollout. During my four years there, the company grew from fewer than 100 to 650+ paying customers and from under $1 million to $7 million in annual recurring revenue. Those are company growth figures over my tenure, not results attributable to one person.

I co-founded and ran US Park Pass with a small team, reaching $8 million in annual sales at peak and shipping 500,000+ orders over the life of the business. I built the systems behind the marketing, storefront, fulfillment and shipping, including a 450,000-person email program contributing 25% of revenue.

MotherDuck’s Growth Marketing role brings those threads together: rapid prototyping, self-serve growth, and work that helps Marketing Ops and Sales act on evidence. That’s what excites me. I directed this build with agents helping develop the statistics, SQL and interface. I’m sharpening my experiment-design skills as we go, with the assumptions and evidence open to inspect.

One of my first questions: where would I put the next growth experiment? Start with history, weigh one useful offer, and leave with a test proposal and a next move for every result.

Invented account history, explicit what-if assumptions, and a workflow you can run in MotherDuck. The separate stack demo includes one real Clay enrichment.

My first move: find a play worth testing.

I’d start by making more of the demand we already have. Work backward from activation and qualified demand through our website and onboarding email: where do people get stuck, and what help could move them forward? Improving that path can make future external and paid campaigns more productive.

That’s why I’d inspect account and trial history in MotherDuck first. History helps choose where to test; a new experiment tells us whether the change helps. Walk through one onboarding example, change the assumptions, and see what I’d do next.

A synthetic historical sample. The what-if model is a planning exercise, not a measured campaign result.

Opening the historical sample…

Try the same question in your warehouse.

Give Marketing Ops the field map and read-only SQL. Replay the audience against your own history in MotherDuck, then use the returned counts to weigh the play and plan a test.

Your account data stays in your environment. This page does not accept customer-data uploads. Mapping and validation come before a usable result.

  1. Map the evidence. One account per row, with the time each fact became available.
  2. Run the replay. Inspect the included accounts, exclusions and mature historical outcomes.
  3. Bring the question to the team. Set the assumptions, choose a feasible test and name the next action.

The play has to leave the analysis.

A bounded stack demonstration

A decision only matters once it reaches the people running campaigns and working leads. This is the path a qualifying account would take from task evidence to a Sales review and back to the warehouse. Enrichment adds company facts. It can’t create intent.

  1. MotherDuckFind the task

    SQL picks accounts using only evidence available at the time.

  2. Policy checksCheck eligibility

    Check audience eligibility, dated evidence and suppression rules.

  3. ClayComplete the context

    Add public company facts that are missing.

  4. Sales → MotherDuckClose the loop

    Accept or reject with a reason; the outcome returns to the warehouse.

What actually ran: one real company enrichment, on a domain I own, with test intent I supplied. A test-queue review agent rejected it because real company fit, a team use case and an agreed next step were missing. No real SQA, no prospect messages, no campaign.

This earlier handoff used supplied fixture intent. The Jev review above is a separate rehearsal with its own statements and saved model calls.

Checking the native integration receipts…

Inspect integration receipts and costs

Bring your own agent.
Start with your own funnel.

The ranger, knight and wizard flee a fire-breathing dragon.

Take this first slice into your MotherDuck account. Use your agent to find the trial audience worth investigating, the gaps worth fixing, and the next test worth running.

Connect the tools below, then copy the history prompt to get started.

1. Connect the two tools

Duck Yeah supplies the templates. MotherDuck gives your agent access to your data. If either is already connected, verify its tools before adding it again.

Set up your agent

Claude Code: add each missing connection, then open /mcp and authenticate MotherDuck.

claude mcp add --transport http duck-yeah https://jamesdnichols.com/duck-yeah/mcp/
claude mcp add --transport http MotherDuck https://api.motherduck.com/mcp

Claude: find MotherDuck under Customize → Connectors. Add Duck Yeah as a custom connector using the endpoint above, where your plan allows it.

Codex: install the official MotherDuck plugin, start a new chat and verify database access. Add Duck Yeah as a remote HTTP MCP server in your client’s MCP settings.

For other clients and connection options, use MotherDuck’s current setup guide. For a database-enforced read-only connection, use its read-only token instructions. A client instruction to use SELECTs does not change database permissions.

Open the complete agent setup guide

Check which fields you’ll need
To find the audience
Account ID and trial start; company fit, email-program eligibility and first own-data query, with when each became available; plus the email-policy reference.
To measure later qualification
Qualification result and date, when it was recorded, and evidence that follow-up covered the full 28 days.
To compare segments
Optional team task and evaluation intent, with when they became available. Missing signals stay unknown.

If the records cannot reconstruct eligibility and fit at day 3, start with a data-gap report and a capture plan. Today’s account properties cannot fill in that history.

2. Replay your trial history

Start with the field map and gaps. Then compare who would have been included with what happened later, and give Ops and Sales a concrete next test.

The replay uses plain SQL without native AI calls. MotherDuck compute and your agent’s normal usage limits apply.

Read the prompt

Duck Yeah receives only your chosen analysis cutoff. Your schema, queries and account records stay in the tools you connect to your own environment.

Optional: have Jev prepare account reviews

Use this when reading account notes is the bottleneck. Begin with a small, mixed batch and measure whether the prepared review helps the person making the call.

Native Jev is a billed AI preview. It needs an eligible MotherDuck organization with AI functions enabled in a supported region. Check current availability and usage terms before inference.

A SELECT with prompt_jev makes model calls. It does not send emails or update your CRM. Read the review workflow guide.

Inspect the worked example and source files

To challenge the invented example first, ask your agent to call get_history_plan. That tool returns the saved demonstration; the history prompt above retrieves the reusable template for your data.

Botched rolls.
What I changed.

The first two versions worked technically, but asked too much of the reader. I kept the useful pieces and rebuilt around a decision Marketing Ops and Sales could use.

The knight and wizard mourn a fallen ranger while the dragon celebrates cheerfully.
The first Duck Yeah page, which asked which DuckDB problem should get the next useful demo.

Evidence without a clear next move.

“We didn’t make an outcome that had any meaningful value to any one particular user.”

My review of the first version.

I started with an evidence board: public research, fast queries and working integrations. I could inspect the information, but still couldn’t tell a growth operator which opportunity to pursue. I changed the brief: help someone choose a useful next move.

A method lesson before a useful opportunity.

Then I built an experiment lab. Readers could inspect the rules and judge four simulated results, but had to do too much interpretation before finding the point. I kept the analysis and moved the lab here.

What changed: the main walkthrough starts with account history, weighs a useful offer, and ends with what we would try next. The method supports that decision.

These were my reviews of the product, not measured campaign losses.

Inspect the earlier experiment lab

An archived exercise with four simulated endings, an 8,000-account plan and its original targeting assumptions. It shows the approach I moved away from; the walkthrough above contains the current onboarding play.

The experiment lab.

Checking the saved analysis
  1. 1 Check the plan
  2. 2 Read the result
  3. 3 Make the call
  4. 4 Hand it over

Opening the frozen protocol and saved query results…

My direction

I defined the business question, challenged what was useful, and made the target, success measure and limits explicit. I also pushed this page to explain what the evidence means for the people running campaigns and working leads. The technical method stays available to inspect.

The agents’ contribution

They helped model the scenarios, review the statistics, write the Python and SQL, build the interface and check the work. The protocol, source and execution receipts show what they did.

Built with Codex (Astra 6) and Claude Code (Opus 5.5), with parallel agents handling focused implementation and review.

The experience I bring

At Small Improvements, conversion, self-serve onboarding and retention were part of the same growth job. At US Park Pass, I kept following advertising results through to contribution margin. Here I’m applying both habits: follow trial activity into qualified demand, then give the team a useful next step.

My work is the bridge: connect the business question, the technical analysis and the team that acts on it. This demonstration shows that approach; its simulated outcomes are not past pipeline results.

Read the original authoring journey

The first version’s record is preserved, including its earlier assumptions and decisions.

Open the dated journey record

Do you know what you’d try next?

The first test of this page is whether it helped you identify a useful next move and understand how to investigate it.

Only anonymous interaction types and button feedback are recorded. Your decision text is not collected. Page activity is not activation, qualification, or revenue.

Let’s put this to work.

I’d love to bring this approach to MotherDuck. Let’s talk about the role and what we’d test first.

Let’s Get Quackin

Leave your name and email, and I’ll get back to you soon. A little context is welcome, too.

Your contact details

I’ll use these details to reply to you. This won’t sign you up for a newsletter.

The form is unavailable right now. You can email me directly below.

Prefer email? james@jamesdnichols.com. Or call or text if easier: (571) 205-8958.