03/10Applications new
Gdzie pojeździć?
An off-road community map that allows users to share interesting locations.

Idea

As an enthusiastic enduro motorcycle rider, I have often witnessed, and have experienced myself a few times, the situation of being unaware of the local tracks. I usually found out about some really great ones when a friend signed up for a competition and I went to support them. I came up with the idea of creating a map for all off-road enthusiasts where users can mark locations, both official and unofficial. Since I also wanted to try out React, I decided to create such a service.
The idea was simple: an interactive map with a list of points categorized into official trails, user spots, and off-road paths. Since many of my friends ride motorcycles, but not only that, I didn't want to limit the points to just that form of transportation. So, I decided to further categorize the points based on the types of vehicles that can use them. Thus, the points undergo one more qualification: bicycle, motorcycle, quad, and off-road vehicle.
In the meantime, I thought about an additional classification of points based on the characteristics of the terrain.
Some people hate sand, while others love it.
Therefore, the points have attributes such as: asphalt, mud, large stones, covered track, forest, sand, stream, steep ascents, artificial obstacles, traverses, compacted soil, and gravel.
Technology stack
14
React
React Router
React Query
shadcn/ui
daisyUI
Sass
PocketBase
SQLite
Leaflet
OpenStreetMap
TypeScript
JavaScript
GitLab
FreeBSD
As I mentioned, I didn't have any experience with React (I had been working with VueJS until now), so I used it for the front-end for educational purposes. I wrote the first version of the back-end in plain Node using MongoDB, but I also decided it was time to try something new, and I came across an article about PocketBase - a single-file back-end with a built-in API, SQLite database, validation mechanisms, etc. The description encouraged me to give it a try, and I wasn't disappointed!
Authorization
I wanted to create the project as a pure web service and as a PWA application for mobile devices. Due to the large number of filters, it was essential to assign selected filters to users so that they wouldn't have to constantly specify where they want to go and with what. It had to be portable, so this data needed to be saved in a database under a specific user. Therefore, authorization mechanisms (registration, login, and password reset) are necessary. Additionally, to simplify this process, I decided to include login via OAuth2 with Google services. Ultimately, each user continuously saves:
- Selected filters - including the type of points, the vehicle they are using, and the terrain characteristics,
- the last position on the map, so that when switching from another device, the interesting area of the terrain is displayed,
- The last activity in the service.
Locations
As I mentioned, the locations are mainly divided by type:
- Legal private trails,
- User spots,
- Off-road paths.
Their subsequent classifications are divided by the types of vehicles that can operate on them, namely:
- Bicycle,
- Motorcycle,
- Quad,
- Off-road vehicle.
Each point can have attributes in the form of terrain characteristics: asphalt, mud, large stones, covered track, forest, sand, stream, steep climbs, artificial obstacles, traverses, hardened ground, and gravel.
Point has a unique name, the author who created it, geolocation data (longitude and latitude), a text description, a photo gallery, and the option to include a link to a drone video of the area.
Additionally, to ensure interaction with other users, I have added the ability to send private messages to the author of the location (e.g., to arrange a joint ride in the area) as well as comments with the option to attach photos.
Production
I’ll be honest, when I created the project, I thought it wouldn't attract much interest, but I was wrong. The level of demand and the feedback from users of the service are overwhelmingly positive. In the first two days, 222 people visited the service through word of mouth, with a quarter registering, and half of those added at least one location. Considering the lack of commercial advertising, the new way of sharing locations in Poland, and the timing (winter, end of the motorcycle season), these statistics are more than impressive.
2026 Redesign
In 2026, the project went through a complete redesign. I reworked the interface with a whole set of features aimed at making everyday use noticeably easier, and optimized performance across the board, from map rendering to filtering large numbers of points.
I also expanded the authorization options: on top of email and password and Google OAuth2, users can now sign in with Facebook as well, making it even quicker to get started.