Bike Storage System for the City of Burnaby
Project impact
20+ daily sessions per location during peak cycling months.
20+ daily sessions per location
Overview
Commissioned by the City of Burnaby, this project delivered a secure, easy-to-use digital bike storage system deployed across libraries and civic centres.
The system supports daily commuting and short-term storage while balancing accessibility across rider archetypes and clarity across both digital and physical touchpoints.
Team
1 Product Manager, 1 UX Designer, 4 Developers, 1 QA Engineer
Duration
6 months
Defining user
Defining user archetypes
Rather than relying on fictional personas, we framed users through behavioral archetypes to reflect how people actually interact with the system in real environments.
I bike to work most days and need somewhere safe and easy to access during rush hour.

60%+
The Everyday Commuter
Observation
Rides regularly, usually to work or school.
Design Decision
Given the need for quick, reliable daily access, I designed an intuitive interface with keyless entry and real-time availability updates.
I don’t ride every day, but when the weather’s nice, I’ll bike to the park or explore nearby trails.

25%+
The Recreational Rider
Observation
Rides occasionally for leisure and exploration.
Design Decision
Given the occasional, weather-dependent use, I designed flexible access flows that minimize check-ins and long-term commitments.
I bike to grab coffee or run errands, and also take transit, so having a safe spot to leave my bike is essential.

15%+
The Casual City Rider
Observation
Uses a bike for short trips, errands, or combined transit rides.
Design Decision
Given the short trips and transit use, I designed location-aware features with quick access to the nearest locations.
Core design decisions
Core design decisions driven by user archetypes
access control
Multi-modal access through app and NFC card
An optional NFC key card supports users who prefer not to rely on smartphones, allowing locker access with a simple tap. This hybrid model improves inclusivity and adds reliability when phones are unavailable.
Unlock your locker with the app or with a quick NFC tap. Both provide the same access and locker availability status.
hardware feedback
Clarifying locker status at a glance
Lockers used colour-coded LED lights to show status, but hardware only supported RGB. On-site testing during peak biking season showed yellow was hard to see in sunlight, causing confusion. We removed yellow and refined on-site indicators to improve visibility and reduce user errors.
Before
Available
Reserved
Occupied
Error
After
Available
Reserved
Unavailable
To maintain consistency, I collaborated with hardware and backend teams to synchronize light indicators with real-time app status, ensuring a seamless and accurate experience across physical and digital touchpoints.
Refined the colour system based on real-world testing to improve clarity in outdoor environments.
Post-launch
Post-launch insights and iteration
After launch, real-world usage and support data surfaced gaps that were not fully visible during initial design, prompting targeted refinements to the first-time experience.
ONBOARDING INSIGHTS
Support inquiries revealed a gap in first-time onboarding
Post-launch testing revealed a spike in support inquiries from first-time users, despite the app’s simple core functionality.

I downloaded the app, but I wasn’t sure what to do next. Do I just show up at the locker? How do I unlock it?
Users lacked a clear mental model of the reservation and unlock flow, which led to hesitation and repeated support questions.
FIRST-TIME FLOW
Guiding users through their first parking session
To reduce uncertainty during first-time use, the onboarding prioritizes only the most critical information users need to successfully start parking. Rather than overwhelming them with features, the focus is on setting clear expectations and helping users understand what is required before arriving at a locker.
Users are informed that location services must be enabled in order to use the app and discover nearby bike lockers.
Users are guided on how to start a parking session by selecting a location.
Users are reassured that they can head directly to their selected locker to park without additional steps.
This small addition reduced confusion, lowered support volume by approximately 20–30%, and helped users feel more confident using the system from the beginning.
Bridging the first-time user gap by providing clear guidance that helps users understand and use the system with confidence from the start.
Preparing the system
Preparing the system to scale
As adoption grew and locker networks expanded, we began exploring how the system could scale while remaining intuitive in denser and more complex environments.
From lists to maps
As more locker locations were added across the city, simple lists became harder to scan and compare.
We began exploring map-based discovery to help users quickly understand proximity, availability, and location context at a glance.
This shift prioritized spatial understanding over linear browsing, making it easier for users to decide where to park as the network grew.
Designing for on-site wayfinding
Scaling was not only a digital challenge. As locker installations expanded in size and density, finding the correct unit on site became increasingly difficult, especially in busy public spaces.
To reduce hesitation and searching behavior, we introduced a visual wayfinding cue that helped users quickly identify their assigned locker, even from a distance.
Unexpected learnings
Unexpected learnings from real-world use
Beyond planned use cases, real-world deployment revealed unexpected behaviors and edge cases that reshaped how we thought about responsibility, access, and resilience.

When a locker became home
We once found a homeless person using a locker for storage. The incident made us reflect on access control and raise awareness among the team. We later added operating hours to prevent improper use during off-hours.
The student hacker
We once got a message from a student who claimed to have hacked our system and could unlock any locker remotely. It raised real security concerns, so we ran an internal check and reminded them that hacking is illegal. The incident pushed us to strengthen our security and stay more alert moving forward.

Continuing to
Continuing to improve
After launch, we monitored how users interacted with the system to identify opportunities to refine real-world behaviours. One recurring pattern emerged around how the “Unlock Again” action was being used.
Issue 🧩
Unlock Again misused to end sessions
Description
Sessions were not properly ended, causing lockers to remain marked as occupied and reducing availability for other users.
Solution ✅
Unlock Again was limited to the first 5 minutes to prevent sessions from being ended incorrectly.
This lets users fix accidental closures while preventing sessions from being ended incorrectly.
As the system evolves, ongoing user behavior and support data continue to inform how we refine safeguards and reduce unintended misuse over time.✨











