
Level Up Basketball
With our friends at Level Up Basket we kicked off an ambitious project with a goal to make it easier for people to find and access basketball courts nearby. We wanted to improve the way basketball fans could connect and play together.

Level Up Basketball
With our friends at Level Up Basket we kicked off an ambitious project with a goal to make it easier for people to find and access basketball courts nearby. We wanted to improve the way basketball fans could connect and play together.

Level Up Basketball
Fitness, Health, Social
Frontend, Backend
Ruby on Rails
2023
With our friends at Level Up Basket we kicked off an ambitious project with a goal to make it easier for people to find and access basketball courts nearby. We wanted to improve the way basketball fans could connect and play together.
About
We partnered with Level Up Basketball to build a platform that helps people easily find basketball courts nearby.
The idea was simple: make it easier for basketball players to discover courts and connect with others who want to play.
But we quickly realized the real challenge.
To make the platform truly useful, we needed to map every basketball court in the world.
About
We partnered with Level Up Basketball to build a platform that helps people easily find basketball courts nearby.
The idea was simple: make it easier for basketball players to discover courts and connect with others who want to play.
But we quickly realized the real challenge.
To make the platform truly useful, we needed to map every basketball court in the world.
About
We partnered with Level Up Basketball to build a platform that helps people easily find basketball courts nearby.
The idea was simple: make it easier for basketball players to discover courts and connect with others who want to play.
But we quickly realized the real challenge.
To make the platform truly useful, we needed to map every basketball court in the world.
About
We partnered with Level Up Basketball to build a platform that helps people easily find basketball courts nearby.
The idea was simple: make it easier for basketball players to discover courts and connect with others who want to play.
But we quickly realized the real challenge.
To make the platform truly useful, we needed to map every basketball court in the world.



The Challenge
Finding reliable data about basketball courts is harder than it seems.
We started with the OpenStreetMap API, which provides global location data for many types of places, including sports facilities. This gave us a large dataset with court locations, names, and other details.
However, the data was not always complete or accurate. Some courts were outdated, missing information, or incorrectly listed.
We also faced technical limits with external APIs, which made large-scale data collection more difficult.
At the same time, we had to make sure user location data remained private and secure.
The Challenge
Finding reliable data about basketball courts is harder than it seems.
We started with the OpenStreetMap API, which provides global location data for many types of places, including sports facilities. This gave us a large dataset with court locations, names, and other details.
However, the data was not always complete or accurate. Some courts were outdated, missing information, or incorrectly listed.
We also faced technical limits with external APIs, which made large-scale data collection more difficult.
At the same time, we had to make sure user location data remained private and secure.
The Challenge
Finding reliable data about basketball courts is harder than it seems.
We started with the OpenStreetMap API, which provides global location data for many types of places, including sports facilities. This gave us a large dataset with court locations, names, and other details.
However, the data was not always complete or accurate. Some courts were outdated, missing information, or incorrectly listed.
We also faced technical limits with external APIs, which made large-scale data collection more difficult.
At the same time, we had to make sure user location data remained private and secure.
The Challenge
Finding reliable data about basketball courts is harder than it seems.
We started with the OpenStreetMap API, which provides global location data for many types of places, including sports facilities. This gave us a large dataset with court locations, names, and other details.
However, the data was not always complete or accurate. Some courts were outdated, missing information, or incorrectly listed.
We also faced technical limits with external APIs, which made large-scale data collection more difficult.
At the same time, we had to make sure user location data remained private and secure.
The Solution
To improve data accuracy, we combined multiple data sources.
We used:
OpenStreetMap for the initial dataset
Google Places API and Google Maps API to verify and cross-check locations
For data storage and geospatial processing, we implemented PostGIS, which allowed us to manage large amounts of location data efficiently.
We also introduced geolocation features so users could quickly find courts near them.
Our backend used GraphQL (GraphiQL) to query and manage the data. Location information was structured in GeoJSON, a format designed for mapping and geographic data.
One of the key features we built was a court-matching algorithm. It recommends courts based on the user’s current location and nearby availability.
To keep the data reliable, we created processes that:
Regularly update court information
Cross-validate locations from multiple sources
Handle API limits through optimized requests
User privacy was also a priority. We followed strict guidelines and ensured users could control their location data.
The Solution
To improve data accuracy, we combined multiple data sources.
We used:
OpenStreetMap for the initial dataset
Google Places API and Google Maps API to verify and cross-check locations
For data storage and geospatial processing, we implemented PostGIS, which allowed us to manage large amounts of location data efficiently.
We also introduced geolocation features so users could quickly find courts near them.
Our backend used GraphQL (GraphiQL) to query and manage the data. Location information was structured in GeoJSON, a format designed for mapping and geographic data.
One of the key features we built was a court-matching algorithm. It recommends courts based on the user’s current location and nearby availability.
To keep the data reliable, we created processes that:
Regularly update court information
Cross-validate locations from multiple sources
Handle API limits through optimized requests
User privacy was also a priority. We followed strict guidelines and ensured users could control their location data.
The Solution
To improve data accuracy, we combined multiple data sources.
We used:
OpenStreetMap for the initial dataset
Google Places API and Google Maps API to verify and cross-check locations
For data storage and geospatial processing, we implemented PostGIS, which allowed us to manage large amounts of location data efficiently.
We also introduced geolocation features so users could quickly find courts near them.
Our backend used GraphQL (GraphiQL) to query and manage the data. Location information was structured in GeoJSON, a format designed for mapping and geographic data.
One of the key features we built was a court-matching algorithm. It recommends courts based on the user’s current location and nearby availability.
To keep the data reliable, we created processes that:
Regularly update court information
Cross-validate locations from multiple sources
Handle API limits through optimized requests
User privacy was also a priority. We followed strict guidelines and ensured users could control their location data.
The Solution
To improve data accuracy, we combined multiple data sources.
We used:
OpenStreetMap for the initial dataset
Google Places API and Google Maps API to verify and cross-check locations
For data storage and geospatial processing, we implemented PostGIS, which allowed us to manage large amounts of location data efficiently.
We also introduced geolocation features so users could quickly find courts near them.
Our backend used GraphQL (GraphiQL) to query and manage the data. Location information was structured in GeoJSON, a format designed for mapping and geographic data.
One of the key features we built was a court-matching algorithm. It recommends courts based on the user’s current location and nearby availability.
To keep the data reliable, we created processes that:
Regularly update court information
Cross-validate locations from multiple sources
Handle API limits through optimized requests
User privacy was also a priority. We followed strict guidelines and ensured users could control their location data.



The Outcome
The result is a scalable system that can manage global basketball court data and help players find courts quickly and easily.
The platform now combines multiple technologies to deliver accurate location data, fast search results, and a smooth user experience.
More features and improvements are already in development.
The Outcome
The result is a scalable system that can manage global basketball court data and help players find courts quickly and easily.
The platform now combines multiple technologies to deliver accurate location data, fast search results, and a smooth user experience.
More features and improvements are already in development.
The Outcome
The result is a scalable system that can manage global basketball court data and help players find courts quickly and easily.
The platform now combines multiple technologies to deliver accurate location data, fast search results, and a smooth user experience.
More features and improvements are already in development.
The Outcome
The result is a scalable system that can manage global basketball court data and help players find courts quickly and easily.
The platform now combines multiple technologies to deliver accurate location data, fast search results, and a smooth user experience.
More features and improvements are already in development.
Review
I can’t imagine running Level Up without their support – without them, it feels like being without hands.

Review
I can’t imagine running Level Up without their support – without them, it feels like being without hands.

Review
I can’t imagine running Level Up without their support – without them, it feels like being without hands.

Review
I can’t imagine running Level Up without their support – without them, it feels like being without hands.




Product Ownership
Eugene Lisvoskiy
Development
Denis Rozenkin
Alexey Larionov
Product Ownership
Eugene Lisvoskiy
Development
Denis Rozenkin
Alexey Larionov
Product Ownership
Eugene Lisvoskiy
Development
Denis Rozenkin
Alexey Larionov
Product Ownership
Eugene Lisvoskiy
Development
Denis Rozenkin
Alexey Larionov
Ready to build
something cozy?
Let’s talk about your goals and how we can help.
Istanbul
General Asım Gündüz Cad.
Onur Çarşısi No: 6/603
Barcelona
Carrer del Carme, 12
Ready to build
something cozy?
Let’s talk about your goals and how we can help.
Istanbul
General Asım Gündüz Cad.
Onur Çarşısi No: 6/603
Barcelona
Carrer del Carme, 12
Ready to build
something cozy?
Let’s talk about your goals and how we can help.
Istanbul
General Asım Gündüz Cad.
Onur Çarşısi No: 6/603
Barcelona
Carrer del Carme, 12
Ready to build
something cozy?
Let’s talk about your goals and how we can help.
Istanbul
General Asım Gündüz Cad.
Onur Çarşısi No: 6/603
Barcelona
Carrer del Carme, 12

