Oferteo


You can switch to translated views with this toggle.


Overview
Oferteo is a marketplace for home and business services in Poland and Czechia.
Oferteo is a marketplace for home and business services in Poland and Czechia. Customers use Oferteo to find, hire, and rate service providers across categories like home improvements, cleaning, and accounting.
Businesses use it to acquire new clients, and the product needs to stay clear and consistent while supporting high-volume, conversion-sensitive flows like payments and paid promotions.


Context & approach
Two-sided marketplace (customers and businesses), embedded two-year role maintaining a PWA design system across frequent feature changes.
Oferteo's product needs to work for two sides at once: people who want to get something done, and businesses trying to win new work. At that scale, small UX issues compound quickly, especially around navigation, payments, and helping users understand what paid features actually do.
When I joined, the app already had solid patterns and a growing design system, but it was also evolving fast, with new needs and edge cases coming in regularly. My role was to keep the experience coherent while moving the product forward.
Over two years, I worked embedded with Oferteo's product and development teams in a sprint setup, using the company's research and testing as a baseline and translating it into UX/UI that stayed aligned with established interaction patterns. Alongside feature work, I maintained and evolved a detailed PWA design system, keeping components, states, and usage guidelines dependable enough that the interface could grow without drifting over time.
New Payment System
I moved Oferteo's payments into the PWA and made the new checkout feel familiar, fast, and trustworthy.
The switch to a new payment provider meant redesigning the checkout flow for both mobile and desktop while staying within technical constraints and established payment conventions. With 50+ payment methods available, the main challenge was helping users find what they need without turning the decision into work. I introduced clear, popularity-based groups and used progressive disclosure where banks offered multiple options.
To make the transition feel safe and predictable, I added lightweight first-time guidance so users understood what changed without slowing them down.
Statistics Centre
I designed an MVP "Statistics Centre" to make paid features easier to understand, evaluate, and manage in one place.
Some of Oferteo's paid features delivered clear value, but it wasn't always easy for businesses to see what they were getting back. The goal was to make performance and ongoing cost feel transparent, not abstract.
I structured the experience around the question users naturally ask when assessing effectiveness: "How many contacts do I get?" From there, the layout became a simple, focused set of views that cover the essentials without burying people in detail. The MVP was organized into three tabs, separating overall contacts from feature-specific performance, and it combined high-level trends with practical controls to start, adjust, or stop paid options.
To keep it intuitive at scale, tables and filters followed the platform's existing service-first mental model across locations, so the way users explored results matched how they set things up in the first place.

Outcome
Two years of embedded work: improved checkout conversion, an MVP transparency tool for businesses, and a design system kept consistent throughout.
Across two years working embedded with Oferteo's teams, these projects kept the platform's experience consistent while the product scaled and new needs emerged. The payment redesign improved checkout reliability and shifted usage toward BLIK, while the Statistics Centre gave businesses a clearer, MVP-stage way to evaluate their paid features, both built on top of a design system I maintained throughout to keep the growing interface coherent.