Live Asset Tracking for SA Taxi

SA Taxi is a partner within the Transaction Capital Group and has been operating within the Minibus Taxi industry since 1964. This vertically integrated business provides minibus taxi operators with financing, insurance and mechanical assistance for their vehicles. SA Taxi has created employment for an estimated 400 000 drivers, rank managers, and associated service providers. Up to 69% of all South African households are dependent upon this means of public transport daily.

The informal nature of the taxi industry, especially in South Africa, makes it a particularly high-risk industry for investment. Accurately and reliably tracking assets and driver behavior is massively important to mitigate risk and take a proactive approach to asset management. To monitor driver activity and vehicle usage, SA Taxi built the SA Taxi Command Centre or STACC. The first iteration of their system was relatively basic. Data was stored in an on-premise data warehouse and provided a simple user interface. This interface was simply intended to provide a visual comparison between the routes that taxi drivers were operating on, against the routes that they were supposed to be operating on.


Managing massive amounts of data on a daily basis with an on-premise server became unreliable and stressful to maintain. As the business grew, the use of hourly positions was not enough to track high frequency or short trips most drivers were making. The brief nature of their back and forth on shorter commutes meant that much of the data received from the tracking devices was of little benefit. Thus the need for faster data streaming and near real-time tracking of taxis grew. To achieve this, SA Taxi would need to move to a serverless computing environment and harness the power of cloud computing to meet their data aggregating and streaming needs.

As Google Cloud’s leading partner in Data Analytics in South Africa, SA Taxi approached Dotmodus for help improving on their STACC solution.

The Goal

Access a faster data stream and provide near real-time of tracking assets

Our Approach

Replace batch processing with data streaming Provide a UI and database allowing for fast, reliable search and filtering

The Results

A snappy, intuitive platform showing both the current and historic activity for 22,000 vehicles across the customer’s network


The main limitation with SA Taxi’s existing system was the slow speed at which data was being received from vehicle trackers, processed and visualised to users. The primary cause of this was the Batch Processing method being used to move and aggregate data. To overcome this, data needed to be pulled from Car Track’s API and Streamed to the database and UI in real-time.

“We are no longer sipping from the side of the firehose. GCP and DotModus has allowed us to drink out of the firehose”.

Stuart Wilson, SA Taxi

Cloud Dataflow and Cloud Pub/Sub were vital in ensuring this was achieved and the addition of Stackdriver allowed our data engineers to build a fully monitored and managed data pipeline that was as reliable as it was fast. Cloud BigQuery was determined to be the most cost-effective and dependable database solution to store this new stream of data.

With the data streaming problem resolved and data being fed in real-time to the database from the Car Track API, we couldn’t risk the UI become a bottleneck. A UI providing search and filtering with the same degree of speed and reliability was needed - any query running longer than a couple seconds would make using the interface tiresome. Google’s App Engine provided the perfect platform for both hosting the app and the indexing technology (Apache Solr and GraphQL) we needed to achieve this. App engine’s automatic scaling meant we’d never need to worry about over or under-provisioning, the UI would be ready to handle whatever amount of user (or taxi!) traffic was thrown at it.

The resulting UI we built provides 3 pages/views to the user. The Vehicle Dashboard page allows users to enter a taxi operator's account number and view the current location, aggregated activity metrics and account details specific to their vehicle. The Current Location page provides a map displaying the current location and aggregated activity metrics of all 22,000 vehicles. Near-instant data filtering allows the user to filter by Given Route, Vehicle Year, Operating Region, Credit Provider, Taxi Association, etc. and chisel away at the provided data to find vehicles specific to their investigation or reporting needs. The final page is a Route page that allows the user to filter by a specific route and view the taxi’s operating on that route with a given DateTime range.


Data is the backbone of SA Taxi’s structure moving forward. Advancements have enabled analysts to pinpoint evolving trends within the minibus taxi industry as they emerge and spend more time integrating rewards programs for operators and SMEs. They have also been able to form partnerships with organizations such as SANTACO and look to expand their presence in the industry in time to come. SA Taxi aims at building on current features in the next 2 years through analytics-driven integrations.