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.
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.
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.
