ALL WORK

CASE STUDY · LINEN RENTAL OPERATIONS · JANUARY – MARCH 2023

A prototype that sold the product before it existed

LinenSpot hired me to design the app that would deliver the business model they had in mind. But we ended up testing and iterating on the business model, operations model and the user interface in parallel.

ROLE
Product Lead
CLIENT
linenspot.net
TIMEFRAME
Dec 2022 – Dec 2023
OUTCOME
Expanded to the first franchise

MY ROLE

PRODUCT DESIGNBUSINESS MODELCUSTOMER RESEARCH (N=8)INTERVIEW SCRIPT + HANDOVERLOW / MID-FI PROTOTYPINGCONCEPT TESTINGPRICE TESTING SUPPORT

01 / THE BRIEF

Test a model, then build the app for it

Ervin and Mauro started the company in 2021, after noticing that smaller hotels and hostels either could not hire an industrial laundry, or could not stand the quality. Two years in they had customers and a van route managed via spreadsheet.

The engagement had two goals:
1. test whether the business model held, and
2. design a web app that would simplify operations, allow scaling, and digitise the process.

USER JOURNEY MAP · FOUR ROLES IN THE SYSTEM
User journey map of one linen exchange across four roles Legend of the four roles: host, driver, laundry, operations

02 / TESTING THE MODEL

The pricing test that changed the core of the business model

The first stock model was linen packages. A fixed bundle per booking, per room. Rental cost per item and per washing per item. It's what the existing clients accepted.

With founders we built a few pricing calculator prototypes in Excel. And then evolved them into a Figma prototype that included a calculator. It captured their unit capacity, their utilization and allowed comparison of the cost of the service with their existing costs.

STEP 5 OF ONBOARDING · WHAT THE HOST WAS SHOWN
Onboarding cost calculator comparing the service with existing costs
The hand-kept spreadsheet a customer used to track stock

“The more dead days I have, the more likely I am to buy my own and not use you. Even if you're 50% cheaper than the laundry,...”

Since linen needs depends on who turns up, how long they stay, and what got used as well as seasonality, we needed to make the business model to allow for that.

03 / SECOND PLOT TWIST

Client's stock in a spreadsheet as inspiration

The other input arrived in the same stretch of interviews. An existing customer was tracking their stock and re-orders in a spreadsheet they had built themselves, by hand, and had been for a long time.

So we took the spreadsheet, incorporated it in the UI and scheduled another interview.

Stock overview screen built from the customer's spreadsheet

What you should have, what you actually have, and the gap checked by hand.

“Bravo. That's it. That's the sweet spot. That's genius. I give you the data and you run the game.”

04 / THE FLOW THAT CLICKED

A Figma prototype that landed a franchise partner

The business model was validated and customer interest in the system proved. So the team worked on exploring partners. They showed the interactive Figma prototype and got an immediate interest for the first potential franchise partner.

The order screen of the LinenSpot prototype, with numbered callouts
  1. Repeating delivery slots in the interface

    Each delivery day carries the delivery details, but the host decides if they want anything delivered or not.

  2. Simple editing

    Just edit what needs replacing. What was reported as torn or already arrived stained is marked separately.

  3. System calculates the delivery amounts

    How much clean comes back, is also dependant on potential stock decreases and reported items from last time.

  4. Totals sit with the action

    Nice overview of the order. Dirty back, reported, clean in, washing cost and the stock management in one place.

REBUILT FROM THE ORIGINAL FLOW · SEVEN STATES THE HOST CAN BE IN
The seven delivery-day states a host can be in State model legend

Seven states, and the host can change a number in two of them. That is what the reframe actually bought: not fewer screens, but fewer places where a host can be wrong.

05 / STOCK MANAGEMENT

Managing seasonality

Users can decrease their stock and it will reflect on the next delivery.

Editing rented stock inside an order

And every so often the client can check if they have everything they're supposed to have - or report things missing.

06 / REPORTING LOST ITEMS

Things get lost

To protect the assets a deposit was put in place before the renting on the linen starts.

Deposit step shown at the end of onboarding, with numbered callouts
  1. Clear total and the next steps

    Asked before a single sheet has arrived. It is the last screen of onboarding and the easiest place to lose someone.

  2. Preview of the costs

    Making it easy to check individual item cost of replacement if it gets lost.

  3. Allowing for payment preference

    Making the payment options clear

  4. And the tax treatment is unsettled

    Opening the availability to individuals and other regions.

And every so often the client can check if they have everything they're supposed to have - or report things missing.

The stock count flow with the difference priced, with numbered callouts
  1. The count starts empty

    So they can cross check their stock with the system status.

  2. The difference is priced on submission

    Three missing small towels reads 31,35 € on the line, before anything is confirmed. The host sees the consequence at the moment they enter the number that causes it.

  3. It’s a new charge

    The deposit stays as is and covers replacement value. You get the missing sheets on the next delivery.

  4. Don’t need as much?

    Lower the stock amount to affect your next delivery.

07 / WHAT I DO DIFFERENTLY

Look for the folk system first

I spent the first weeks designing a stock management and ordering, while the answer had been sitting in customers' spreadsheets the whole time.


Participant surnames, per-item rental pricing and the internal margin model are withheld. Everything else is as it happened. Quotes are translated from Slovenian.

BACK TO ALL WORK