Creating AI powered camera application for TOGG
Turkey's Automobile Initiative Group (TOGG) launched as Turkey's first domestically produced passenger car. After six years of development, is TOGG the spark for the Turkish EV market.
![TOGG AI Camera](/_next/image?url=%2Fimages%2Fcase-studies%2Fai-camera%2Fai-cam-users.webp&w=3840&q=75)
We were tasked with creating an Android Auto application that allows users to take photos using the car’s internal wide-angle camera, view their photos, generate AI-stylised versions, and share them.
The scope included building the application to run in the car and developing both the implementation and the infrastructure of a scalable architecture to control AI generation.
TOGG is one of the most well-known brands in Turkey, so we knew from day one that thousands of people would be using the application. Given the high demand and no room for error, we ensured that the application and services could handle this demand from the launch.
We started by analysing the provided UI and ensuring the experience was suitable for use in a car setup. We worked with Neva XR to polish the UI and cover all edge scenarios and made sure the application is intuitive to use.
Next, we assessed the expected demand on the application and built the necessary infrastructure to support it efficiently and cost-effectively.
We assigned two teams: one for backend and infrastructure development and one for application development. We kept our progress transparent to our client by using Azure DevOps.
We developed a credit system and integrated the application with TOGG user authentication system.
We developed an extensive logging system to diagnose potential issues swiftly and create usage reports. We used Azure Insight to monitor the service states constantly and built fail/retry systems to ensure everyone received their generated images in a timely manner.
Ensuring a great user experience without straining the car’s CPU was a significant challenge.
Initially, we tried multiple Dart frameworks for image manipulation but quickly found that all fell short in performance. We then switched to a C library, modified it for our use case, and implemented a bridge layer for the application.
We did not have access to the car during development and had very limited time for final tests. To mitigate potential issues, we ensured we had all debugging and logging tools at the application layer. This approach allowed us to resolve all issues in record time.
Initially we used a managed Azure Rabbit MQ service, however we’ve noticed it failed to reconnect back to our service when there’s a connectivity issue. After a long debugging, we found out this is an Azure related issue and we moved away from managed to on-prem Rabbit MQ to solve this problem.
The application launched successfully in Turkey. Within the first 10 days, over 10,000 images were generated with a median time of 6 seconds. The success rate of these generations were %99.93.
The application received extensive coverage in Turkish media and received many positive feedbacks.
This project demonstrates how our experience in building a complete product, rather than just making things work, made a significant difference.
together.
Drop us a line about it.