Connecting senders to transporters.
For independent freight hauliers, it can be difficult to optimize usage of their vehicle(s). Quite often they will have a consignment that does not use all of the capacity of their vehicle and/or they will have an empty vehicle for the return journey. The cost of under-utilised capacity has an impact on the hauliers margin as well as on the price to the customer. Improved optimisation can lead to lower prices and better margins.
The customer saw the opportunity to offer a service that connects
senders of freight with
independent freight hauliers to optimize capacity utilisation in the industry for both
parties to the transaction. Fathom was engaged to implement a system that would offer these
services online and provide applications to the
transporters. As with many
startups, there was an emphasis on keeping early life cycle costs low, while building a system
that is capable of scaling massively in the future.
A serverless implementation was chosen as being an ideal match for the customer requirements. The backend was implemented using Amazon Web Services. Using our API first strategy, we used API Gateway and Lambda to provide the backend services with DynamoDB for the main data stores. AWS Cognito is used to secure the APIs. All of these AWS services offer usage based pricing, so that the price is extremely low while the customer is in the early stage of growing the business but everything is architected in a fully scalable manner. For example, features like Content Delivery Networks (CDN) that are often added at a later date, are built in from the start.
The Transporter and Sender apps were built as progressive web apps (PWAs), using React. Progressive web apps have become our preferred option in many cases for building mobile applications. They provide the convenience and economy of a shared code base across different operating systems and devices and there are even now ways to distribute them through the app stores. We've also found them to be more performant than other cross platform simulators and they have the added advantage that they can share code with desktop versions.
The client web site is built as a static web site, using a static site generator, in this case Hugo.
All parts of the solution use CI/CD, so that changes can be deployed (and/or rolled back) on demand.