← All workCase study 03 · Marketplace

Letting vendors run their own campaigns

Crossworker is a promotions platform with two sides: a mobile app where shoppers find offers, and a dashboard where shops publish them. When I joined, vendors emailed their campaigns and an admin retyped everything by hand. My job was to design both sides and take the admin out of the middle.

Campaign builder
4 steps
Vendor and admin views
1 card
Client
Crossworker
Role
Freelance Product Designer
Timeline
Mar – Jul 2024
Platform
Vendor web dashboard and shopper app
Crossworker campaign builder, step 2 of 4, with form fields on the left and a live phone preview on the right

Step 2, offer and media. The error message tells the vendor what to add and why, instead of just “invalid”.

I no longer have access to the original Figma files, so I recreated the key screens for this case study. The flows and structure are the same as what I designed; store names and numbers are sample data.

A campaign builder vendors can use on their own

I broke campaign creation into four short steps: details, offer and media, schedule, review. The part I’m happiest with is the live phone preview. Vendors see exactly what shoppers will see while they type, so most mistakes get caught before anyone reviews them.

One campaign card, two roles

Instead of a vendor screen and an admin screen, I designed one campaign card. Vendors see Submit for review or Fix and resubmit. Admins see the same card with Approve and Request changes.

Admins asked for their own console; I argued for one shared card because it halved the engineering work and the two views could never disagree.

The same campaign card shown to a vendor and to an admin, with different actions for each
One Figma component with variants, so engineering built it once.

Navigation with room to grow

I organised the dashboard around what vendors manage (campaigns, promotions, performance) and kept places for Orders, Inventory and Checkout from day one, so they could slot in later without a redesign.

Vendor campaigns list with status filters and reserved navigation items for orders, inventory and checkout
Status filters match the card statuses, so vendors always know what’s waiting on them.
Two phone screens from the shopper app: an offer feed and an offer detail with a coupon code
The shopper side: offers near you, a clear end date, and the code in one tap.