Case 04 · dopas.dp.ua · 2020

dopas.dp.ua

Designed from zero — platform launched and generating revenue.

Role
UX Designer — research, flows, prototyping
Platform
Web platform
Year
2020
dopas.dp.ua project overview
01

Problem & Context

Before dopas.dp.ua, bus tickets in Dnipro were sold exclusively offline — at ticket offices and directly from drivers.

Problem

For a city with diverse ridership spanning all age groups, this meant queues, cash dependency, and no record of purchase.

The challenge

Build an online ticketing platform from zero that works for everyone — from teenagers booking on a phone to elderly passengers unfamiliar with digital services.

02

Roadmap

  1. 1.0

    Market Analysis

    Audited existing ticketing platforms in Ukraine and nearby markets.

    Competitive matrix
  2. 2.0

    Wireframes & Lo-fi

    Mapped core user flows — search, seat selection, checkout, ticket storage.

    User flow · Lo-fi wireframes
  3. 3.0

    Usability Study

    Tested lo-fi prototype with users across age groups.

    Usability report
  4. 4.0

    Mockups & Hi-fi

    Translated validated flows into high-fidelity screens.

    Hi-fi prototype
  5. 5.0

    Testing & Iterating

    Refined edge cases — returns, errors, empty states.

    Iteration log
  6. 6.0

    Hand-off

    Full specs, annotations, developer handoff.

    Figma handoff
03

Market analysis

01

Direct competitive audit

Reviewed 6 Ukrainian and regional ticketing platforms — Busfor and Infobus as direct competitors, Ukrzaliznytsia as the rail alternative travellers weigh against a bus.

6 platformsUX auditheuristic review
02

Comparative analysis

Compared booking flows across competitors — search, seat selection, payment, post-purchase experience.

flow comparisonfriction mappingbenchmarking
03

Key insight

Most platforms forced 7+ steps before purchase. None offered ticket storage or self-service returns. This defined dopas's differentiators from day one.

7+ steps avg.no returns flowopportunity gap
04

User flows

  1. StartOpens the website
  2. ScreenSearch routeFrom, to, date — nothing else above the fold
  3. ScreenView resultsTime, duration, seats left and price per departure
  4. DecisionIs this the trip?
    No
    ActionBack to search
  5. Yes
  6. ScreenSelect seatThe seat map, with the total updating
  7. ScreenPassenger infoOne block per seat, so a pair books in one pass
  8. ScreenPaymentThe fee is named before the card is
  9. SystemConfirmationThe ticket, ready to download
  10. EndTicket in hand
05

Screens

The booking flow as it shipped, in order — from the search on the landing page to the ticket in your inbox.

Booking flow · 6 screens
01Main — one search field, three inputs, nothing else above the fold
02Search results — time, duration, seats left and price on one line per departure
03Choose place — the seat map, with the total updating as seats are picked
04Passenger information — one block per seat, so a pair books in one pass
05Payment — the fee is named before the card is, not after
06Confirmation — the ticket to download, and the documents to bring
06

Usability testing

01

Seat selection too late in the flow

Found
Users tried to go back mid-form to choose seats, causing confusion and drop-off.
Fix
Moved seat selection before passenger info
02

No luggage option at booking

Found
Multiple users abandoned the flow thinking the platform didn't support extra luggage.
Fix
Luggage toggle added on passenger info screen
03

Price not visible until checkout

Found
Total cost including fees wasn't shown on results page — felt like hidden costs, reducing trust.
Fix
Full price shown on search results card
04

Return ticket not discoverable

Found
3 of 5 users assumed one-way was the only option.
Fix
Round-trip toggle added to homepage search

Before and after

Drag the handle. The first pass was built in greys to settle structure before colour; the shipped version is the same screen once the palette and the card treatment landed.

Choose place, as shipped Choose place, first pass

What moves here is the visual pass, not the four fixes above: those changed the order of the flow and what each screen asks for, and the build from before the tests was never exported.

07 — Outcome

Launched late autumn 2020 into a market with no online alternative.

dopas.dp.ua has been live and earning since.

08 — Reflection
I’d start with a design system on day one — ad hoc components left inconsistencies to fix at handoff.
Two testing sessions caught four flow issues that would have shipped as bugs.