Bets Between Friends

React NativeTypescriptGraphQLHaskellMySQLPrestashopDocker

Bet and shop

Mobile app

Thank you to the Kanso team for accompanying us throughout our project, from design to realization. They were able to find and implement the technical solutions adapted to our needs. Their professionalism and expertise were essential to create a high-quality product that perfectly met our request. The KANSO team is dynamic, warm and professional. Beyond their professionalism, they were able to take an interest in our project by making it visually creative and intuitive. A real pleasure to have been able to collaborate with KANSO

Henri Boulet

CEO of Bets Between Friends

youtubeProduct video at the bottom of the page

The client

Originally, François Boulet is CEO of HR Path and he occasionally makes bets with friends around good bottles of wine. He launched the BBF adventure with his son Henri Boulet as sales manager and Quentin Deispesse as CEO.

The founders ended the project and the application is no longer available on the stores.

The project and needs

There are many betting applications, but most of these applications are focused on sports and therefore not very suitable for friendly bets. The objective of Bets Between Friends was to make betting between friends with financial gains possible (e.g. a bottle of wine or champagne). The idea being that both players pay (all or part) of the item being bet, and only the winner is reimbursed the amount.

For their project, Henri and Quentin communicated these needs to us:

  • Create a visual identity and a logo
  • An online store via Prestashop with a back office to manage its content
  • A store within the mobile application, based on Prestashop data
  • A complete betting system (creation, betting and resolution) around the products in the store
  • Use the same third-party services (payment, delivery) as the e-commerce solution for the mobile application

The proposed solution

Kanso proposed to carry out a product design phase with four workshops, the writing of a functional specification and the production of a functional Adobe XD mockup, before moving on to the development phase.

The functional and technical design made it possible to specify the essential blocks to meet the need:

  • An online Prestashop store with a MySQL database
  • Development of a GraphQL API to link the mobile application and the MySQL database. The API provided by Prestashop allowed nothing more than actions with the database, so we chose not to use it.
  • Development of a store in the mobile application
  • Creation of the betting system containing a creation tunnel with or without winnings from the store as well as the resolution
  • For bets with winnings, reimbursement of the winner and creation of an order with an invoice for the loser and an order form for the winner
  • Integration of an e-wallet to transfer the money from refunded bets
  • Integration of the MBE delivery service via its API in the Haskell server
  • Integration of the SogeCommerce banking service (PSP) with the following features: payment, e-wallet recharge, card registration and refund
  • Use of the Prestashop API to trigger the different email sends (invoice, forgotten password)

The technical stack and infrastructure

  • React Native, Typescript, Haskell, Prestashop, MySQL with a GraphQL API hosted on the Haskell server
  • Use of the MBE SOAP API
  • Mailjet for email confirmation (functionality missing in Prestashop)
  • A deployment pipeline via Docker (deployment via a script)

React NativeTypescriptGraphQLHaskellMySQLPrestashopDocker

The scope of action/The means deployed (duration and team)

The design phase involved 3 FTEs over a period of 9 weeks:

  • A UI/UX designer for design and ergonomic issues
  • A lead dev for technical arbitrations
  • A product owner (Jeremy)

The product development phase required 2 fullstack developer FTEs over a period of 5 months.

The impact

7 renowned vineyards (Miraval, Minuty, Tsarine, etc.)
3K users, 800 active at the peak of growth

Any ideas ? any project ?

Don't hesitate to let us know

We will reply in the hour