fluxx logo

Fluxx

Uber-like two-sided peer-to-peer freight platform

fluxx main imagefluxx main image

Summary

Fluxx is a freight platform with applications for iOS and Android. Apps were created using the Flutter framework, Dart, and JS languages. As for the state management - it was Redux. Google Maps was integrated into the apps via a special Flutter plugin.

For the backend were used all capacities of the Firebase. It provides clients for Flutter that gives a possibility to connect Flutter with all the services that are needed for successful platform creation: Cloud Firestore, Firebase Authentication, and Firebase Cloud Messaging.

Flutter and Firebase were accurately integrated with Stripe to maintain a smooth payment process.

select languages:

Dart, JS

location:

Australia only

technologies:

Flutter, Stripe, Firebase

year:

2020
image grid

Request

main task

Nick Dyer, an entrepreneur from Australia, came to us with a request to implement his Uber-like app. His idea was that users should have the possibility to reduce their cost of travel and earn money by delivering freight to others on their route.

All this had to be made with native UI, friendly UX, and a smooth & reliable payment process. And most importantly - it should be done as soon as possible since Nick wanted to understand whether his idea worked or not.

fluxx details imagefluxx details imagefluxx details imagefluxx details image

Prototypes, not presentations

Advertise a freight request and have your goods delivered quicker and cheaper using the Fluxx geolocational algorithm to match your delivery with a peer travelling to your location.

Subsidise your cost of travel and earn money by delivering freight to others on your route. Freight sizes are categorised, so no matter what you drive, there's something that you can carry.

Scope of the project 

The task was to create a two-sided peer-to-peer general freight platform that will match the user’s freight delivery requirements with someone heading to the user’s location. To test the client’s idea, we needed to create two apps: iOS and Android.

Our main technical decisions: Flutter, Firebase and Stripe.

Why Flutter?

  • The single code base for all platforms

    Gives an opportunity to build, test and deploy mobile applications for different platforms from a single codebase.
  • Application performance

    Great performance because it compiles native code. While other cross-platform frameworks do not compile and/or have other restrictions that directly affect application performance.
  • Ample UI features

    Everything is a widget and it comes up with a wide variety of high-quality pre-existing widgets that can easily be added to your app and create visually appealing apps that that most of the users like.
  • Google Maps integration

    Google Maps has 99% coverage of the world and 1 billion monthly active users. That’s why we chose this map provider. With the Flutter plugin that provides a Google Maps widget, it was allowed to integrate it in no time.
Why Firebase?
  • Backend-as-a-service

    Firebase is the BaaS that provided us the possibility to not implement essential features like Authentication, Data storage, database, and push notifications and don’t spend time on various environments, their management, and scaling. So we didn’t need a separate backend team and fully concentrated on the Frontend part.
  • Integrations

    Firebase provides a feature-rich client for Flutter that is easy to use and integrate. It gives a possibility to connect Flutter with all the services we needed: Cloud Firestore, Firebase Authentication, Firebase Cloud Messaging.
  • Cloud Firestore

    We used Cloud Firestore because it’s a scalable database that allows real-time data exchange and data subscriptions for reactive UI updates.
  • Authentication

    Firebase offers a simple and quick authentication process that allowed us to integrate authentication in our apps via Facebook, Google, and email sign-in.
  • Firebase Cloud Messaging

    This feature helps to configure push notifications on both platforms (Android and iOS) and implement important and necessary notifications such as informing about the acceptance of the request, successful completion of the order, and payment for it.
Why Stripe?
  • Quality and Reliable Reputation

    Stripe is one of the leading solutions for internet payments worldwide. During the last few years over 100k businesses in Australia started using Stripe to proceed with their payment process. It’s one of the very few platforms that provides the possibility to create a two-sided peer-to-peer platform.
  • Payment methods integration

    Allowed to accept cards (and potentially Apple Pay/Google Pay), and securely store payment data to make payments easily.
  • Two-sided payments

    Stripe provides conditions under which the application collects payment and pays out only after a successfully completed order.

Deliveries

We built mobile apps for iOS and Android platforms using the Flutter framework with perfect quality and performance. In this project, our state management was Redux, as it was used by the founding team engineers, and they had experience with it.

We configured and tested a couple of Firebase environments for development, testing and production. Created a set of security rules for Firebase to protect the data along with a set of security rules tests to ensure that they cover every possible scenario of how users can interact with the platform.

Our team configured a two-sided platform inside Stripe. We made custom integration using Firebase Cloud Functions between Firebase and Stripe (now Stripe has a special extension for Firebase that can speed up development even more).

fluxx details imagefluxx details imagefluxx details image

Prototypes, not presentations

Advertise a freight request and have your goods delivered quicker and cheaper using the Fluxx geolocational algorithm to match your delivery with a peer travelling to your location.

Subsidise your cost of travel and earn money by delivering freight to others on your route. Freight sizes are categorised, so no matter what you drive, there's something that you can carry.

Scope of the project 

The task was to create a two-sided peer-to-peer general freight platform that will match the user’s freight delivery requirements with someone heading to the user’s location. To test the client’s idea, we needed to create two apps: iOS and Android.

Our main technical decisions: Flutter, Firebase and Stripe.

Why Flutter?

  • The single code base for all platforms

    Gives an opportunity to build, test and deploy mobile applications for different platforms from a single codebase.
  • Application performance

    Great performance because it compiles native code. While other cross-platform frameworks do not compile and/or have other restrictions that directly affect application performance.
  • Ample UI features

    Everything is a widget and it comes up with a wide variety of high-quality pre-existing widgets that can easily be added to your app and create visually appealing apps that that most of the users like.
  • Google Maps integration

    Google Maps has 99% coverage of the world and 1 billion monthly active users. That’s why we chose this map provider. With the Flutter plugin that provides a Google Maps widget, it was allowed to integrate it in no time.
Why Firebase?
  • Backend-as-a-service

    Firebase is the BaaS that provided us the possibility to not implement essential features like Authentication, Data storage, database, and push notifications and don’t spend time on various environments, their management, and scaling. So we didn’t need a separate backend team and fully concentrated on the Frontend part.
  • Integrations

    Firebase provides a feature-rich client for Flutter that is easy to use and integrate. It gives a possibility to connect Flutter with all the services we needed: Cloud Firestore, Firebase Authentication, Firebase Cloud Messaging.
  • Cloud Firestore

    We used Cloud Firestore because it’s a scalable database that allows real-time data exchange and data subscriptions for reactive UI updates.
  • Authentication

    Firebase offers a simple and quick authentication process that allowed us to integrate authentication in our apps via Facebook, Google, and email sign-in.
  • Firebase Cloud Messaging

    This feature helps to configure push notifications on both platforms (Android and iOS) and implement important and necessary notifications such as informing about the acceptance of the request, successful completion of the order, and payment for it.
Why Stripe?
  • Quality and Reliable Reputation

    Stripe is one of the leading solutions for internet payments worldwide. During the last few years over 100k businesses in Australia started using Stripe to proceed with their payment process. It’s one of the very few platforms that provides the possibility to create a two-sided peer-to-peer platform.
  • Payment methods integration

    Allowed to accept cards (and potentially Apple Pay/Google Pay), and securely store payment data to make payments easily.
  • Two-sided payments

    Stripe provides conditions under which the application collects payment and pays out only after a successfully completed order.

Deliveries

We built mobile apps for iOS and Android platforms using the Flutter framework with perfect quality and performance. In this project, our state management was Redux, as it was used by the founding team engineers, and they had experience with it.

We configured and tested a couple of Firebase environments for development, testing and production. Created a set of security rules for Firebase to protect the data along with a set of security rules tests to ensure that they cover every possible scenario of how users can interact with the platform.

Our team configured a two-sided platform inside Stripe. We made custom integration using Firebase Cloud Functions between Firebase and Stripe (now Stripe has a special extension for Firebase that can speed up development even more).

cub line

Launch Success

Fluxx became a notable phenomenon in regional Australia: the mass media wrote several articles about it and, without any marketing efforts, the project's page on social networks received about 2 thousand fans in a short time. The demand was so great that in geo expansion we added 80 new towns.

apps:
2
components:
7
towns:
88
states:
2
Final thoughts

With Fluxx, we had an opportunity to help to test the idea of people getting their freight faster, cheaper, and earning while they travel.

We took full advantage of Flutter, Firebase, and Stripe for the creation of a new way of dealing with freight. They showed that they work well together and we did not have any special problems with technology in the implementation of this task.

Such use of novel technical frameworks proved startups can build MVP quickly and effectively without any major issues.

As a result of our work, the Fluxx platform presented a new way how people can deal with the freight delivery industry in Australian regions.

year:
2020
solid software.
cross lines
comment photo
Damian H.
Capella, Queensland

"Thanks Fluxx!! I was able to keep working while waiting for the parts to turn up. Making my customer happy. I didn’t have to wait until the public holiday was over either. Quick and easy!! Less downtime!!"

comment photo
Heidi S.
Cassilis, New South Wales

"What a great service.  Thank you, Fluxx. Deliver a parcel for someone from one location to another.   A great way to help pay for a trip."

next project

arrow icon
also you can:

Select languages

Dart

Technologies

Flutter, Firebase

check it out
arrow icon
Metrics

Metrics

Metrics is a set of software components to collect and review software project metrics like performance, build stability, and codebase quality.