In 2020, EGO Creative Innovations partnered with Inventive, a Texas-based custom software development company. Pocket Geek Auto for A Fortune 500 Global Automotive Insurance Company has been one of our first joint projects, but also one of the most fascinating ones.
Before partnering with us, Client had a version of the app they weren’t satisfied with. After re-evaluation, they decided to change the development contractor and remake the app from scratch. To find a new partner, they launched a tender.
To take part in a tender, a participant company had to come up with a proof of concept that would meet technical requirements and could be used for further development. We felt it was a challenge that we as a mobile application development company could accept, even though there was no guarantee that we’d get the project.
Pocket Geek Auto is one of the apps that helps its users to take care of and maintain the cars they own, sell, or service.
Our challenge was to create an app that could be useful for different target groups: dealers aim to increase service centers’ revenue, while consumers look for ways to improve their ownership experience.
We made a Proof of concept app within three weeks. In four months, we had the app ready for dealers. In October 2020, the app went live on the app stores.
Solutioning, UX/UI design, prototyping, mobile app development, and quality assurance for iOS and Android.
Everybody knows that cars need regular maintenance. Every car has a manual on how often you should replace belts, change oil, check your tires, and so on.
But nowadays people hardly use manuals. It’s hard to keep up with all that information and know how important it is to inspect a particular part within its service interval. Pocket Geek Auto helps with that.
The app’s business model is based on keeping customers connected with car dealers and services. So the app must offer value to all of them.
As a customer, with Pocket Geek Auto you can:
–  keep an eye on the condition of your car and other cars in your family
–  be aware and get reminders of the required maintenance and repairs
–  get customized vehicle service offers to address your current needs
–  see prices for repairs offered by the dealers in your area
–  store car service documents in the app
Car dealers and car service owners can also visually customize and offer Pocket Geek Auto as a part of their services.
Pocket Geek Auto helps car services increase visits to their service centers by delivering promotional offerings, diagnostic warnings, or maintenance alerts. At the same time, car dealers can locate their vehicles and get them into their inventory quicker, as well as monitor vehicles’ fuel/battery status to make sure they’re ready for a test drive, for instance.
So the advantages businesses get from Pocket Geek Auto include (but are not limited to) less paperwork, faster pre-delivery inspections, and shortened sales process.
Having expertise in the automotive industry, our mobile and web development firm was committed to achieving top-notch results for this product.
Initially, Client expected the proof of concept to effectively be a real clickable app ready to be used as a base to build upon. Since the functionality expected in this PoC was impossible to implement within such a tight timeframe, we suggested and eventually made a PoC app with an existing design and a new design concept with a clickable prototype to showcase the app’s potential.
In addition to that, the PoC requirements were often quite abstract. So, at this stage, we did a lot of clarification: communicated to figure out details and goals, discussed the flow and wireframes, and approved the suggested design concept.
Our dedication and attention to detail did not go unnoticed, the client was happy with the PoC and chose EGO and Inventive as their iOS and Android mobile app development partners.
Working on a development project in partnership with another development team might seem to be a challenge, but we quickly figured out how to split our responsibilities and keep our pace.
At the end of the day, designers, developers, and managers from both teams were involved. But it was Inventive that managed high-level issues, finances, and formalities of the partnership. They visited Client onsite, presented the results of our work, and made many management decisions throughout the project.
For instance, it was their idea to go with Flutter and Serverless; at that moment we weren’t a Flutter company and have been only applying it within internal projects.
We’ve been responsible for the project’s organization and implementation. We set up Jira and Confluence to follow the Agile methodology in project management. The quality assurance was also done exclusively on the EGO side.
Take a look at a user journey when adding a vehicle in the app.
For the sake of data privacy the video was created in QA environment, hence the “Debug” label
One of the project challenges was timing - we had to deliver the PoC before Christmas. Thanks to 15 years of teamwork experience, we managed to build productive communication with the Inventive and Client teams and sync our efforts to get everything done on time.
Project managers ensured the smoothness of workflow and communication between the engineers. Despite the time zone difference, we had daily standups with product owners, as well as regular demos, planning and design meetings, and requirements discussions to move forward as fast as possible.
A use case: a dealer wants to share the app with a customer who has just bought a car from them.Â
Our solution: A QR code that includes the information on the user and their car generated by the dealer after the car is sold. The new customer scans the code and downloads the app from the app store. Once the newly installed app is launched, it already contains the info on the user’s car and is branded with the dealer’s logo.
This elegant and nontrivial solution was implemented via Firebase dynamic links.
At the beginning of the project, Inventive evaluated modern back-end solutions and decided to go with Serverless and AWS Lambda. Yet, later we found out that some of the server-side features, such as push notifications, were implemented in those tools as standalone features to save on resources.
That forced us to supplement the mobile side with additional logic to make those features work smoothly.
EGO utilized a wide variety of testing methods and techniques on the project. Usability and UI tests were supplemented by smoke tests once a new version was complete, as well as regression tests at the end of each sprint. Quality assurance has been done for multiple devices and OS versions.
Once the app was released in the app stores, we focused more on further development, while quality assurance could be something to outsource to an Indian company. At some point, too many people from all teams had become involved in QA, and we suggested making one of our QA experts a team lead to coordinate all efforts.
As of December 2019, Flutter was only one year old – Google released the 1.0 version on Dec 5, 2018. Initially, that caused concerns as we couldn’t be sure if this technology would meet our technical requirements.
However, back then, Flutter was extremely attractive because it eliminated the JavaScript bridge (offering native performance), could provide 120 frames per second for mobile app interfaces, and was used by Google in its apps and the front end of its Fuchsia OS, proving its production readiness.
Eventually, we mastered Flutter in a way that helped us complete the project goals without any trade-offs. And as we continued improving Pocket Geek Auto through spring 2020, new major Flutter updates – such as the Metal API support providing 50% performance growth for iOS apps – helped us polish things up.
Pocket Geek Auto takes most of the information it processes and shows from the APIs. Multiple third-party APIs were used: one API contained technical details on the car maintenance actions, while the other one would only list the colors available for every car made.
Each time we bumped into a bug, it was a challenge to figure out if the trouble was with the code or with the data from an API. For instance, with the two above-mentioned APIs, there were situations when they had different naming approaches, say, for car makes, and we had to find ways to avoid data conflicts.
The very first version of the app was ready in May 2020. As we continued to polish it up for the app stores, Client started introducing it to car dealers.
Client has been so happy with us and Inventive that they eventually expanded our partnership, and now we’re working on a web portal for car dealers. Moreover, they let us focus squarely on the app’s development, while bug fixing and support are outsourced to their Indian partner company.
The biggest feature to come is OBD-II data support: it will enable providing much more up-to-date and precise information about the vehicle’s current technical condition.
Dart
Flutter
Google Maps
Mockito for unit tests
Typescript
Mocha, Chai, Sinon for unit tests
MongoDB
Serverless Framework
Google Maps
Okta for identification
Spot and Postman for documentation
AWS for hosting
Twilio for SMS
PHP
JavaScript
Python
Terraform
Slim (PHP)
ExpressJS (JavaScript)
Django (Python)
Stripe
Google SDK
Django Rest Framework
Facebook SDK
Firebase
Propel
Django tests
Coverage
Google Cloud + Kubernetes
Sentry
Graylog
RabbitMQ
Docker
Redis
MySQL (Read + write replicas)
JavaScript
ReactJS + TypeScript
NextJS
Redux
WebPack
i18n
Sentry
Stripe
Jest
Typescript
Dart
React Native
Flutter
Mobx
Redux
Sentry
Sentry
PHP
JavaScript
Python
Terraform
Slim (PHP)
ExpressJS (JavaScript)
Django (Python)
Stripe
Google SDK
Django Rest Framework
Facebook SDK
Firebase
Propel
Django tests
Coverage
Google Cloud + Kubernetes
Sentry
Graylog
RabbitMQ
Docker
Redis
MySQL (Read + write replicas)
JavaScript
ReactJS + TypeScript
NextJS
Redux
WebPack
i18n
Sentry
Stripe
Jest
Typescript
Dart
React Native
Flutter
Mobx
Redux
Sentry
Sentry