Redesigning a circular fashion platform's core flows to support two live brand campaigns and 2,500+ takebacks across 80+ stores

Circular fashion SaaS · Okret · Oct 2025–Present · Consumer mobile app + B2B portal · Sole designer · ~250 hours across 8 months

The Torfs campaign launched in September 2025 across 80+ stores in Belgium. Customers were invited to register their used clothing, footwear, and accessories through the Okret app, bring items to a store, scan a QR sticker, and receive a digital voucher. The mechanic was simple.

The execution wasn't. Support volume spiked almost immediately. Customers were registering products and stopping. Vouchers weren't being issued. Store staff were fielding questions the app should have answered. The campaign was live, the stores were open, and the flow was broken.

I joined mid-campaign as the sole designer. What I found wasn't a missing button or a broken screen. It was a platform built for one context, deployed in a fundamentally different one. Nobody had redesigned the architecture to match.

Built for exploration. Deployed for a task.

The Okret platform was originally designed for self-directed wardrobe management across four circular flows: takeback (return item to store and get a voucher), repair, resell, and recycle. The intended user would build a digital wardrobe over time, then decide what to do with each item.

The IA reflected that model: add a product, save it to your wardrobe, discover available actions from there.

For the Torfs campaign which only revolved around takeback, therefore repair, resell, and recycle were disabled. One flow remained. But the IA stayed the same.

First-time users arriving in-store specifically to get a voucher would register their items, land in their wardrobe, and find no clear next step. The platform was telling users they were done when they were halfway through.

The "Take action" chip on each product row was the only affordance: per item, not per goal. Multiselect mode existed but wasn't discoverable. The bottom navigation showed Takebacks, Resell, Repair, and Remake as equally weighted options, none contextually surfaced for the campaign context.

When you can't rebuild the architecture, make the intent visible

Mid-campaign, a full IA restructure wasn't possible. What was possible was making the next action impossible to miss.

I introduced a success popup that appears immediately after a product is saved. The products just registered are pre-selected. The primary CTA is "create a takeback," leading to the next step of choosing the drop-off store in the takeback flow. The secondary action allows the user to "+ add another product".

The intent is declared at the moment of completion, not buried in a wardrobe the user has to navigate back into.

The selection logic was a deliberate decision. The original design defaulted to empty selection, requiring users to manually pick items for their takeback package. The Torfs user population was predominantly first-time and task-oriented: they came to complete one thing and get a voucher. Everything registered in one session was almost certainly going into the same package. Defaulting to all-selected respects that mental model. Opt-out is lower friction than opt-in when the dominant use case is "take all of these."

I also added a floating takeback button to the wardrobe for returning users adding items across multiple sessions. It's always visible and activates once a selection is made.

The task was already lengthy. Customers were scanning products at home, then completing the QR sticker step in-store. Every unnecessary click in between was a drop-off risk.

The data revealed a second problem the interface had created

The Torfs campaign generated something most design projects don't: clean operational data with a direct line back to interface decisions.

When QC teams sorted the returned items, the condition assessments didn't match what customers had reported in the app.

Customers reported 4.4% of items as Worn out. QC found 28.2%, a sixfold gap.

Nearly a third of items consumers considered to be in a good shape were actually decent or worn out.

The cause was visible in the original product registration flow: condition was a bare dropdown. A single field, no descriptions, no calibration guidance. A consumer assessing a worn pair of jeans had no anchor for what any label meant relative to what a trained QC sorter would find. The result was increased QC workload: sorters spending time correcting miscalibrated assessments on items that consumers had already mentally categorized as having reuse value.

This wasn't a user education problem. It was a design decision with a measurable operational consequence.

The Woody campaign, launching in April 2026, was the opportunity to fix it properly.

Restructuring the flow from the entry point down

For Woody I owned the full redesign. The brief was a repair campaign: customers could book a repair for their Woody pyjamas, pay upfront, drop items at a store, and collect them when done. But the underlying problem was the same one Torfs had exposed: a platform architecture that didn't match how first-time, task-oriented users actually moved through it.

The restructure started at the entry point. Scanning a product is now the universal action: a persistent center button in the bottom navigation opens a full-screen camera. The flow begins with the physical object, not with a form.

Product registration became a three-step wizard. Photos come first, before brand, category, or condition. This sequencing was deliberate: the act of photographing forces the user to actually look at the item, which improves condition assessment accuracy before they reach the condition field. Step two captures product details through direct user input: brand, main category, product type. Step three is optional enrichment: audience, gender, size, season, colour.

Condition assessment was rebuilt from a dropdown into a radio list with behavioral descriptions:

Each level is now a decision the user makes against a concrete description, not a label they interpret without reference.

Registration ends the way the Torfs fix began: with intent made explicit. A success popup lists everything just registered, each item removable, above a single inline field: "these items are for," with the active flow shown and a dropdown to change it. The dropdown isn't campaign plumbing. It's the platform's flow selector: takeback, repair, and plain wardrobe save sit as peer options today, and resell, remake, and recycle slot into the same control as those modules come online.

The primary CTA adapts to the selected flow: "choose store" for a takeback, "add repair details" for a repair, a simple confirmation for a wardrobe save. Choosing wardrobe ends the session with the items saved.

The same intent-first logic covers adding items mid-flow. Users already inside a request get a bottom sheet with two paths, add from wardrobe or scan new: the intent is settled, only the sourcing is in question.

Two campaigns. Real data. A platform that got better between them.

Torfs campaign, Sep 2025:

Woody repair campaign, Apr–Jun 2026: