A repair, from request to rating.
Fiix is a service marketplace for booking technicians in Tbilisi and Batumi. A customer asks for a repair, an operator assigns the right technician, and the job is tracked until it is done and rated.
- Client
- Fiix
- Cities
- Tbilisi, Batumi
- Scope
- System design, backend, operator dashboard, marketing website, two mobile apps
- Platforms
- Web, iOS, Android
One system, four surfaces.
Operator dashboard
Where operators review requests, assign technicians and handle exceptions. Next.js 15 with shadcn/ui, React Query and Zustand.
Marketing website
The public face of Fiix. React 19, TypeScript and Tailwind CSS v4.
Customer app
Ask for a repair, say how urgent it is, follow the technician once the job is accepted, then rate it. Expo and React Native.
Technician app
Accept the job, head out, pause and resume, close it. Shares config, types, the API client and UI with the customer app in one monorepo.
Every job follows one path.
Live tracking starts when the technician accepts. A job can be paused, for example when the customer is out or a tool is missing, and resumed later. Every step is saved and visible to the operator.
- Requested
- Assigned
- Accepted
- On the way
- Paused
- Resumed
- Completed
- Rated
One backend, designed first.
- BackendLaravel 11 in a domain driven structure, PostgreSQL and Sanctum for sign in. The full database schema, designed first.
- System designA 31 section specification, written before the build and kept up to date.
Urgency sets the window.
Each job carries an urgency. Urgent and high jobs are booked for today or tomorrow, normal jobs within three to four days, low within a week. Assignment checks that the technician holds the trade. Next comes capacity scheduling, built on how long each job takes and how much of each technician's day is free.