Citya
Year
2022
Client
Citya Mobility
Industry
Mobility

Result

$40K

Revenue Lift

Designed and built a platform for a startup, catalyzing $40K in revenue in just 6 months

Achievements

15k Monthly Active Users

4.7* rating on AppStore

→ Running in Czechia, Poland, USA and other countries

→ Built and released in 6 months

About the client

Citya was Jimmy’s ideal client. They had a business idea but didn’t have a product and technical background in mobility. We built a platform that helps them to transform the public transportation sector to provide more effective and efficient transportation options. Citya has raised over 2mio. EUR.

Project summary

Transportation in the outskirts of cities and in regions isn’t effective. The cost of fixed-route, fixed-schedule services can be unusually high relative to demand, for example, at random times of the day. Public transport is heavily underutilised.

Fortunately, our client Citya's bold vision is to change that by providing an on-demand mobility service that helps citizens travel around the city smartly. They faced political challenges but currently, they have clients among cities and regions who understand the power of the platform that we built for them.

Initially, the client wanted to use a white-label platform but it went bankrupt and didn’t even meet their needs for a franchise business model. Therefore we had to define and build the entire platform for the client from scratch.

Services
Product Consulting
Technology Consulting
Product Design
Project Management
Engineering
DevOps
Challenge
The team had a large task to design and develop a complex platform covering all parts of service operations, meaning a driver app (iOS, Android), a passenger app (iOS, Android), a web app for support, administration and a backend platform that orchestrates all the parts. The ultimate goal was to develop an easily scalable solution for different business models (SaaS, franchise, operating the business) and different cities/countries. The service should seamlessly offer customers ordering a ride, connect customers with drivers and assign them the most ideal and effective trip. One of the challenges was to build both of the apps (passenger, and driver) while keeping the complexity low so a smaller team could develop it.  The client unexpectedly came after 4 months of development with a need to present a working solution at a mobility event and set a deadline 2 months. Our team set up a product and technical strategy to successfully achieve this milestone and help the customer without compromising on quality.
Our approach
To achieve the best possible result, we used our mobility expertise and took the idea and business needs of Citya and transformed them into functional products. We designed a solution with one shared codebase for both apps to keep the complexity low and speed up the development process. 

During the whole project, our Product Owner was getting business requirements and shaping them into product requirements for the engineering team. The design process included UX research workshops, user interviews, and the high-fidelity clickable prototype.

The process was Jimmy’s Framework and the client closely collaborated with the team and attended the most important ceremonies, having access to the repository and other tools. Thanks to this process, the team could plan the 2-week sprints with the client and get a testable increment after the end of the sprint.

At the same time, the engineering team created project-specific logic based on existing real estate data and an independent front-end application. 
Solution
A technology-driven transport system to improve transport services on the outskirts of cities, suburban areas and regions. The system can also be connected to major backbone transport such as metro, tram or main city lines to address the first and last mile. The complete solution includes a driver app (iOS, Android), a passenger app (iOS, Android), a web app for support, and administration and a backend platform that orchestrates all the parts.

Through the transport app, the passenger determines the departure and destination. The system responds to demand by aggregating passenger demand into geographic clusters and then dispatching vehicles to these locations. Once the system allocates vehicles, complex planning occurs, and routes are calculated with boarding and alighting times so that neither passengers' arrival time nor price is negatively affected.

Another advantage is the data that the transport service and cities have on passenger demand and movement, and they can optimise transport accordingly.

From the service perspective the management of cars, drivers' schedules, and preparing data for invoicing allows connecting both individual drivers and entire fleets to the platform. This enables easier scalability in any new or existing locations.

The entire development took 9 months, 1375 May days of work, and the first version was delivered on time for the mobility event and under the budget.

The service started operating in Ricany (Prague), Czech Republic and has scaled internationally.

Citya screens
Tech stack
Dart
Dart
Flutter
Flutter
TypeScript
TypeScript
React
React
Next.js
Next.js
C#
C#
.NET
.NET
Postgresql
Postgresql
Google Cloud
Google Cloud
Feature 1: Sync passenger and driver events

A ride happens in real time, so it’s vital to be on the same page across all the applications and the platform behind them. For example, when a car is selected by the system for a new ride, but a driver hasn’t accepted it yet and a passenger already wants to cancel it, actions in apps can happen simultaneously. To avoid any potential misunderstandings, all updates should be instant and transparent to everyone. 

We designed a mechanism that makes data exchange between passengers and drivers seamless and informative.

Feature 2: Optimizing Driver Pickup and Stop Management
To ensure timely pickups in shared rides, each stop is time-limited, requiring drivers to manage stops effectively. Drivers can signal arrival, initiate a pickup timer to prompt passengers to board, contact passengers if needed, and mark boarding completion to proceed to the next segment. These timed actions are communicated to all participants and recorded on the platform for analysis.
Ok, let's talk!