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| Selection | Tags | Product | Code(s) | Category | Status | Details |
|---|---|---|---|---|---|---|
| Aegean mayonnaise dressing, box of 6#7684 | 7684 | Sauces | Public | |||
| Basil lemon vinaigrette, 750 ml#7841 | 7841 | Dressings | Public | |||
| Caesar dressing, 500 ml#7756 | 7756 | Dressings | Public |
Marketing
4 members, 3 onlineOne 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.
Channel visibility
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.
- 01
Find the record
Aegean mayonnaise dressing, box of 6#7684 · SaucesPublic - 02
Edit in context
EnglishΕλληνικάDeutschTitleAegean mayonnaise dressing, box of 6Description
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 - 03
Review a saved version
Version history
- 5 mins agoJohn Doe
- 2 hours agoMary Jane
- 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.
| Selection | Tags | Product | Code(s) | Category | Status | Details |
|---|---|---|---|---|---|---|
| Aegean mayonnaise dressing, box of 6#7684 | 7684 | Sauces | Public | |||
| Basil lemon vinaigrette, 750 ml#7841 | 7841 | Dressings | Public | |||
| Caesar dressing, 500 ml#7756 | 7756 | Dressings | Public | |||
| Chili crisp oil, 250 ml#7780 | 7780 | Condiments | Public | |||
| Classic burger sauce, 500 ml#7719 | 7719 | Sauces | Public | |||
| Green goddess dip, 240 g#7761 | 7761 | Dips | Public |
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.
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 25Same productContent and availability stay connected.
Channel visibility
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
- 5 mins agoJohn Doe
- 2 hours agoMary Jane
- 1 day agoJane Roe
- 2026-07-01 16:18Mary Major
- 2026-06-30 09:47Joe Bloggs
- 2026-06-28 11:05Erika Mustermann
Selected version
- Title
- Aegean mayo dressing, 6 pack
- Ordering
- After: Basil lemon vinaigrette
- Printing section
- Section 2
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.
- Draft created
- Content added
- Specs reviewed
- Pricing approval
- Channel setup
- Publish
Aegean mayonnaise dressing, box of 6
#7684Accounting
Commercial information for this product.
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 onlineSome 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
OnlineMove 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
OnlineIncoming call
David Zane, work mobile
+1 555 0134
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- 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 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.
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.