Replacing phone calls and paper logs with one operational platform

From messy operations to one clear system. An all-in-one refrigeration and AC service platform for businesses across the UAE.

Role
Product Designer
Duration
6 Months
Industry
HVAC-R & Cold chain
Tools
Figma, Miro
Role
Product Designer
Duration
6 Months
Industry
HVAC-R & Cold chain
Tools
Figma, Miro
Role
Product Designer
Duration
6 Months
Industry
HVAC-R & Cold chain
Tools
Figma, Miro

About Thallaja

Thallaja (ثلاجة, Arabic for “refrigerator”) is a unified platform for refrigeration, cold storage and air-conditioning operations. It brings maintenance, spare parts, rentals, installations and annual maintenance contracts (AMC) into one app for businesses, plus a companion app for the technicians who do the work.

I designed the product end to end: research, information architecture, the customer app, the technician app, and the design system that holds both together. The goal was simple to say and hard to do: replace a scattered process of vendors, phone calls and paperwork with one place to manage every cold-chain need.

5

services in one app

2

apps: customer and technician

200+

screens designed in Figma

1

design system behind it all

01

The challenge

The context

Cold-chain businesses run equipment that can’t afford to fail: pharma storage, restaurant cold rooms, reefer trucks. When a walk-in freezer or a warehouse AC goes down, stock and revenue disappear by the hour.

The problem

Getting that equipment fixed meant calling around. One vendor for maintenance, another for spare parts, a third for rentals, each reached by phone or WhatsApp.

There was no record of what was requested, what it cost, or when a technician would actually arrive. No app, no dispatch, no tracking. Just a phone number and hope.

The brief

Design one platform where a business can find the right service, book it on demand, order parts and track every job, without chasing anyone down. And give technicians a tool that keeps their side of the job just as clear.

The stakeholders

As the only designer on the product, I worked with five groups of stakeholders. Weekly reviews and demos kept all of them looking at the same version of the product as it took shape.

Founder

Client company

Operations

Sales

Developers

Operators don’t think in services.

They think in problems.

The insight

The early plan was five separate tools, one per service. Watching how operators actually work changed that. A broken cold room, a part to replace, a unit to rent: they start from the problem, not from a product category.

So instead of five products, we built one system with five entry points, sharing the same language, the same components and the same logic. One platform that mirrors how the industry operates, not how software usually slices it up.

02

Who it’s for

Two sides of the same job

Every service request has two people in it: the business that needs help, and the technician who shows up. The product had to work for both, at the same time.

Customer app

The operator

Restaurant owners, warehouse and pharma managers, fleet operators. Busy, on the move, and usually on WhatsApp.

Book the right service fast

Know what’s happening without calling

Trust the person who walks in

Pay clearly, with a record

Technician app

The technician

Field engineers moving between sites all day, often in loud, cold, badly lit places.

Clear job details before arriving

Directions to the exact site

Quick inspection and estimate

Less paperwork, fewer callbacks

03

Architecture

Before the screens, the architecture

Five modules and dozens of decision points. Before designing a single screen I mapped every user path, system branch and alternate flow, so each module could plug into the same home, the same checkout and the same activity feed.

Home

Maintenance

Book a technician

Air conditioning

Home · Commercial · Car

Refrigerators

Home · Commercial

Cold room

8 room types

Reefer

Container · Vehicle

Other

Plumbing · Electrical · Battery

Shop

Parts & tools

Categories & brands

Search & filters

Product details

Cart & checkout

Returns & refunds

Rentals

Temperature controlled

Vehicles

Cold / AC storage

Equipment

Dates, deposit & delivery

Install

Get a quote

AC installation

Cold room build

Enquiry form

AMC

Smart warranty

Contract enquiry

Quotation

Scheduled visits

My Activity

Bookings, purchases, quotations, saved

Checkout

Card, Apple Pay, Tabby, Tamara, cash

Profile

Saved sites, addresses, account

04

The product

Five modules. One home.

The home screen had a hard job: introduce five very different services without overwhelming anyone. Each module gets its own card with a plain label and a one-line hint (Book a maintenance, Shop now, Rentals, Install, Get AMC), and anything already in motion, like an active cold-storage rental, sits right below with the time remaining.

Welcome

Get started, or look around as a guest

Home

Five modules, and anything already in motion

Shop

Categories and trusted sellers up front

Getting in with just a phone number

Most operators live on their phones and on WhatsApp, so sign-in is a mobile number and a 4-digit OTP. No passwords, no email. Country codes for the GCC are one tap away, and a guest mode lets first-timers look around before committing.

Splash

Welcome

Mobile number

Country code

Send OTP

Enter code

Code entered

Your name

Onboarding: a mobile number and a code, no passwords

05

Booking a service

Four categories. One simple decision.

Maintenance covers air conditioning, refrigerators, cold rooms and reefers, each with its own equipment types. Underneath, every one of them runs on the same request flow, so learning to book one means you can book them all.

Pick the equipment

Eight cold room types, each with a picture

1

2

3

Describe the problem

A few taps instead of a phone call

01

Urgency first

Emergency or Standard is the very first choice. The operator sets the priority up front, without second-guessing it later.

02

Tap, don’t type

The issues teams run into most (not cooling, temperature imbalance, ice inside, fan not working) became quick-select chips. Faster, with far less friction.

03

Photos before the visit

Attaching photos lets the technician see the problem before they arrive, so they bring the right tools the first time instead of driving back.

Confirm & pay

Fee, summary and edit, before paying

Booked

A clear moment of confirmation

06

Tracking

Visibility from booking to completion

Once a booking is confirmed, the customer hands over physical access to their facility, and a technician they’ve never met shows up. The verification PIN exists because trust has to be designed into that handoff, not assumed. The 4-digit code is shared with the technician before any work begins, turning a vague “the guy from Thallaja showed up” into a verified service event.

Request sent

Technician assigned

On the way

Inspection started

Estimate sent

Repair ongoing

Completed

1

2

Scheduled

Verification PIN and live progress

3

Inspection overview

Documented before any estimate

01

Verify the handoff

The PIN is shared with the technician before any work begins, so the person at the door is confirmed, not assumed.

02

Status without the calls

Every step updates live, so the customer doesn’t have to wait on site. They run their business and check in only when it matters.

03

A documented inspection

Photos, the issue description and the named technician with a direct call button, then one clear next action: View estimate.

The estimate splits labour and materials line by line, supports partial payments, and needs an explicit approval before any repair starts. Nothing in this flow is decoration. Every element exists because cold-chain operations don’t pause for unclear updates or unverified service calls.

Scheduled

Inspection

Estimate

Approve

Pay

Paid

Repair ongoing

Repair complete

Rate

The full repair journey, from scheduled visit to rating

07

Technician app

The other side of the job

Every status the customer sees is triggered by something the technician does. So I designed the technician app as the mirror image of the tracking flow: nothing appears on one side without an action on the other.

Technician does

Customer sees

Takes the job

→

Technician assigned

Starts navigation to site

→

On the way

Enters the customer’s PIN

→

Inspection started, verified on site

Submits inspection report

→

Inspection overview with photos

Generates the estimate

→

Estimate sent, ready to approve

Completes the repair

→

Completed, invoice and rating

Dashboard

Requests, alerts and team status at a glance

Job details

Equipment, issues and notes before arriving

Navigation

Route and ETA that power “On the way”

PIN verification

The handshake that starts the job

Inspection report

Condition, remarks and photos

Estimate

Labour, materials and duration in one step

08

Shop, rentals & installs

Parts, rentals and everything in between

The shop works like any good marketplace, with a few cold-chain details: stock status on every product, trusted sellers up front, and pay-in-4 with Tabby for bigger orders. Installs and AMC aren’t checkouts at all. They need a quote, so they’re short enquiry forms that a sales team picks up.

Cart

Stock status and quantity, always visible

Install enquiry

A quote request, not a checkout

Sign in

One number, one code

Return confirmed

Return details

Refund account

Report a problem

Refund pending

Refund success

Returns & refunds: every state spelled out, from request to money back

09

Edge cases

Designing for when things go wrong

Field work doesn’t happen on perfect Wi-Fi. Every critical flow has its empty, error and loading states: offline, server error, no results, payment failed, under maintenance, plus skeleton loading for the heaviest screens. Each one says what happened in plain words and offers one way forward.

Offline

One clear action: retry

Payment failed

Calm copy, no dead ends

Loading

Skeletons that match the real layout

11

Reflection

What I learned

01

Design the handoff, not just the screens

The hardest moment in this product isn’t on a screen. It’s a stranger walking into your cold room. The PIN, the live status and the named technician are all there to make that moment feel safe.

02

Design both sides together

Building the technician app alongside the customer app kept every status honest. When one side changed, the other had to change with it, and that caught gaps early.

03

Systems let one designer scale

As a solo designer across five modules, the design system was the only way to move fast without the product slowly drifting apart.

04

What’s next

Field usability tests for booking and tracking, then measuring what matters once the app is live: booking completion, time to assign a technician, and repeat bookings.

10

Design system

Holding it all together

Five modules and two apps only stay consistent with a shared foundation. Midway through, I audited every screen, pulled out the drift, and rebuilt it as a token-based system: 70+ primitives, 50+ semantic tokens, 20 text styles and 19 core components with 212 variants, each one bound to variables instead of hard-coded values.