AppVion Studio logo AppVion Studio Case study

Property maintenance platform

ProFix: a field service command layer for modern maintenance teams.

A Kotlin Multiplatform maintenance workflow connecting property managers and the contractors who do the work — job assignment, proof of work, progress visibility, and manager approval in one system instead of four phone calls and a paper docket.

Kotlin Multiplatform Compose Multiplatform Supabase Work orders Multi-role
3 roles Android & iOS from one codebase Offline-capable
ProFix dashboard showing open, active and completed work order counts with sync status

The problem

Maintenance work is coordinated by whoever is willing to keep chasing it.

Context

A property manager looking after multiple sites is the hub of every maintenance job — taking the report, finding an available contractor, confirming the work happened, and answering for it if an owner asks later.

What kept breaking

Jobs lived in phone calls and messages, so nothing was searchable. Nobody could say which jobs were open right now without asking around. And "it's done" was a claim, not a record — which made invoice disputes unwinnable in either direction.

The real requirement

A shared state that all three parties read from and write to: the manager who raises the job, the contractor who does it, and the admin who oversees the whole portfolio.

Inside the app

Screens from the build.

ProFix sign in screen
Sign InRole-based entry
ProFix dashboard with work order counts and sync status
DashboardOpen, active and done
ProFix settings screen with invite codes and account management
SettingsInvite codes and account

The approach

Three roles, one shared job state.

01

Property manager

Raise a work order against a property, assign it to a contractor from the directory, and watch its status move without chasing anyone.

02

Contractor

Join by invite code, see assigned jobs, work through them, and attach proof of completion from the phone already in hand.

03

Admin

Oversee the full portfolio: every property, every contractor, every open job, plus billing and plan management.

04

Shared core

Domain models, repositories, and business rules live in shared Kotlin so Android and iOS cannot disagree about what a job's status means.

Engineering highlights

The parts that were harder than they look.

Invite-code onboarding

Contractors are not customers — they should not self-register into someone else's portfolio. Access is granted by a manager-generated invite code, so the contractor directory stays a curated list rather than an open sign-up form.

Proof of work

Before and after records attach to the job itself, not to a chat thread. When an invoice is queried months later, the evidence is already sitting on the record rather than somewhere in a phone's camera roll.

Sync you can see

The dashboard states its own sync status rather than silently assuming it is current. A field worker with poor signal can tell the difference between "nothing to do" and "we have not heard from the server lately" — a distinction most apps quietly collapse.

Shared logic, native shells

Compose Multiplatform with Koin dependency injection and a local SQLDelight cache. Business rules are written once; each platform keeps its own native presentation.

Technology

The stack behind ProFix.

Kotlin Multiplatform Compose Multiplatform Material 3 Coroutines & Flow Supabase Supabase Auth SQLDelight Koin Role-Based Access

More case studies

Other operational systems we have built.

Logistics platform

D. Delivery

Three-app Kotlin Multiplatform delivery platform with dual video proof of delivery, expanding-radius dispatch, and server-enforced cash reconciliation.

Read the Case Study
Fleet dispatch platform

SnowGrid

Three-role snow removal management platform with live dispatch mapping, area measurement, photo verification, and Stripe escrow.

Read the Case Study
All work

Full portfolio

Every case study and product demo in one place, across logistics, field service, education, events, and SaaS.

Browse all case studies

Start the conversation

Managing properties, crews, or contractors?

Job assignment, proof of work, and getting paid for it — if that runs on phone calls and a spreadsheet today, it is usually a strong candidate for the same treatment.

WhatsApp Start Project