8 minB2CCase StudyMobile2023

RainGuard: designing an urban umbrella rental service

A mobile experience for finding, renting, and returning a nearby umbrella when the weather changes unexpectedly.

Product overview

RainGuard is a mobile umbrella rental service that helps people quickly find an umbrella nearby and continue their day when the weather changes unexpectedly.

The idea is simple: there is no need to buy an umbrella, carry one just in case, or search for one at the last minute. Users can pick one up at the nearest rental station, keep it for as long as needed, and return it when the rain stops.

Context

In St. Petersburg, the weather can change within minutes. A dry morning can turn into heavy rain by the afternoon, catching people on their way to a meeting, during a walk, or after work.

In that moment, people do not want to search for a store, buy yet another umbrella, or wait for a taxi at surge pricing. They need a fast, clear option nearby: open the app, find the closest rental station, confirm that an umbrella is available, and see how quickly they can reach it.

The project therefore required more than a rental interface. I needed to design a short, reassuring flow for a real urban situation in which users may be rushing, getting wet, and trying to return to their plans as quickly as possible.

Research

Because I was designing the product from the ground up, research provided the foundation for the experience. I needed to understand users' real-world contexts, expectations, and barriers.

Target audience

During research, I identified four primary user groups that could benefit from umbrella rental in different situations:

Tourists who do not want to pack an umbrella or buy one for only a few rainy hours.
City residents who left their umbrella at home or did not bring one because the morning weather looked clear.
Users who care not only about staying dry, but also about how the umbrella looks.
Office workers commuting to work or a meeting who do not want to arrive soaked.

Interviews

To evaluate the hypotheses, I interviewed 6 people from different target audience segments.

Before the interviews, I prepared a concise discussion guide with respondent groups, core topics, and questions focused on actual experience rather than reactions to the concept. I wanted to understand when people found themselves without an umbrella, how they handled the situation today, and what might make them hesitate to rent one.

The conversations focused on everyday situations: how often people were caught in the rain without an umbrella, what they did in that moment, what frustrated them about current alternatives, and under what conditions they would consider renting an umbrella.

The interviews showed that the problem occurred in several contexts. Some people forgot their umbrella at home or at work, some did not want to buy one while traveling, and others cared not only about staying dry, but also about choosing an umbrella that looked good during a walk or in photos.

The key takeaway was that users needed to find a nearby umbrella quickly, understand the price upfront, and feel confident that returning it would be convenient.

Hypotheses

  • QR code scanning would make umbrella pickup faster because many users need shelter from the rain as quickly as possible.
  • Allowing multiple umbrellas on one account would support families and groups when not everyone can download the app on the spot.
  • A map-based home screen would help users find the nearest station and reserve an umbrella faster because quick access is their primary goal.
  • Umbrella filters would help users find the right option when appearance matters as much as staying dry.
  • Flexible per-minute, hourly, and day rates would support different rental durations, from a 10-minute walk to a full day.

JTBD

  • When I am commuting or heading somewhere and get caught in the rain, I want to find a quick way to stay dry so that I arrive on time without getting soaked.
  • When I am out for a walk and it starts raining, I want to take good photos and avoid getting sick so that I can still enjoy the walk.
  • When I am visiting another city and get caught in the rain, I want to quickly find shelter or an umbrella so that the weather does not ruin my trip.
  • When I am walking with family or friends and it starts raining, I want to quickly find shelter or umbrellas for everyone so that we can continue our walk.

Design

User flow

I mapped the complete user flow to identify key decision points and account for the states the product would need to support before moving into detailed design.

Wireframes

Based on the user flow, I created wireframes for the key screens to validate the scenario structure, placement of primary actions, and navigation logic before developing the visual design.

Typography and color

This section presents the project's core visual foundations: the typeface, primary colors, and accent color used for interface actions.

Solution

Sign-in options

The first-time sign-in experience needed to be fast because users might open the app while already standing in the rain. I included multiple sign-in methods using popular services or a phone number. Phone sign-in remains a universal option without forcing everyone through the same path.

For tourists and users from other countries, the phone flow supports country selection and international number formats.

Map-based home screen

The home screen centers on a map because the user's primary task is to understand where they can pick up an umbrella. The map shows rental stations, umbrella availability, and the user's location. Selecting a station reveals directions and an estimated walking time.

When a user is already near a station, the primary CTA takes them directly to QR code scanning. This shortens the path from problem to action: instead of searching through a menu, users immediately see the nearest solution.

Quick rental via QR code

The primary rental flow begins by scanning the QR code on an umbrella. This links the user to the specific umbrella in front of them without requiring them to find it in a list.

If the camera is unavailable or the QR code cannot be read, users can enter the umbrella code manually. This prevents a technical issue from blocking the rental.

Pricing and rental terms

After selecting an umbrella, users choose a rate: per minute, per hour, for several hours, or for the full day. Before confirmation, the app presents the essential terms, including price, deposit, billing rules, eligible return points, and what the umbrella's status indicator should display.

The goal is to provide enough information for a confident decision without overwhelming users with legal copy.

Active rental

Once a rental begins, users see the active umbrella, its ID, the selected rate, elapsed time, and current cost. The same screen provides help if something goes wrong and an action to end the rental.

When multiple umbrellas are active, each appears on a separate card. This makes it clear which umbrellas are in use, how much each one costs, and which still need to be returned.

Umbrella reservation

Users who have not yet reached a rental station can reserve an umbrella for a limited time. A reservation addresses a key concern: no one wants to walk through the rain only to find that the last umbrella has already been taken. After booking, the app displays a timer, directions, and the status of the selected umbrella.

Reservations should be brief and free to avoid holding inventory for too long while giving users enough time to reach the station.

Renting multiple umbrellas

For families and groups, one user can rent multiple umbrellas from a single account. This supports situations in which someone is looking after children, parents, a partner, or a friend and avoids requiring everyone to set up the app separately in the rain.

Active umbrellas appear as separate cards. Users can end all rentals at once or select a specific umbrella when only part of the group has returned theirs.

Filters and umbrella selection

In the primary scenario, users need any available umbrella nearby. Some users, however, care about attributes such as color, appearance, size, or type.

Filters help users find a suitable umbrella and show only the stations where it is available. To keep the core flow fast, filters remain optional rather than becoming a required step.

Returning an umbrella

The return flow is one of the most sensitive parts of the experience because users want charges to stop and need confidence that the rental has ended correctly.

Users first select “End rental,” after which the app explains the remaining steps: be at a return point, insert the umbrella into an available slot, and wait for confirmation. Once the timer stops, the app clearly states that no additional time will be charged, allowing users to complete the return without rushing.

If anything goes wrong, a video guide and support are available from the same screen.

Errors, payments, and support

I also designed for situations in which a rental does not go as planned.

If a payment fails, the app displays the outstanding balance and explains that core functionality is temporarily limited until payment is completed. Users can see the amount, the reason, and the action required to restore access.

If a return fails, the app provides specific next steps rather than a generic error: check the station, confirm the correct slot, watch the video guide, or contact support.

If an umbrella is damaged, users can report it quickly from Help or the active rental screen.

Profile and rental history

In Profile, users can manage their contact information, payment methods, and other settings.

Rental history provides a record of previous charges, rental duration, and cost.

Outcome

For this educational project, I designed an umbrella rental service for St. Petersburg residents and visitors that helps people respond quickly to unexpected rain without changing their plans.

The primary focus was a simple, easy-to-understand flow: find an umbrella nearby, pick it up with minimal effort, and return it confidently after use.

Through interviews, I explored users' real-world situations and translated them into JTBD to define the core needs the service should address.

If this were a real product, I would begin with hallway usability testing and then evaluate the key flows using an interactive prototype: how quickly users understand the service, how confidently they complete the rental and return flows, and where uncertainty arises. These findings would guide further iteration before launch.

After launch, I would track rental conversion, QR scan success, return completion, support requests, and repeat rentals. These metrics would show where the experience performs reliably and where it needs improvement.