CASE STUDY

MyCar

MyCar is a unique app for car wash owners and their customers.

Solution

Mobile Development

Industry

Automotive Retail

PROJECT DESCRIPTION

Computools' in-depth analyses conducted for the client showed that more than 53% of car owners made a preliminary record at a car wash, instead of coming spontaneously and wait for freeing the wash box. Such a record helps fill up the working schedule of a car wash for 2-3 days ahead, that is, the owner sees in advance the workload of the wash boxes and employees. The idea of ​​creating a new application - MyCar - was based on this research. The app consists of two parts and each of them has its own target audience. CarWash is an electronic journal for a car wash with a convenient and user-friendly interface. CarWash helps to optimize the work of the administrator, increase client traffic and generate additional income by providing unique services. What is more, this is an excellent additional advertising tool for newly opened car washes, as well as for a long time existing ones. Having installed the application, the user will already know everything they need about a car wash: location, working hours, free time for the booking. CarWash is an admin panel for the car washes’ owners. It allows the administrator of a car wash to control and improve the quality of work. At the same time, it allows taking orders from customers directly in the phone or tablet. The owner of the car wash in real time can see the work schedule, loading boxes, customer flow, order history, detailed analytics and car wash statistics.

CarWash features

CarWash makes car wash business a real pleasure.

Administrating and managing your car wash:
  • Schedule;
  • Number of washes;
  • Adding administrators;
  • Adding a car wash photo;
  • Adding additional services;
  • Selecting application language (Ukrainian, English, Russian);
Issuing a quick booking to the car wash;
    Creating a list of provided services;
      Making an appointment for the next week or for the selected time;
        Viewing statistics on the services provided in the context of various parameters.
          The ability to create complexes of services;
            Creating customer lists;
              Fine-tuning of the provided services, depending on the type of car bodyshell;

                MyCar features

                MyCar is an application for clients of car washes. It allows to find the nearest car wash,
                book a time, select a list of services and even pay for them

                Selection of a suitable car wash on the map;
                  Viewing order history
                    Selecting application language
                    (Ukrainian, English, Russian)
                      Placing an order for a car wash,
                      choosing the most suitable day and time
                        Creating favorite car wash list
                          leaving feedback and see ratings of car washes

                            Building Minimum Viable Product Concept

                            Developing an MVP is the first step in new product work. For MyCar, MVP is the starting point for achieving the core goals: optimizing the operation of car washes, increasing customer traffic and income. Close cooperation at each stage with the Computools team allowed to create a viable prototype based on the proposed idea.

                            Thanks to their knowledge and skills, the Computools experts led the client through all stages of creating a Minimally Viable Prototype, bypassing possible challenges and difficulties. Strong communication with the client and the experience of the Computools team helped to successfully implement the project.

                            01
                            Defining the market problem

                            It all starts with research, finding out the market demand and filling the niche in which the product is supposed to be offered. A serious problem was identified in the car wash market: the lack of automation in the process of maintaining the customer base. While the latest technologies are transforming the business everywhere, the car washes owners are forced to keep a record of customers manually, more often even on ordinary paper mediums. In addition, there was a need to improve the quality of service, attract new and retain loyal customers. A new application allows solving all these challenges and problems.

                            02
                            Identifying the target audience

                            Despite the importance of this stage in the usual development, while building the MVP, the target audience can expand in the process of using the product. In our case, the target audience consists of the owners of the car washes and their customers -- car owners.

                            03
                            Evaluating competitors

                            These are absolutely unique products that do not yet have similar ones on the market, respectively, there are no competitors yet.

                            04
                            Defining the user flow

                            Determining the flow of users to a completely new product is quite difficult. Based on Computools experience and marketing research, we were able to predict the number of users who will be interested in the application during the week, month, and six months. This will allow further comparative analysis and make adjustments.

                            05
                            Prioritizing the features

                            In spite of the fact that the MVP assumes the presence of a minimum number of functions, together with the customer, Computools determined exactly what features the ready-to-launch application will have, what advanced functions will be offered to the car wash owners and automobilists.

                            06
                            Choosing the project management method

                            Speed ​​is a matter of great importance when developing MVP. For this project, Computools chose Scrum, because it allows to speed up the development process, save time and costs, and provides the best opportunities for quick launch of the product.

                            07
                            Developing the MVP

                            Directly development conducts strictly on schedule and the client is a part of the team working on the development of the application. That allows him to be aware of what is happening on the project, to closely monitor the implementation of solutions and features of the application.

                            08
                            Market launch and feedback analysis

                            Determining the flow of users to a completely new product is quite difficult. Based on Computools experience and marketing research, we were able to predict the number of users who will be interested in the application during the week, month, and six months. This will allow further comparative analysis and make adjustments.

                            Digital Platform & Technology

                            The choice of technology for the project is a key issue that was decided immediately after the definition of the project goals, functions of the future product and the main requirements for it. Computools realized the project's objectives using innovative solutions and the most appropriate technologies, which would later be supplemented with plug-ins and widgets, enhanced with additional features.

                            Computools
                            Project Manager
                            Team Lead
                            Developers
                            CLIENT
                            Project Coordinator
                            Communication
                            Flutter

                            Flutter is a mobile app SDK for building high-performance, high-fidelity, apps for iOS and Android, from a single codebase. It allows delivering high-performance apps that feel natural on different platforms. Flutter apps are built using Dart, a simple object-oriented programming language. Dart compiles into native code and there is no need to access OEM widgets as Flutter has its own. This means less mediated communication between the app and the platform. All of this contributes to fast app startup times and fewer performance issues. One of the most lauded features of Flutter is hot reload which allows you to instantly view the changes made in the code on emulators, simulators and hardware. In less than a second, the changed code is reloaded while the app is running with no need for a restart. This is great not just for building UIs or adding features but also for bug fixing.

                            Symfony

                            Symfony is a set of reusable PHP components and a PHP framework to build web applications, APIs, microservices and web services. Symfony is one of the most feature-rich PHP frameworks. It provides stable, faster and flexible web applications development. Symfony has proven its reliability over time while many other frameworks failed. Many notable platforms as phpBB, Drupal, Magento, and eZ Publish use its components. Symfony is a stable and well-tested framework with regular updates. The most recent versions stay long-term supported and compatible with the newer releases: up to 3 years for some of the versions. The unmatched speed, reusability and flexibility of Symphony is what makes it one of the topmost PHP frameworks. It follows the industry’s best practices and incorporates some of the best and most pioneering tools in the industry, and comes integrated with features like dependency injection.

                            Specification

                            Working on a project of any complexity requires severe preparation, specifications and working documentation, which will further help in achieving the core goal and in performing current tasks. The Computools team always takes a very responsible approach to this development stage.

                            Goal - Place an order for a car wash
                            Precondition Open the telegram-bot needed the car wash
                            Main Flow Choose the required service Choose the date and time of providing service Send the service order to the car wash Get the order confirmation from the car wash Pay for service online
                            Postconditions The date and time of the service is booked, the ordered service is paid Alternative Flows
                            1 There is no needed service at the car wash. The service order failed
                            2 The required date and time are not available on the chosen car wash. The service order failed
                            3 Car wash did not confirm the service order. The service order failed

                            COMPUTOOLS TEAM

                            For this project, experts whose skills, knowledge and experience were best suited for the tasks were chosen. Computools conducted a deep preliminary study and selection of employees to ensure high quality of the performed work, strict adherence to deadlines and the implementation of only the best solutions.

                            Team Lead
                            Denis Bogatirov
                            Software Engineer
                            Vlad Kononenko
                            Software Engineer
                            Daria Kolpakova
                            Quality Assurance Engineer
                            Maria Grekova
                            Automated Quality Assurance Engineer
                            Olga Makarovych
                            Project Manager
                            Andrey Melnichenko

                            BACKSTAGE

                            Computools strive to comprehensively study the project, to ensure the application of innovative solutions, not only previously used, but also newly created, specifically for a certain task. To do this, in addition to fulfilling the tasks plan, we hold various meetings and brainstorming sessions.

                            Whiteboard Meeting
                            The whiteboard meeting is another great way to discuss ideas for a project. Visualizing solutions, making connections and solving challenges when they are visually viewed on board allows us to find the best path for new products
                            Brainstorming
                            During a brainstorming session, our experts are not only looking for a solution to a problem that has arisen in the course of working on a project. Computools also give developers the opportunity to express any, even the craziest ideas. This is how unique developments are created
                            Dev Meeting
                            Sharing experience, new skills and original ideas at developer meetings help to improve the quality of the product, avoid any difficulties with its release and solve current problems related exclusively to the technical side of the project

                            Internal Communication Flow

                            The communicative ecosystem, built by the Project Manager at the very beginning of working on the project, ensures the timely execution of tasks by each participant and team member, quick resolution of emerging issues and almost instant feedback. Skype was used as the most convenient way for daily communication and discussion of the work on the project, current tasks and questions. Trello, which was chosen by the PM, is a perfect solution for setting tasks and managing them for projects of this type.

                            Project Management Methodology

                            Scrum provides a lightweight process framework that embraces iterative and incremental practices, helping deliver working software more frequently. The sprint process allows for "good enough" development that results in a saleable product even while the project is in full swing.

                            PROJECT TIMELINE

                            1 week
                            2 weeks
                            6 months
                            1
                            CONSULT
                            Defining Goals
                            • Identifying high-level project goals
                            • Determitining the client's primary high-level expectations
                            Analysis & Exploration
                            • Researching existing solutions and technologies
                            • Analyzing ready-made solution on the market, their pros and cons for the project
                            • Defining main restrictions and providing solutions
                            • Identifying the main risks
                            2
                            DESIGN
                            High-Level Architecture
                            • Selecting approaches and a key development. stack
                            • Selecting basic architectural patterns and tools
                            • Forming an application stack taking into account restrictions, solutions` reliability, development speed etc
                            • Forming the main development guidelines
                            Interactive Prototypes & Specification
                            • Building a specification of the project
                            • Development of a prototype in parallel with specification
                            • Forming Definition of Done
                            Build Development Process
                            • Choosing project methodology, calculating the number of project teams, forming process configuration
                            • Forming of work format
                            • Configuring the technological processes and interactions between roles
                            3
                            ENGINEER
                            Build The Team
                            • Calculating the optimal number of specialists for each role
                            • Forming the team`s core from professionals who started working on the project from its early stages, i.e. Business Analytic, Architect, Team Lead, Progect Manager, UX designer
                            • Selecting and adding executors to the team`s core. Conducting an intro meeting of the team
                            Development
                            • Distributing tasks by the Progect Manager and Team Lead
                            • Execution tasks according to plan
                            • Discussion of Innvative methods
                            • The introduction of original solutions
                            Testing & Stabilization
                            • Developing a testing plan
                            • Implementation of end to end tests and additional automatic tests
                            • Testing following a test case
                            • Applying improvements
                            • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency and speed up development

                            CODE DEVELOPMENT

                            Due to the use of the Scrum methodology, the development of the code was carried out continuously, dividing only into short sprints. Testing was carried out both automatically and manually, all edits and fixes were made in real time, which made it possible to immediately see the changes.

                            CONTACT US

                            Let's talk about your project.
                            Use the form to drop us an e-mail.

                            Thank you for your message!

                            Your request will be carefully researched by our experts. We will get in touch with you within one business day.