Web Development, Full-Cycle Development, Web Design, Ruby on Rails Development, Project management
Ruby on Rails, React, Next.js, PostgreSQL, Docker, Heroku, Stripe, REST API, WordPress
1 Project Manager
BookYaBike is a B2C marketplace connecting rental stations in Mallorca with avid cyclists.
Being a cycling paradise, Mallorca houses many unrelated bike rental stations scattered around the island. To find a bicycle, a traveler has to visit multiple websites, check the assortment of each, and call the rental station for details and booking. This is time-consuming and inconvenient.
BookYaBike is called to simplify the planning of the ride and eliminate the necessity to bring one’s own bike. The platform lets users search and book one or more bicycles of their choice in a certain location for selected dates.
For each bike, the user can specify price, brand, frame size and material, brake type, shifting type, and weight. As the user chooses the bike, they type in their height so the bike will be adjusted to their body parameters by the time they are ready to start their ride.
The client is a cycling enthusiast from Austria with an idea to create a single place to rent pro-level bicycles for trips across Mallorca.
BookYaBike serves cycling lovers who plan a bike trip or a training camp in Mallorca. On the other hand, there are the owners of bicycle rental shops who aim to get more customers thanks to the platform.
The client is solely a business person having no technical experience relevant to software development. They had an idea but no means for its implementation.
Syndicode has provided full-cycle development services from research to production. We collected and analyzed customer requirements, researched the business and market, and developed the website concept.
Next, we identified the most favorable functionality set considering the market demand and the project limitations. Together with the client, we created user stories for each functionality. Further, our engineers broke the functionality down into features for implementation and chose the most efficient tech stack.
The development process had an iterative nature. Upon unit completion and testing, we deployed it to staging for the client’s review. After approval, we went on to the next iteration to create another feature. This approach ensured a predictable result, minimizing the chance of an error left unnoticed.
The majority of cyclists come to Mallorca in groups. Therefore, BookYaBike should provide an opportunity to book several bike types from a single location.
Unlike traditional marketplaces that return a result that fits all the selected parameters, BookYaBike supports nested search. This means a user can choose several bicycles, each having a different set of parameters to be found all in one shop in the specified area for the specified time interval.
We used flexible filters to allow selecting multiple different parameters for several items within the same search.
The platform automatically registers the booked bikes and uses non-trivial SQL queries to perform new searches among items available for the chosen period. Additionally, rental shop owners can manually edit information about their bikes’ availability in their profiles.
Bike rental shops adjust their pricing for certain bike types accordingly to capitalize on the market fluctuations.
Mallorca’s mild and dry climate makes it suitable for all-year cycling. However, different seasons are best suited for certain cycling sports: long road trips in winter, fun cross-country rides to the beach in summer, etc.
Price is calculated the moment the database gets the search request. Each shop submits its own set of pricing templates for different scenarios (season, length of booking, number of available bikes, etc.) to the platform.
The system searches for bikes, checks their availability, and the condition they are all present in the same shop, then finds the appropriate pricing template and formulates the price for each searched bicycle.
Using BookYaBike, a user can plan a bike trip in Mallorca and ensure they will have all the necessary equipment. First, they have to specify the location where their ride will start, choose the timeframe, and the number of bicycles they need. Next, the user is offered to choose the type, subtype, and rider’s height for each of the bicycles using the drop-down menus.
The platform stores rental stations’ addresses in its database and searches for nearby stations using geocoding. Upon clicking the “Search” button, the user is immediately brought to the search results page. Here, they can see all the offers for their parameters within a radius of 50 km from the selected point listed or shown on a map.
The user can sort the offers by distance or price. Additionally, they can expand the radius of search to 100 or 150 km, change booking dates to see bicycles available for a different timeline, filter the search results by delivery option availability, specify the desired price range, and further refine their bicycle requirements.
The user can review basic information about the bicycles offered and check the availability of other models of the chosen type in the same rental station.
By clicking the “filter” button in the “Selected bikes” block, the user opens the additional filters menu. Here they can further narrow their search down to favorite brand, rider’s gender, bike’s frame size and material, brake and shifting types, and bike weight.
Some rental stations offer additional equipment, the assortment of which is presented to the user on the next screen.
After the user fills out a short contact form, their booking goes for processing. As soon as the rental shop’s workers receive the booking, they will contact the user to confirm and ask for additional information if necessary.
Rental shop owners can add their station to BookYaBike using a fill-in form on the website. The platform administrator will contact the owner for details within forty-eight hours after the form submission.
After registration approval, the rental station owner gets access to the admin panel where they can manage their stations and assortment.
BookYaBike administrator profile allows adding and removing rental stations, managing their information, reviewing bookings, payments, and more.
Next, we came up with a concept and wrote user stories with the client. Based on those, we identified the scope of features and processes. Eventually, we had enough information to make a detailed time and cost estimate.
Upon client approval of the scope and budget, the Syndicode team created the development plan and the associated technical documentation. Our project manager did an excellent job communicating business needs to developers and interpreting technical aspects back to the client.
Our engineers followed Agile principles, building and testing features one by one and demonstrating them to the client on stage. Thanks to this approach, we could quickly react to market changes and adapt the product to the latest requirements on the go.
We designed, built from scratch, and delivered a well-functioning product that scales easily and is a robust base for future expansions (if any). The Syndicode team fully took on the technical side of the project, leaving the client up to business processes.
At the same time, we maintained transparent communication, making the client an active participant in the project and enabling them to make situational changes. As a result, we additionally mitigated external risks and maximized the BookYaBike platform’s relevance to the market.
We delved deep into the research of BookYaBike’s target audience and created a clean, vibrant image that appeals to both travelers of various origins and the rental shop owners, who are mostly locals.
As a result, the BookYaBike website looks light and engaging. It is also easy to navigate across browsers and devices. The platform’s purpose is evident at a glance, and the intuitive interface gently leads the visitor toward their goal.
Since the website serves both amateurs and professional cyclists, we focused on creating a clean, straightforward interface that doesn’t overwhelm the user with an abundance of information. Therefore, we included only essential filters in the main search field and enabled further detalization on the search results page.
Our PM assembled the team, ensuring the most beneficial skillset and establishing the means for effective communication both inside the team and between the team members and the project stakeholders.
A change request management plan helped us to prevent straying from the previously agreed budget. Additionally, we managed scope creep using Scrum, which allowed the development team to stay focused on specific goals under continuous updates of plans and priorities.
To manage all possible risks on the project, Risk Register was used and updated regularly. We held demo meetings at the end of each sprint to get feedback from the client, manage expectations, and deliver a high-quality product.
In addition, with the chosen tech, we ensured code stability, minimal server response time, and reduced memory usage. This way, as the business grows, the website will be able to scale easily and won’t experience downtimes.
BookYaBike was launched successfully and started getting orders. The platform is monetized by receiving commissions from transactions. Payments happen through Stripe Connect, and a percentage goes to BookYaBike’s owner automatically.
Thanks to microservices architecture, the website can scale easily. It is also a great base for building more features without the need for any rework, should the client expand their business globally.