Whitney Werner.
← Selected work 05 / PRODUCT DEVELOPMENT · CAMPAIGN OPERATIONS

Campaign Operations Platform

In about two months, I took a recurring giveaway process from an idea to a live application. I developed its drag-and-drop page builder, entry and consent rules, winner operations, reporting, and a Klaviyo API integration that reads regional lists and writes consented profiles and events.

React · TypeScript · Supabase · Klaviyo · Meta CAPI
3campaigns launched on the live platform~2months from idea to working product
INTERFACE STUDY

One campaign. A complete operating path.

Explore a simplified view of the decisions and safeguards behind a repeatable launch.

CAMPAIGN / WORKSPACEILLUSTRATIVE VIEW
VISUAL PAGE BUILDER

A branded page without code.

Choose a prebuilt template, arrange sections and widgets, and apply the campaign theme. The same workspace also controls the form, rules, prize, and schedule.

TEMPLATE LIBRARYChoose a starting pointSeasonal giveawayProduct featureADD A SECTIONCountdownTestimonialsEntry form
LANDING PAGE / PREVIEWBRAND THEME ✓
HERO SECTIONYour next campaign, built here.Image · headline · call to action
↕   Prize details↕   Countdown↕   Entry form
CONFIGURE→QUALIFY→SELECT→LEARN

Illustrative interface study with example content. It does not display live campaigns, entrant data, or the private operator dashboard.

The problem

Each giveaway had been its own page, spreadsheet, and manual follow-up process. That made recurring launches harder to operate consistently and left important questions unanswered: who was eligible, which rules they accepted, whether an entry needed review, how a winner was chosen, and which channels produced useful entries.

The team also paid $249 per month for Unbounce across multiple sites and users. It supplied landing-page building and integration options, but the giveaway-specific rules, regional routing, winner operations, and reporting still needed to work together. The goal was a reusable product that put those needs in one workspace.

My role

I took the product from idea to a live tool in roughly two months, designing and developing both the public campaign experience and private operator workspace. The work spans React and TypeScript interfaces, Supabase/PostgreSQL data structures and access rules, backend functions, integrations, and the operational details that make a recurring campaign manageable.

I built the visual page builder so nontechnical teammates could use editable templates, draggable sections and widgets, and campaign-controlled brand styling. Underneath that interface, each campaign remains a configurable record with its own lifecycle and more than 20 configuration views. A previous campaign can also be duplicated into a new draft, including a copy of its active rules, without mixing entrants or winner history.

What I built

01Custom visual page builder

I developed the drag-and-drop editor and prebuilt landing-page templates so teammates can arrange sections and widgets and apply campaign brand colors without writing code. I also built success-page and form builders, with AI-assisted page and form drafts for review and editing.

02Entry and consent model

Region-aware eligibility, separate consent records, timestamps, and the exact rules version give each entry context. Duplicate and velocity flags surface suspicious activity for review.

03Winner operations

A qualified entrant pool, randomized selection, backup winners, verification, awards, and redraw history turn selection into a traceable workflow instead of a spreadsheet decision.

04Klaviyo read/write integration

The application fetches available lists for each regional Klaviyo account, then writes consented entrant profiles to the selected list and posts entry and outcome events through the API. A sync-failure queue lets operators review and retry missed writes.

05Instant-win mechanics

Scratch-card and spin-wheel campaigns draw weighted prizes against regional inventory. Atomic award logic and idempotent replay prevent the same last prize code from being given to two entrants.

06Attribution and comparison

UTM and referral data, landing-page events, ad-spend logs, Meta Pixel and server-side CAPI events feed campaign reporting. Operators can review trends and compare campaigns by region and performance.

Engineering decisions

Keep the public and operator surfaces separate. Entrants can use campaign pages and submit information; the private workspace holds campaign administration, entrant review, winners, media, and reporting. Internal access is restricted to approved team members, with row-level rules protecting the underlying data.

Store the evidence with the event. Consent is attached to a timestamp and rules version. Winner selections are separate history records so a redraw or backup promotion has a visible trail. Campaign duplication copies configuration into a draft rather than mixing old and new entrants.

Make the email handoff operable. Region and campaign determine the Klaviyo account and list; entry, completion, win, and disqualification events carry useful context for later communication. Failed syncs appear in an operator queue for review and retry. Tracking also distinguishes an action a user self-confirms from a follow that the platform cannot verify.

The result

Three campaigns have launched on the live platform. Nontechnical teammates can create branded landing pages from templates and a drag-and-drop editor, then manage eligibility, entries, prizes, winners, email handoff, and reporting in one workspace. The platform replaced the team's $249-per-month Unbounce subscription, removing $2,988 in annualized subscription spend at the prior rate.

Entries carry consent and eligibility context, winner decisions leave a trail, and region-specific Klaviyo lists support email follow-up. The platform's campaign comparisons provide a way to learn from launches instead of starting each one from scratch. The subscription figure describes the removed vendor fee, not net savings after custom hosting and maintenance.

← Explore more work