From now on, all customers of our family run independent BMW repair shop can easily get informed about the scope of offered car fix. They receive an SMS with a link to a custom-built temp WordPress subpage containing a video, pictures and detailed text description. If everything is OK, their reply is emailed to our staff. Here are the challenges and the final solution I applied for this web app project.
Nerd on Tour builds and maintains BM Cars
BM Cars is our family business located in Katowice, Poland. Via my own company the Nerd on Tour LTD, I’ve been building and maintaining the online presence of BM Cars. That includes bmcars.pl, social media accounts, and all online services we use:
- Google Workspace
- Zapier
- SMSAPI
- WordPress plugins
- Facebook and Google Ads
- Backups
- Cybersecurity protection
Understanding the customer and their needs
We know from experience that our BM Cars customers are busy drivers, who more often have access to their smartphones than computers. Therefore, the tech solution I was developing needed to be:
- Accessible on any web browser on any mobile device.
- Delivered via SMS.
- Secure enough, so only the car owner can access and confirm the proposed service quote.
Understanding the BM Cars representatives
Simultaneously, the system had to be as accessible as possible for the BM Cars staff members. They, too, are busy with tasks on site. Sending the quote to a customer had to be straightforward and involve a minimal number of steps.
Gravity Forms on bmcars.pl
After an extensive research and a few iterations, I decided to buy the Gravity Forms premium plugin. Primarily because it offered Zapier integration and because I use it while working with Octolize.
Gravity Forms helped me create a contact form that’s only accessible to BM Cars representatives. It includes fields that must be filled in with the customer’s details. The form allows attaching pictures and a video that visually illustrate the scope of the car repair.
Custom WordPress at klient.bmcars.pl
Every quote generates a new subpage on a custom WordPress site at klient.bmcars.pl (“klient” is a Polish for client). Such page is filled with the list of proposed repairs with prices. Images and a video are uploaded and displayed below the text description. At the end of the page, each client can write an optional comment and choose if they agree with the proposed offer or they’d like to receive an alternative quote.
Image hosting – storage optimization
There are no hard limits on how many quotes our staff can send. Moreover, they can attach high definition image files in the form. By design, I wanted to eliminate the necessity of editing or downsizing pictures they take with their smartphones or photo cameras.
Still, I needed to ensure that our server is not bloated with huge and plenty of files, that are then taking long time to be rendered on our clients devices. Therefore, all images are being downscaled to 2560 pixels (as per the WordPress 5.3 standard), and further optimized in size with the Smush plugin.
Video hosting
There were a bit more issues with video files. In general, WordPress supports uploading and displaying MP4 among other video file types. Moreover, Gravity Forms handles big uploads very well. Yet, I needed to spend extended time testing and researching a proper video hosting solution.
Current web hosting
Uploading video files directly to our web hosting server seemed straightforward but it had significant drawbacks:
- such files can quickly clog limited storage on our server,
- file management would become an unnecessary additional overhead,
- video playback could be too slow for the customer, even if the player is user-friendly,
- draining computing resources of our general purpose shared web hosting.
YouTube
Hosting video files on the most popular video platform would be possible for us if not for some crucial limitations:
- our repair recordings are not meant for the public, and YouTube primarily focuses on that,
- it’d be possible to mark each video as private, but then, it’s not possible to embed it on our site,
- sending a YouTube link to a private video limits our ability to create a clear call-to-action confirmation form for clients,
- even if embedding a video would be possible, then the player is still controlled by YouTube, that tries to recommend other videos to watch, and divert the attention of our client.
Vimeo
Personally, I like Vimeo because it’s a business-oriented video hosting platform with important features like restricting access limits to specified domain. Yet, the paid plans are not fit for our model: many short clips (1080p, up to 5 min), viewed only once by the car owner.
VideoPress
Automattic’s video hosting service would be a similar cost as Vimeo. Moreover, the direct integration with my self-hosted klient.bmcars.pl WordPress site would solve the issues mentioned in the “Current web hosting” paragraph.
The only problem was the lack of direct integration with Zapier – the automation platform that I decided to use as a backbone for the whole system.
api.video
In the end, I decided to use a service called api.video. I discovered it by browsing through the video app integrations in Zapier, and after checking their homepage I realized that they would be a perfect fit. Api.video’s scalable business model is based on the number of videos, their length, and views. Since we have a few dozens of short clips meant for a single view each month, then the cost of using api.video is the most economical.
Moreover, there’s no need for file management, controlling the storage or issues with video playback. And it works directly with Zapier.
Automation with Zapier
I’ve been utilizing Zapier for many years and for a wide range of projects. For BM Cars it’s been used to add contacts to our custom database and to send SMS notifications with repair schedule reminders, driving coordinates or asking for a review.
With this new web app, I knew that I wanted to combine plenty of little elements while addressing all the needs of our customers and BM Cars staff. The software mentioned in the previous paragraphs seamlessly connects with Zapier, and therefore I just needed to design the automation structure.
Overview of the automation flow
BM Cars representative fills in the details in the contact form. Gravity Forms sends an email notification to the rep while Zapier automation is triggered. Images are uploaded to klient.bmcars.pl WordPress site, and a video is handled by api.video. Then, a new subpage is published with the text description, and corresponding media. Once generated, the URL is shortened and sent in a text message via SMSAPI. Additionally, the customer receives an email sent via our organization’s Google Workspace Gmail.
The generated page is accessible only for a limited time. After this time window, the PublishPress Future plugin changes page status to draft. Each customer has enough time to read all the details and fill in their Gravity Form that sends an email confirmation back to BM Cars representative.
We also use an internal Google Sheet to keep track of all records generated via Zapier automation flows. After each completed cycle, a new row is added with relevant details. In case we need to check the archives, verify if the customer received the notification or if any API errors occur.
Summary of the custom SMS car repair notifications for BM Cars
During the pandemic the authorized BMW repair centers stared to introduce such video services for car owners. We also strive for premium standards at our BM Cars, which is an independent BMW repair shop. Moreover, we have the benefit of choosing the best software on the market, that can address the needs of our customers and our staff.
That’s why when I was asked to develop this system, I chose “battle tested” platforms, with clear design and minimal maintenance. I’m especially glad that our two self-hosted WordPress instances (bmcars.pl and klient.bmcars.pl) are performing as well as the enterprise services (Google Workspace, SMSAPI, api.video). Therefore, we don’t experience bottleneck effects or any other major issues.
The custom SMS car repair notifications for BM Cars customers have been running without errors since 11.09.2023. It offers a huge time benefit for all involved parties, and I’m looking forward to the next projects done for our family business.
Leave a Reply