Context
Most cleaning services make you hand over your phone number before you see a price. Tersus was built to change that — instant, self-serve booking for customers, and a reliable job management experience for the cleaners doing the work.
The Challenge
Two completely different users. One design system.
Customers needed to see a real price upfront, configure their service, and confirm a booking in minutes — no contact forms, no waiting for a callback.
Cleaners needed a dependable system for finding jobs nearby, understanding what a job involves before accepting, managing an active cleaning, and getting paid without friction.
Every design decision had to work for both. Midway through the project, scope expanded to include a full web product — requiring the mobile-first design system to scale to desktop without being rebuilt from scratch.
Research
Five rounds of usability testing. 30+ participants. Both sides of the platform tested across mobile and web. Testing ran on a rolling cycle — each phase fed directly back into the product while development continued forward.
Design Decisions
Bringing Pricing to the Surface
Pricing was surfaced earlier and made transparent throughout the configuration steps — individual room prices, base costs, and premium service prices shown as users built their booking. By the time they reached the Final Quote screen, the total wasn't a surprise. It was a confirmation of decisions they'd already made.
Building a Guide for the Actual Clean
A service checklist and progress timer were added to the active job screen — not in the original scope, identified entirely through research. Cleaners could track rooms as they went, see elapsed time, access pre-job customer instructions, and reach a support link directly from the job.
Giving Cleaners Control Over Their Work Area
A dedicated Cleaning Area screen was added — not in the original scope, identified through research. Cleaners could set a preferred location by address or by drawing a radius directly on the map. A custom radius slider gave precise control over distance.
Outcome
One designer. Two platforms. Two completely different users. Roughly a year from first wireframe to developer handoff.
- Customer and cleaner experiences designed in full — mobile app and web, both sides, simultaneously
- 8+ screens added to scope mid-build, driven entirely by research findings
- Rolling handoff to developers across the full year — annotated Figma files, interaction notes, and component specs updated continuously
- Critical issues surfaced through structured pre-launch testing before reaching real users
Reflection
Tersus was my first real UX/UI project. I didn't know about design systems at the beginning — I jumped straight into designing screens. The component library came later, assembled from work that was already done rather than built as a foundation from the start. If I were doing this again, I'd slow down the first two weeks significantly and build the system before touching a single screen.
Most of all, this project taught me how to learn on the job at speed. The things I'd do differently aren't failures — they're exactly what this project gave me.