Sreehas Sreejith
← All work
FixCykel cyclist app and Cykelworkshop mechanic app on two phones over a dark green background

Case study 01 · FixCykel & Cykelworkshop

Taking the phone calls out of bike repair.

Two apps, one service. FixCykel lets cyclists book a repair, approve a price and see when their bike is ready. Cykelworkshop lets mechanics run every job one-handed between two repairs. I designed, tested and launched both, solo, in twelve months.

Role
Founder, UX/UI designer, product owner
Timeline
12 months, idea to both app stores
Team
Me, AI-assisted tooling, two pilot workshops
Platforms
iOS, Android, web · Swedish + English
Status
Live in Uppsala, expanding

ProblemWorkshops lose hours to phone calls and paper notes. Cyclists wait without knowing when, or what they’ll pay.

What I didField research at real counters, two connected apps, and fixes shipped from pilot feedback, often the same day.

OutcomeLive on both stores. Walk-ins take the mechanic zero taps. First self-service customer within an hour.

This project is under NDA. Names, numbers and screens use a demo workshop and fake data. Happy to walk through the business model in an interview.

01 · The problem

Bike repair in Sweden still runs on phone calls, paper tags and memory.

It started in October 2025, while I was building a website for a local bike repair shop. Sitting in the workshop, I watched the phone ring nonstop, paper tags pile up, and the mechanic stop mid-repair to answer the same question again.

Cyclists have no idea when their bike is ready or what it will cost. Mechanics lose time answering the same questions with greasy hands. One Uppsala workshop takes after-hours drop-offs as a paper note in a plastic bag, pushed through the mail slot.

I set out to design something both sides would actually use during a busy spring season: a cyclist app that asks only what a mechanic needs, and a mechanic app that works one-handed between two repairs.

Independent workshops lose time and trust to phone calls and guesswork, while cyclists wait without knowing when or what they will pay. No tool on the market is built for a mechanic’s hands and a walk-in customer’s patience.

A Swedish bike workshop before the app: paper repair tags on every bike, a landline, a notebook of job notes, and a mechanic on the phone
The “before”, illustrated: every job is a paper tag, and every question is a phone call.
02 · The service

Two apps, one job: get the bike fixed without anyone picking up the phone.

Each side gets its own app because each side has a different job to do. The cyclist wants to know where is my bike. The mechanic wants to get to the next bike. One shared job record connects them.

For cyclists · FixCykel

Status is the product

  • Book a repair or drop in with a QR code, no install needed
  • Approve the mechanic’s price proposal in one tap
  • See where the bike is in the process, without calling
  • Get a proper digital receipt you can find again
A cyclist checks My jobs in FixCykel: her bike has moved from At the workshop to Ready to collect
No phone call needed: the timeline shows the bike is ready to collect, with the price already agreed.
For mechanics · Cykelworkshop

Thumb-first, glove-tolerant

  • Inbox → assignments → done, nothing more
  • Every primary action in a bottom sheet, 40 px+ targets
  • Walk-in jobs arrive by themselves from the counter QR
  • Set or change the price with the customer kept in the loop
A mechanic with greasy hands holds a phone showing a Cykelworkshop job card with a large green Done, notify the customer button
One job, one screen: status, customer, problem and photos, with the next action under the thumb.
03 · Research

I didn’t run a study. I stood at the counter and watched.

From October 2025 to January 2026 I interviewed and observed mechanics in five bike workshops around Uppsala, then kept testing in the field: watching mechanics take walk-ins, listening to what cyclists ask, and shipping changes the same week. Five things surprised me.

  1. Mechanics never sit down.Anything needing two hands or more than three taps gets skipped. The app has to work like a stamp, not a form.
  2. Silence is scarier than price.Not knowing whether the bike was ready worried cyclists most. Status beats features.
  3. Walk-ins are the real volume.A booking app that only handles pre-booked jobs misses the customer already at the counter.
  4. University towns are international.Around a third of walk-ins at one shop were students with non-Swedish phone numbers.
  5. Shops feared losing customers.Mechanics worried the app would show their customers other workshops. That fear shaped a whole feature.
Whiteboard with a sitemap for the cyclist and mechanic flows, surrounded by sticky notes on booking, workflow and pain points
Early mapping: one sitemap, two flows, and the pain points that decided what came first.
Affinity map pairing problems such as dirty hands and unclear next steps with solutions such as frictionless verification and live status notifications
Problems paired with responses, from “dirty hands” to “unclear next steps”.
04 · How might we

Six questions narrowed a year of ideas to three bets.

For the mechanic
  • HMW register a walk-in without putting down the tool in their hand?
  • HMW give mechanics control over price without making the customer wait?
For the cyclist
  • HMW tell a cyclist exactly where their bike is, without anyone calling?
  • HMW make a Swedish app welcoming to someone who arrived last week?
For both
  • HMW keep the marketplace open while making loyalty effortless?
  • HMW get a first-time customer from QR code to confirmed job in under a minute, with no install?
Bet 1

Design for the walk-in first, the pre-booking second.

Bet 2

Status updates are the product. The booking form is the price of entry.

Bet 3

Never lock the cyclist in. Win loyalty with a better way back.

05 · Challenges

The product that shipped is mostly the product that broke in a real shop and got fixed.

A · The walk-in problem

A customer at the counter, a wheel in the stand

Observed: version one assumed every job started as a booking. In the shop, most started as a person walking in, while the mechanic had both hands busy.

Decided: flip the entry point. A QR code at the counter opens a short web form on the customer’s own phone, and the job appears in Cykelworkshop without the mechanic touching anything.

Changed: the mechanic’s part of a walk-in went from about two minutes of typing to zero. The first real customer used it within an hour of the sign going up.

A customer scans the Lämna in din cykel här QR sign on a workshop counter while the mechanic keeps working on a wheel behind
The customer scans, the mechanic keeps working. The job arrives in Cykelworkshop on its own.
FixCykel home screen on a workbench, with a Book again at Demo verkstad card at the top
“Your workshop” comes first, one tap to book again. Every other workshop is still one search away.
B · The decision I talk about most

Loyalty without lock-in

Observed: two workshops asked if the app could hide other shops from their customers. The fear was real, but restricting cyclists would make the app worse for the people it serves.

Decided: keep the marketplace open and make the way back effortless. The last workshop a cyclist used becomes “your workshop”: pre-selected, one tap to book again, and shown to the mechanic as a returning customer.

Changed: mechanics got the reassurance they asked for, and cyclists kept their freedom.

C · Asking for the same thing twice

“Didn’t I just type that?”

Observed: a new customer typed her name and number at the counter, then the app asked her to create an account and type both again. She laughed, the mechanic apologised, and I felt it in my stomach.

Decided: what a person has told us travels with them. Verification should feel like a confirmation, not a second form.

Changed: the code is sent the moment they press send, and the only next step is “confirm your number”.

At the counter, a customer’s phone shows the drop-off form already filled in and a Confirm your number sheet asking for a 6-digit code
Name and number are already there. The only new step is the code.
A student outside a library picks a country code from a list that starts with Sweden, Finland, Norway and Denmark
Sweden and its neighbours first, then the rest of the world. One phone field, used everywhere in both apps.
D · Foreign numbers, silently rejected

Welcoming someone who arrived last week

Observed: a workshop near the university said international students couldn’t sign up. The phone field assumed Sweden and rejected everything else with a vague error.

Decided: one phone component everywhere, with a country selector that puts Sweden and its neighbours first and accepts numbers from anywhere. The apps also follow the phone’s language: Swedish or English.

Changed: a whole group of customers went from “can’t use it” to “works like every other app”, within a week of the feedback.

E · An error that spans two apps

The wrong number on a walk-in

Observed: when a customer mistyped their number at the counter, the job could land on a stranger’s phone, and neither side had a way to say so.

Decided: design the recovery on both sides. The cyclist gets a clear “Not my bike?” way out. The mechanic sees the job flagged as a wrong number, with a one-tap way to correct it.

Changed: a silent failure became a visible, fixable state, without a phone call.

FixCykel job card with a Not my bike? link under the Navigate to the workshop button
Cykelworkshop banner: Fel telefonnummer? The person who got this job in FixCykel marked it as not their bike. Check the number with the customer and correct it here. Button: Rätta nummer
Left: the cyclist’s way out in FixCykel. Right: the mechanic sees what happened and fixes it with one tap on “Rätta nummer” (correct the number).
Before → after
Redo att rulla tryggt igen?För en trygg och smidig cykeltur. Home greeting: a stiff question became a warm, natural phrase. Ger dig ett mer exakt prisSå får du ett mer exakt pris Booking hint: from “gives you” to “that way you get”, how a Swede would say it. Du har inga aktiva uppdrag just nuDu har inga aktiva ärenden just nu “Uppdrag” is the mechanic’s word. Cyclists now get their own: “ärenden”.
F · Copy that sounded translated

Good Swedish, not just correct Swedish

Observed: good Swedish for a non-native speaker isn’t the same as good Swedish. Native speakers flagged phrases that were correct but stiff.

Decided: every string a cyclist reads on the way to paying gets native review, and the cyclist’s words stay separate from the mechanic’s.

Changed: eight strings in the first round, and the cyclist side now reads like it was written in Sweden.

06 · From concept to launch

From a shop visit to two live apps.

  1. Oct 2025Spark

    Spotted the problem while building a local bike shop’s website.

  2. Oct 2025 – Jan 2026Research

    Interviews and observation in five bike workshops around Uppsala.

  3. Feb 2026Design

    Flows, screens and the design system for both apps in Figma.

  4. May 2026Web build

    Built the web app with AI-assisted tools and tested it in the field.

  5. Aug 2026Native apps

    Wrapped both apps for iOS and Android.

  6. Sept 2026Pilot & launch

    Two Uppsala workshops onboarded as pilots. Live on the App Store, Google Play and web, in Swedish and English.

  7. NowGrow

    Visiting independent workshops across Uppsala to learn how jobs come in today.

07 · Outcomes

Early, real, and under NDA. Here’s what I can share.

2 apps

Live on the App Store, Google Play and web within twelve months of the first sketch, as a solo, non-engineering founder.

< 1 hr

From the QR sign going up to the first self-service walk-in customer.

0 taps

Mechanic effort per walk-in, down from typing a full form.

Same day

From pilot feedback to shipped fix, most of the time. The number I’m proudest of.

08 · What I learned

Designing for a shop counter is nothing like designing at a desk.

The second time a user has to type the same thing is the moment you lose them. And saying no to a customer’s request can be the best product decision of the year, if you replace it with something they need more.

My role, honestly: I owned research, UX, UI, copy, testing and go-to-market, and used AI-assisted development tools to build and iterate the product myself. That meant I could put design decisions in front of real mechanics quickly, instead of waiting on a build cycle.

Built with: Figma for design, AI-assisted development for the build, and native wrappers for iOS and Android.