Skip to content

Xray/ Business platform design

Xray.
Many kinds of work.
One familiar workspace.

I designed the shared interface for a suite of business apps, tailored to each client’s domain and licensed capabilities—and connected the platform to websites, mobile apps and digital signage.

Read the case studyReview the full prototype
SelectionTags ProductCode(s)CategoryStatusDetails
Aegean mayonnaise dressing, box of 6#76847684Sauces Public
Basil lemon vinaigrette, 750 ml#78417841Dressings Public
Caesar dressing, 500 ml#77567756Dressings Public
RevenueThis month
€99,000+16.5%
This monthPrevious period

Marketing

4 members, 3 online
Victor Thompson

Morning team, the autumn promo brief is in the shared folder.

26 minutes ago

Great. The vendor call moved to 3 pm, invites are updated.

7 minutes ago
Different kinds of work. One shared interface.

One platform. Different responsibilities.

An owner needs oversight. A commercial team needs control of its catalog. Shipping and regional operations need clear handoffs. Xray supported that breadth through separate business apps, with shared interface conventions.

The breadth
Separate apps provided CMS, ERP and CRM capabilities for different business domains.
The app bar
The shared bar on the left opened the apps available to each client, according to its business domain and licensed capabilities.
My contribution
I designed the platform interface and built client websites and mobile apps on its foundation.

Group owner

Oversight across businesses and teams.

F&B operations

An accurate catalog, ready for each channel.

Cargo & shipping

Clear ownership at every handoff.

Regional logistics

Local work connected to the wider team.

Illustrative roles based on the platform’s business contexts.

The platform reached beyond its own screens.

Xray was the control center behind websites, mobile applications and digital signage. I designed the management interface and built client experiences on that same foundation.

A common source
Manage content and business records centrally, instead of maintaining a disconnected copy for every surface.
Different destinations
Let the experience fit the website, app or physical screen while keeping its content connected to the platform.
Explicit control
Keep language and availability choices visible, so managing one record does not mean treating every destination identically.
Manage once. Choose where it appears.

Channel visibility

Available in all channels
Available in specific channels
Distribution channels
Publishing channelWebsite
Publishing channelMobile app
Publishing channelDigital signage
WebsitesCustomer & business portals
Mobile appsWork beyond the desktop
Digital signageContent on physical screens

Keep the record at the center of the task.

Inside the Products app, work extended from the collection into editing, distribution and previous versions. I kept the record’s identity visible across those views, using conventions that could remain familiar across Xray’s apps.

Find the record
Read the name, code, category and publication state before opening a product.
Edit the product
Work with the actual title, description, language, categories and channel availability.
Inspect its history
Compare a saved version with the current record before deliberately restoring it.
One product, throughout#7684
  1. 01

    Find the record

    Aegean mayonnaise dressing, box of 6#7684 · Sauces
    Public
  2. 02

    Edit in context

    EnglishΕλληνικάDeutsch
    TitleAegean mayonnaise dressing, box of 6

    Description

    Silky egg free mayonnaise dressing whipped with Aegean olive oil and a squeeze of lemon. Sold as a wholesale box of six 470 ml bottles.

    Word count 25
  3. 03

    Review a saved version

    Version history

    1. 5 mins agoJohn Doe
    2. 2 hours agoMary Jane
    3. 1 day agoJane Roe

    Selected version

    Title
    Aegean mayo dressing, 6 pack
    Ordering
    After: Basil lemon vinaigrette
    Printing section
    Section 2
    CancelRevert changes

First, make the record recognizable.

Similar names make a collection hard to scan. I put the product code, category and publication state beside the title so a person could establish identity before making a change.

Find
Search by name or code without leaving the collection.
Distinguish
Show the selected record and explain when another person has it locked.
Carry forward
Keep the product’s identity visible in the next part of the task.
SelectionTags ProductCode(s)CategoryStatusDetails
Aegean mayonnaise dressing, box of 6#76847684Sauces Public
Basil lemon vinaigrette, 750 ml#78417841Dressings Public
Caesar dressing, 500 ml#77567756Dressings Public
Chili crisp oil, 250 ml#77807780Condiments Public
Classic burger sauce, 500 ml#77197719Sauces Public
Green goddess dip, 240 g#77617761Dips Public
Aegean mayonnaise dressing, box of 6#7684 · Sauces
Public
The name, the code and the state. One recognizable record.

Keep content and destination together.

The same product could have several languages and distribution channels. I gave those variations a common editing structure instead of treating each as an unrelated task.

Content
Group title and description with a clear language choice.
Destination
Keep channel availability attached to the product it affects.
Commit
Distinguish unsaved changes from saved content and provide a deliberate way to cancel.
EnglishΕλληνικάDeutsch
TitleAegean mayonnaise dressing, box of 6

Description

Silky egg free mayonnaise dressing whipped with Aegean olive oil and a squeeze of lemon. Sold as a wholesale box of six 470 ml bottles.

Word count 25

Same productContent and availability stay connected.

Channel visibility

Available in all channels
Available in specific channels
Distribution channels
Publishing channelWebsite
Publishing channelMobile app
Publishing channelDigital signage

Inspect the past before replacing the present.

A timestamp tells someone when a version existed. It does not tell them what they are about to restore. I paired history with the saved values and kept restoration as a separate action.

Inspect
Select a version and read the author, time and changed values.
Decide
Confirm the specific restoration, or return without changing the record.
Recover
Keep feedback and a route back to the previous state beside the decision.

Version history

  1. 5 mins agoJohn Doe
  2. 2 hours agoMary Jane
  3. 1 day agoJane Roe
  4. 2026-07-01 16:18Mary Major
  5. 2026-06-30 09:47Joe Bloggs
  6. 2026-06-28 11:05Erika Mustermann

Selected version

Title
Aegean mayo dressing, 6 pack
Ordering
After: Basil lemon vinaigrette
Printing section
Section 2
CancelRevert changes
Inspect the saved values before choosing what to restore.

Every stage needs a clear next step.

Finishing the content is only one part of getting a product ready. The workflow keeps completed, current and upcoming stages visible, with the product’s requirements beside the next action.

Orient
Use a compact numbered sequence to show progress without competing with the editor.
Resolve
Keep a missing title, description or channel choice in the working context, with a specific explanation.
Continue
Advance when the requirement is complete, and show what the action changed.
  1. Draft created
  2. Content added
  3. Specs reviewed
  4. Pricing approval
  5. Channel setup
  6. Publish

Aegean mayonnaise dressing, box of 6

#7684

Accounting

Commercial information for this product.

Tax category
Add tax category
Currency
EUR
Wholesale price
Add wholesale price
Cost center
Add cost center
Pricing approval · step 4 of 6
BackContinue

A shared thread keeps a team in sync.

Work across Content, Marketing, Sales and Operations does not fit inside a record’s fields. Team conversations opened in floating popovers over the current app, so people could discuss the work while keeping it in view.

Shared discussion
A named team thread makes the audience clear and keeps the exchange together.
Recognizable people
Authors, avatars and timestamps help someone understand who said what.
Continuity
A team thread and a direct conversation could stay open side by side, with the current app underneath.

Marketing

4 members, 3 online
Victor Thompson

Morning team, the autumn promo brief is in the shared folder.

26 minutes ago
Olivia King

Nice. I will pull pricing for the dressings range before lunch.

12 minutes ago

Great. The vendor call moved to 3 pm, invites are updated.

7 minutes ago
Aa

Some questions need one person, now.

A team thread and a direct conversation serve different needs. The people dock opened a contact popover with calling, text, email, tasks and location together, while the current app stayed in place.

Find the person
Use identity and presence to make the recipient unmistakable.
Keep the exchange
Read recent messages and write a reply in the same compact pane.
Escalate naturally
Text and calling belong to the same communication space, so the medium can change with the question.

David Zane

Online
PresenceOnline
CallTextE-mailTasksLocation
HomeWorkMobile

Hi David! How are you?

7 minutes ago

Doing good, you? How is that presentation going? If you need any help please let me know!

5 minutes ago
Aa
Send in chatSend as SMS/MMS

Move from a message to a conversation.

When typing is not enough, calling needs to feel like a continuation of the work. I made the person and call state the center of the interface, with a small, predictable set of controls.

Before the call
Show who is calling and provide clear answer and decline actions.
During the call
Keep mute, speaker, hold and keypad available, with visible states.
After the call
Provide an unmistakable end action and confirmation that the call has finished.

David Zane

Online
PresenceOnline
CallTextE-mailTasksLocation

Incoming call

David Zane, work mobile
+1 555 0134

RejectAnswer
On a call, work mobile00:15
End callMuteSpeakerHoldNumpad

Keep the follow-up from disappearing.

A conversation can resolve a question, but it can also create more work. Personal task management gave people a persistent place to track that work alongside the platform’s other capabilities.

Make it concrete
Give each task a readable title and an explicit status.
Keep it actionable
Add a task or change its state without navigating away from the working context.
Show completion
Distinguish work in progress from completed work, with a way to reopen it.

David Zane

Online
PresenceOnline
CallTextE-mailTasksLocation
1 of 6 done
  • Harbor cafe websiteIn queue
  • Mobile app UI kitDone
  • Xray platform designOn hold
  • Bakery chain rebrandIn progress
  • Coffeelab designIn queue
  • Delivery app landing pageIn progress

Flexibility needs familiar ground.

Designing the interface and building on the platform made the connecting thread clear: people should be able to carry what they have learned into the next app, even when different clients have different sets of apps.

The design outcome
A shared app bar and consistent record, editing and feedback patterns across a suite of business apps, connected to websites, mobile apps and digital signage.
The tradeoff
Each app needed room for its own work while preserving the platform’s common conventions.
What I would evaluate
Whether people can identify the right record, recover a change and hand work over without losing context.
A familiar way throughRecognize. Act. Recover.
Aegean mayonnaise dressing, box of 6#7684 · Sauces
Public
Keep the context. Make the choice explicit.
Move the work forward
BackContinue
Keep a way back
CancelRevert changes

A shared shell. Different ways to work.

Each task gets the view it needs.

The app bar stays familiar while the workspace adapts to the job: a document gallery, an invoice ledger, an order board, a campaign calendar. This interactive reconstruction makes those differences tangible.

Open full view

Recognize the record before changing it.

A compact catalog keeps names, codes and publication states together. The bordered editor slides over the collection, preserving the context underneath.

Open a product, edit its content, or inspect its history.

Sample data. Edits stay in this preview as you switch apps; reloading resets them. Payments, publishing and conversations are simulated.

The narrative illustrations reproduce the Xray interface with sample data. The full app above is interactive; edits and simulated actions remain local to that preview.