





The taxi service operates in four regions. The apps it inherited from a previous contractor had payment errors, incorrect debts on customer accounts, driver payouts that took two days, and slow address search on 2GIS, a paid map service. Within a month, the service needed new apps for drivers and customers, its own map in place of 2GIS, and automatic payouts.
Within a month, we released two apps on RuStore (a Russian Android app store), replaced 2GIS with a custom map and made driver payouts automatic: the money arrives in under 5 minutes.
Two mobile apps built with Flutter. Driver app: orders, route, instant payouts, referral program. Customer app: one-tap ordering, saved cards, ride classes (economy, minivan and others). Both are published on RuStore: com.troyka.driver and com.troyka.taxi. The two apps share their core code in one codebase, and changes are mirrored between them.
Custom geo platform on OpenStreetMap. We replaced the paid 2GIS service with a custom one: PostgreSQL and PostGIS, imported OSM data, FastAPI with asyncpg. Autocomplete and geocoding respond in under 100 milliseconds, 10x faster than 2GIS. The architecture is multi-tenant: the platform is ready to serve other taxi services as SaaS.
Payment infrastructure on T-Bank (a Russian bank). Card acquiring with 3DS challenges for cards from all regional banks, via WebView. Cards are saved through CustomerKey, so a repeat payment takes one tap. E2C payouts go to the driver’s own bank account in one click: minutes instead of a manual transfer by an operator.
Production infrastructure. A custom monitoring system for mobile app errors, with automatic alerts in Telegram. Canary releases for risky updates: they go to a whitelist of one to three drivers first, then to everyone. A backup before every deployment and a rollback in 30 seconds. A mandatory 8-point pre-release checklist before every APK build.
Tech stack. Flutter and Dart for the mobile apps. Python with Flask and SQLAlchemy for the backend. FastAPI and asyncpg for the geo platform. PostgreSQL 16 with PostGIS as the main database. T-Bank Acquiring and E2C for payments. Firebase Cloud Messaging for push notifications. Linux with systemd, nginx and fail2ban for the infrastructure. Publishing on RuStore.
In progress. iOS builds of the driver and customer apps. Extending the geo platform with routing. A SaaS portal for connecting other taxi services to the map.




For a year I struggled with one team and paid them three million rubles. In the end, drivers waited two days for their payouts, random debts kept showing up on customers’ bills, and I opened every update holding my breath, wondering what would break this time. It was never clear who to complain to: their answer was always “it’s not our bug, it’s the backend.” And in practice, I’m the one who takes the blame in front of my own drivers.
I came across German [Rozovik] and his team by chance. We had a call, and in that one conversation Clyovo told me more useful things about my business than the previous team had in a whole year. And this was more than nice words: they actually showed me where my money was leaking and where to look so the service would grow. It was clear right away that German [Rozovik] has a team behind him who know their stuff, in development and in product alike.
Then, within a month, they rebuilt almost everything. New apps for drivers and customers, live on RuStore [a Russian Android app store]. They set up their own map in place of 2GIS [a paid map service], and it really flies: for the first time in a year and a half, the drivers have stopped complaining about slow address search. They connected T-Bank [a Russian bank] properly: payouts go through in one click, minutes instead of a full day. And something I never even asked for: they set up monitoring for me from the start, so if something crashes in someone’s app, I get an alert in Telegram right away. Free of charge, on their own initiative. You could tell immediately that the team has a process: releases with backups, canary releases, nothing left to chance.
And the most unexpected part: they are more than developers. From the first week they started giving me product advice: track this metric, you’re losing 20% of users in the order funnel here, build a five-level referral program here, it’ll bring you organic growth. I get recommendations on marketing, and separate ones on analytics. So in effect I got developers, a marketer, a product manager and an analyst all at once. Before, I hired each of them separately, paid four people and got worse results than I get now from one team.
As the lead, German [Rozovik] keeps everything under control, and you can see he has strong specialists in each area under him. They write the code and also really dig into the task and suggest how to do it better.
Now it’s 7,500 orders a month, 580 drivers in the system, and not a single outage since launch. I’ve finally stopped patching holes and started thinking about how to grow the service.
If you have a business and need a solid team, message German [Rozovik] and his team at Clyovo. No question.











CLYOVO development
TechMarket · aggregator of leasing listings for heavy equipment and trucks
open



Describe it: within 24 hours we suggest a package or project format, a timeline and a price
Discuss your project40+ clients and 120+ projects since October 2024