Our Work

Roadside assistance mobile app

Star Leasing, a national truck leasing company, engaged us to build a mobile application and API for its StarCare Breakdown Service platform, enabling drivers to submit service requests directly from the roadside without having to call a dispatcher.

The roadside challenge

Over-the-road trailer breakdowns are problematic for truck drivers and can lead to missed delivery windows and significant revenue loss. Star Leasing, a national leader in the rental, lease, sales, and maintenance of semi-trailers, came to us seeking a minimum viable product (MVP) that could be used by truckers to request emergency roadside assistance, access maintenance schedules, and obtain real-time updates on fleet data.

Our Role

  • Product design & development
  • Solution architecture
  • Automated unit & integration tests

Technologies

  • iOS, Android
  • Redux.js
  • Firebase
  • React Native
  • React Navigation
  • NativeBase
  • Sentry
  • Amazon S3
  • Ruby on Rails for API
  • Swagger UI
  • Docker
  • Travis CI
  • Elasticsearch
  • Amazon CloudWatch for AWS
  • AWS Elastic Beanstalk

Deliverables

  • Visual design & prototype
  • User stories
  • Solution architecture
  • Product blueprint
  • MVP mobile app
  • REST API
  • Swagger & app code documentation

New revenue stream

Star Leasing saw an opportunity to transition its Star Leasing Breakdown Service (SBS) from a cost center that supports its trailers, to a profit center that could provide added value for its customers and stakeholders. To achieve this goal, Star Leasing asked us to build a mobile application, and lay the foundation for a multi-generational product plan (MGPP), that could enable drivers to request roadside service, while also connecting to IoT devices in trailers for predictive maintenance and driver training.

Intuitive design promotes a sense of control

Our goal was to develop an intuitive experience that is easy to download and available for both iOS and Android. With just a few taps, drivers could quickly request help, specify the nature of the breakdown, and get real-time updates on Star Leasing services. To create a positive user experience, we focused on a design that would enable drivers to easily send a service request and access a form for submitting trailer data. By communicating estimated times and service technician locations, the app helps to manage driver expectations and promote a sense of calm.

Jobs To Be Done

  • Create an open line of direct communication between driver & Star Leasing team
  • Enable driver to specify trailer issues and service details
  • Enable driver to track the ETA of the service technician
  • Enable driver to rate the service technician
  • Enable driver to submit service requests without having to call a dispatcher
  • Enable driver to schedule maintenance
  • Enable driver to obtain real-time updates on fleet data

Developer challenges

Image uploads

In this app, image transfer will consume the majority of the bandwidth. Thus, uploading images would potentially pose a problem when the app user has poor network connectivity or is connected to a high latency or low bandwidth connection. We architected the app to detect the health of the network and adjust the size of the image accordingly, to improve app responsiveness and the probability of upload success.

Service request content

Network requests are sent asynchronously throughout the app. Service request payloads were minimized to prevent network bandwidth from becoming a bottleneck to submission. By requiring each image to be uploaded as a separate request, the service request payload would only contain references to images rather than the image attachments themselves.

API deployments

The API was deployed to an AWS Elastic Beanstalk environment. Code deployments to a staging environment occurred after an integration (testing) environment verified a passing suite of tests had been executed. Production deployments occur on an ad-hoc basis to support new application features and to provide bug-fixes and any performance improvements.

Mobile Application Deployments

When possible, application code deployments use the Microsoft App Center Code Push service. It provides updates that are immediately available to app users and do not require iTunes App Store approval. In some cases, App Store releases may be required, specifically with the initial app release and any releases that require “native” code updates.

Push Notifications

Push notifications are triggered by several possible events such as when a technician is assigned to a service request, is delayed, or when their ETA has been reached. The Rails API sends push notification requests to Microsoft’s App Center Push API to deliver push notifications to devices.

Test Suite Automation

The API and application each have test suites that execute automatically after every commit. If a regression is discovered, developers are immediately notified to fix any errant code.

Testing methodology & documentation

The SBS app and API were built with rigorous testing to help minimize the risk of a critical feature failing. Deploying a proper test suite helped minimize any bugs. As our developers continue to add features to the system, the test suite improves development time, reduces the need for manual QA, and allows for continuous deployment.