Introduction

As the sales of electric vehicles grow exponentially, creating adequate charging stations is still a challenge. Installing a fixed infrastructure at scale offers up a number of challenges.

FreeWire Technologies builds mobile power solutions that meet customers’ growing needs for rapid, cost-efficient power. FreeWire‘s Mobi Gen product line offers clean and quiet on-site power to substitute or supplement the use of diesel generators for a variety of remote power needs.

Partner Profile

FreeWire

2014
Founded
100k+
Electronic Vehicles charged
$30M
Funding
USA
Location

Mobile EV charging for cars and power tools

FreeWire’s Mobi charger fleets deliver charging solutions to varied environments and geographies. To manage the servicing and management of the fleet operations, we developed a software solution on the cloud. The solution provides data to measure the success of campaigns by tracking increased energy usage in new verticals and quantifying sustainability benefits.

Backed by British Petroleum (BP) and Volvo, FreeWire has raised over $20 Million to deliver clean and quiet mobile power and fast charging that’s readily available and easy to deploy. FreeWire is building a platform powered by powerful software and innovative hardware.

“It has been great to collaborate with Simform to extend the skills we wanted. From test driven development to being super agile helping us define and prioritise our requirements through proven practices, while being focused and disciplined. Simform understood the nature of our business. ”
}

Growing tech partnership to a business success

Engagement

From MVP to full
grown product

Our engagement with FreeWire started during the early days when they were mentored by Steve Blank (Advisory Board Member) to do customer development. We worked closely with the team to build initial prototypes. We went through several quick iterations using Agile sprints to validate charging-as-a-service as a viable alternative to traditional purchase models for electric vehicle charging stations.

A relationship that started with building MVPs and prototypes slowly turned into a full fledged team extension and long term tech partnership. By working closely with the CIO and hardware teams, we have now become the proud software team driving FreeWire’s hardware business.

Result

FreeWire’s EV mobile charging solutions are used by companies like Walmart, Uber, Volvo, Linkedin, and BellEnergy. FreeWire’s staggering growth is a proof of the powerful technology stack powering their business. FreeWire is now venturing into charging Power tools as a viable alternative to Diesel generators.

Fleet and Back-office management using Cloud application

FreeWire’s mobile charging devices are connected via gateways over cloud IoT and can be managed from the back office. The cloud based web solution powers the entire back office operations, fleet management, power delivery servicing, personnel management, and fleet maintenance.

We worked with the hardware team to integrate chargers with a cloud solution using Azure and AWS IoT allowing them to get device health status, delivery performance reports, and usage statistics.

The cloud infrastructure had to ensure that billing, charging requests, and charging service delivery are always up. The acceptable downtime calculation for these services was less than 1 minute per week.

And with planned operations across 250 cities with each of these mobile charging stations pushing 1GB/per data - we had to be inventive about how we architected the database. Everything was driven with design patterns, clean implementations to avoid costly and time consuming app modifications.

“Simform has become a trusted partner as we push the edge of innovation for connected charging platform. Their ability to understand the big picture, together with their proven technical competency and delivery track record, made them our partner of choice. ”
}

Processing streams of data from charging devices

When connecting large scale Mobi charging fleet to cloud, the biggest challenge was to process millions of data points a day. This stream of data from IoT devices needs to be processed to create the right insight to improve power delivery and performance.

We followed a microservice design, supported by streaming services and message queues for cloud performance under heavy loads. To handle data at this scale, we went with polyglot database design, where we used the best possible fit for a specific data/microservice type.

Microservices based architecture to process millions of data

Each Microservice talks with each other, as well as mobile and web apps. Services are run over different containers with consistent configurations scalably. To handle extremely large volumes of data, we used a combination of SQL and NoSQL database architecture.

Design

Mobile apps
for customers
and remote
workers

These easy to use mobile apps serve Freewire charging partners and FreeWire customers alike.

Customers can request concierged charging services, schedule charge times, and charge on-demand on FreeWire’s charger networks.

Customers can also manage payments and talk with customer success managers.

Structuring the app for performance

Freewire’s growth was extremely dependent on the quality of service they delivered. The apps that work at FreeWire’s scale tends to grow complex both in terms of functionality and code dependencies. Mobile apps had to be lightweight, responsive, and with great UX.

Therefore, right from the start we had clean architectures implemented with MVVM on Android and MVP on iOS. Without this, it would have been impossible for Freewire to deliver app performance and add features quickly.

MVVM architecture for mobile apps

Improperly structured elements could lead to elements being called unnecessarily, resulting in increased RAM consumption.

The app has more than 100 high level components, meaning that a lot of them are going to consume RAM at the same time. Improperly structuring these elements could lead to elements being called unnecessarily, which could increase RAM consumption exponentially.

This needed to be improved, so, working with our UX team, we realized that we had components that we would be using across multiple screens. For example, the charging, billing, charging request screens. We would utilize a map element in the background that would remain a shared component across screens.

Our solution was to craft a hierarchical structure for iOS and Android apps. That way, we not only stopped elements from unnecessarily consuming mobile’s RAM, but also ensured that we properly defined behavior of components that are going to be used in multiple places.

“Our software is the face of our business, so it's critical that it both looks and performs to the high standards we expect. Simform has been and continues to be a fantastic partner that saves us from having to build out a full in-house software development team.”

Improving Geolocation accuracy for customer experience

Customer experience can be significantly improved if users can mark a location faster. Although, looking at the way raw GPS data fluctuates, we knew it was going to be a challenge. However, giving the user the closest possible pin to mark location was going to be the NPS booster that Freewire needed.

A model was created that increased the likelihood of a marked location based on the satellite’s signal-to-noise ratio. We saw some improvements, but they were still not as good as we’d hoped.

Then, when our mobile development team integrated particle filters with a position’s overall likelihood model, the GPS locations stopped bouncing from a few blocks to a few inches. This helped Freewire users be able to request the charge with just one hand.

Managing charge requests through Mobile servicing solution

FreeWire’s staff apps needed a completely different approach to development and design. Under rush-hour, an operator could receive as many as 50 charge requests simultaneously. If they are chatting with a customer, or adding a note to a service they just delivered, 50 requests could reduce the performance of the entire app and can even crash it.

If one process pushed information more frequently than the other, it creates a huge buffer in the app. Which also means Freewire’s app would end up consuming a lot more system resources (RAM). To tackle this, we optimized cache size and had operators that seamlessly buffered.

Automating the entire deployment process reduced dev time by 10 hours per week

For Freewire, if a bad app build was shipped to a customer, it would result in bad customer experience until the next update, so we had to avoid this from happening at all costs.

At Simform we implemented automated app delivery flows that pushed new changes, upgrades, and patches to app stores daily. Whenever a developer submitted a code, it goes through a series of automated and manual quality checks. After passing through these requirements it is safely merged with Freewire’s live apps.

CI/CD pipeline for test and deployment automation

Related Case Studies

Swift Shopper

Helping retailers modernize shopping experience through faster checkouts & customer analytics

Read Case Study

FIH

Improving the online web experience for International Hockey Federation (FIH)

Read Case Study

Speak to our experts to unlock the value Mobility, IoT, and Data Insights!