One Click to Wash the Wife’s Daewoo Matiz, Another to Clean Your GAZelle. We Made a Convenient App for Finding Car Washes

Moika-Moika is a mobile app that helps you find a washing service for your car. It was developed for Ucar, a marketplace of car washes. The app runs on Android.

2 months of development to release

Over 5 months of app support



Make it easier to find and use car washes, as well as order and pay for their services. Help car owners find a good option based on prices, promotions, and distance.



We’ve created an app that shows car washes on the map, including all the necessary information like working hours, prices, promotions, etc., and allows you to select and pay for the services.

The app finds rates depending on whether the person is a taxi driver or just a car owner.

You can add several cars to the app, choosing a specific option for each vehicle.

There are also built-in systems for bonus programs and referrals.

Development Process

We started the development from scratch. The client, Ucar, came up with an idea to unify interactions with car washes. The project was small, with only one developer involved initially, who was later joined by a team leader.

Our task was to develop a mobile app. All the design and backend work was left to the client.

We decided to work with KMM. The client provided us with API specifications. This approach makes it possible to create an iOS app as quick as possible.

The project’s architecture is designed in such a way that each function operates as a separate module. This makes it easy to work on improvements and fixes without affecting other elements of the app.

During development, we used MOCO libraries and tools like Maps, MVVM, Errors, Network, and Units.

The app works the following way. The customer signs in the app using the car license number and selects either the regular or the pro tier, the latter being for transportation professionals such as taxi drivers. There can be several cars added to one account.

Depending on the account type and the selected car, the map displays different car wash rates and promotions. You can select a particular car wash and check its working hours, types of services, prices, and other things, as well as order and pay for a service. You can buy subscriptions, for example, for a month of unlimited washing. After paying, the customer arrives at the place where the staff can check the license plate and see what services should be provided.

We’ve also implemented bonus and referral programs: the user receives cashback in the form of bonuses for purchased services, as well as for invited friends.

The launch was in summer. Today, Ucar continues to work with a large number of taxi companies while receiving a lot of positive feedback about the app. And we continue to support and update it.

The Hardest Part

It was difficult to synchronize the client side with the server side. The app was being developed alongside with the server, so when the customer’s wishes changed it meant changes for the API configuration. There were times when the client-side app would stop working because of changes to specifications, which we would only find out about near the end of the sprint. Because of that, deadlines for particular scopes would often postpone.

How we solved these tasks

Eventually, we agreed to communicate any changes from both sides beforehand to prevent the app crashes.


Technology Stack

KMM (Kotlin Mobile Multiplatform)
Ktor client for network
Coroutines multithreading
Mobile Kotlin Libraries (MOKO)
Clean Architecture


The app displays available car washes on the map and allows you to view the prices, as well as to order and pay for the selected services. The user adds data on their cars and sees only the relevant information.

The car wash employees identify the customer by the license plate and know in advance what services they should render.

You can invite your friends to the app to get bonuses for their orders, as well as to receive cashback bonuses based on the amount spent in the app.


A customer can add more than one car (for example, an urban car and a SUV) to the app. When switching between them, the map displays only the washes, promotions and prices relevant for the selected car. Switching is done on the fly.

Switching between cars

A customer can add more than one car (for example, an urban car and a SUV) to the app. When switching between them, the map displays only the washes, promotions and prices relevant for the selected car. Switching is done on the fly.

Let’s discuss your project!

It is free. We will tell you how the application will solve your problems.

Similar projects



Alians Trucks




“Smart control” car