Who is Geovelo?
Geovelo is a GPS navigation platform for cyclists. Think of it like the Waze for cyclists. It provides cyclists adapted itineraries: from the shortest to the safest routes to their destinations. Geovelo was downloaded more than 400.000 times on mobile and count more than 200.000 active profiles that do more than 700.000km of ride per month, particularly in the Ile-de-France region.
Geovelo can be downloaded for free and doesn’t display any ads. The company’s business model is created around providing advantages and structured information for communities:
- Integration and updating of bike maps,
- Dashboard for monitoring and analyzing cycling practices (flow of cyclists from anonymized GPS tracks),
- Community reports of safety problems.
Today Geovelo counts more than 20 major European cities and agglomerations among its customers, and has already generated more than 500K in turnover. Their team is composed of 10 people, with half of them being in engineering roles.
Users can calculate their itinerary using native iOS and Android applications or on the website www.geovelo.fr. The native apps are handy for data collection because they can provide information about what roads are used, whether the traffic is fluid by using the different sensors of the smartphone (GPS and accelerometer). These data are then transmitted to the backend via their API.
Geovelo has been a Scaleway customer since the beginning of their journey in 2010. First, they used around 15 Dedibox dedicated servers and progressively migrated most of their workload to the Scaleway Elements public cloud 5 months ago. Today 90% of their infrastructure is running on the Scaleway Elements Ecosystem. Geovelo is currently using most of Scaleway’s products and features including Kapsule, Registry, PostgreSQL, Block Storage and Load Balancer.
“Today, we are migrating most of our Dedibox workload to Scaleway. We are running most of our workload on Scaleway Kapsule. When a new version of our code is ready to be deployed, it is first pushed to our private Scaleway images registry. Our PostgreSQL database is managed by Scaleway as well. Our data is also persisted inside block storage that is then mounted inside our Kubernetes cluster.” explains Gaël Sauvanet, CTO of Geovelo.
A Technical Point of View
The web application uses Angular as frontend tool and several Django for the backend, behind a load-balancer. As for the persistence layer, they use PostgreSQL for relational data and Postgis for geographical and map generation. The company uses this backend to generate maps either in rasterized or in vectorial formats. They also use OpenStreetMap as a map provider.
In addition to the map, the custom itinerary that encompasses safety for cyclists uses a custom algorithm developed in C++ with Python binding to interact with the rest of the Django stack. Those algorithms are optimized to have fast itinerary computation. Therefore large maps are loaded into the RAM to be processed by the pathfinding algorithm.
Infrastructure-wise, Geovelo runs on Kubernetes, and Gitlab manages the deployment pipeline. Container images are created automatically at each push, sent to a private registry, and deployed on Kubernetes. All the different environments from development, pre-prod, and production can be deployed automatically through Gitlab.
Scaleway’s Cloud Services allow the company to deploy services on-demand and only when they are needed. Geovelo started using Dediboxes in 2010 and as their business expanded, Scaleway was evolving at the same time offering always the products adequate to their applications. Gaël Sauvanet adds “our workload is very RAM consuming, and we need powerful nodes such as GP1-M to run our optimized workloads on our Kapsule. We also have a very seasonal usage pattern: most of our traffic is generated in the morning and evening when people are commuting between work and home. This is also one of the drives for running on a cloud platform. It is important to scale our infrastructure dynamically using Kubernetes to handle these traffic peaks.”
In addition, Geovelo technical teams are very happy about the assistance and the availability of the staff. They highlight the fact that they feel very integrated and listened to by the Scaleway team. Indeed “we can reach the product team directly over Slack to ask questions and request features, for example. We also like having the blog and tutorials at our disposal to help us on topics that are not our specialty. Also, all services are nicely displayed in the console, which is very pleasant to use. It is intuitive, and we like it a lot.” describes Gaël Sauvanet.