One system that turns every repair request into an assigned, tracked and completed job
A car repair business with a mobile team had to turn requests from private and business customers, each with photos, car data, location and preferred date, into scheduled jobs across several employees, and every status change had to reach the right person at once. The system had to work on iOS and Android, for guests without an account too, store data in the EU, allow account deletion in the app and pass Apple's review fast. The hard part was four roles with different permissions enforced in the database, real-time push through APNs and FCM, a shared multi-employee calendar, one-time-code invites, photo handling and store compliance.
What we engineered
- One React Native and TypeScript codebase for iOS and Android, built and submitted with Expo EAS.
- Four roles, guest, customer, employee and Super Admin, separated by row-level security policies in PostgreSQL.
- A booking flow with damage type, car details, location, preferred date and up to two photos, open to guests without an account.
- A Super Admin inbox where a request is assigned to up to three employees with date, time and colour in seconds.
- A shared team calendar with month and day views, employee filters, status colours and editing in place.
- Push notifications through APNs and Firebase Cloud Messaging at every step: confirmed, changed, done, car ready.
- Employee invites by email with a one-time code, EU data storage, in-app account deletion and no tracking.
The result
Scattered requests became one flow: a customer books, the owner assigns, the employee completes, and everyone is notified. The app went from first design to App Store approval in about two and a half weeks, after a full real-device test that produced 47 fixes before release.
Context
ART Smart Repair AB in Fagersta, Sweden, removes dents without repainting and repairs stone chips for private and business customers. A mobile team means every request, with photos, car data, location and preferred date, must become a scheduled job for the right employees, and every change must reach the customer, the owner and the team at once. It also had to pass Apple's review quickly, work for guests without an account, keep data in the EU and allow account deletion in the app.
What we delivered
One codebase for iOS and Android with four roles. The app is in Swedish and English, with Russian being added in the next release.
Customers and guests
- A request in a few steps: dent or stone chip, make, model and registration number, date with optional time, location, description and up to two photos.
- Guest booking with push notifications; private or company accounts with a 6-digit email code or phone login.
- Status updates when the time is confirmed or changed and when the car is ready, job rating and account deletion.
Super Admin
- A requests inbox with order numbers and assignment to up to three employees, with date, time and colour.
- A team calendar with month and day views, employee filters, status colours and editing in place.
- Staff invites with a one-time code, an archive, a notifications centre and a mandatory update prompt.
Employees
- Own jobs with full-screen customer photos that can be saved to the phone.
- A fixed "Mark as done" button that turns the job green and notifies the Super Admin.
Architecture and technology
- Expo, React Native, TypeScript: one codebase, EAS builds and store submission.
- Supabase and PostgreSQL: row-level security per role, Auth, photo Storage and Edge Functions over about 25 migrations.
- APNs and Firebase Cloud Messaging: real-time push via the Expo push service.
- Compliance: EU data region, no tracking, Android system Photo Picker.
Business value
Scattered requests became one system: a request turns into an assigned, tracked and completed job, with a notification at every step. A full real-device test with the live database, real emails and push produced 47 fixes before release.
Screenshots
Have a project?
We will tell you which technology fits your project and estimate the timeline and cost.