Role Separation in a Multi-Sided Marketplace: The Buyer, Seller and Driver Worlds
A marketplace is multi-sided. Its value depends on serving several groups at once, each of which needs the others. Cyca has three. Buyers browse, talk to shops and pay. Sellers list products, take orders and go live. Drivers accept jobs and carry goods and people across a city. One person can be all three in a single day.
These roles do not only differ; their priorities compete. A buyer's screen is built for discovery and should be generous with space and choice. A seller's screen is built for operations: orders waiting, stock running low, money owed. A driver's screen is built for attention on the road, which means as little as possible on the screen and one decision at a time. An interface that tries to serve all three at once serves none of them well. Tools meant for one role end up in front of another, and every screen carries controls that most of the people looking at it will never use.
Three worlds
Cyca now runs as three worlds, one for each role, and the app is always in exactly one of them. Each world has its own home, its own tools and its own navigation. The buyer's world is the marketplace. The Business world is organised around a shop's operations, with five sections: Home, Orders, Menu, Money and More. A business that uses Cyca only for delivery sees a delivery dashboard there instead. The Drive world is organised around a map and a single duty switch.
The middle tab of the app is named for the world you are in: Live shop, Business or Drive. It is the one piece of navigation all three worlds share, so it is also the thing that tells you where you are.
The separation is strict. Nothing from one world is drawn inside another. The switch between buying and selling that used to sit at the top of the marketplace has been removed, because a control for leaving a world does not belong in the middle of it. The Profile page follows the same rule. A buyer's profile shows purchases, saved items and payment methods; a seller's profile does not; a driver's profile shows neither.
One account, one number
Separating roles raises an obvious question: why not separate apps, or separate accounts? Many platforms take that route, with one app for customers, another for merchants and a third for couriers. We considered it and chose otherwise, for two reasons.
The first is that people are not their roles. The shop owner who sells in the afternoon buys in the evening, and the driver finishing a shift is somebody's customer. Separate apps would ask them to install, update and sign in three times, and would scatter their messages and contacts across three places. On Cyca, one account and one phone number carry everything. A shop and a driver profile are attached to the account, the way roles attach to a person, rather than existing as separate identities.
The second is that some things should not be separated. Conversations and calls are between people, not roles. Connect, where messages and calls live, is the same in every world, and a call reaches you whichever world you happen to be in.
Moving between worlds
Moving between worlds is a deliberate act, and it has one place: Profile, which offers the two worlds you are not currently in. A new account states its purpose on the welcome screen, whether to use Cyca, run a business or drive, and starts in the right sign-up instead of having to look for it.
The app remembers where you were. It opens in the world you last used, on that world's own page, so a driver starting a shift arrives at the map and a seller opening in the morning arrives at the shop.
Notifications follow the same logic. A new order opens the Business world. A delivery offer opens the Drive world. Each notification takes you to the world it belongs to, so the tools in front of you are the ones the moment calls for.
Focus, and speed
Separation has a practical consequence as well as an organisational one. Only the world you are in is drawn. The other two are not rendered behind it, so a driver's map does not share the screen with a marketplace grid, and a seller's order board does not carry a buyer's feed underneath it. On the road, the map owns every sideways gesture, so panning it never slides the app onto a different page.
Each world carries only its own work. The device does less, and the person holding it has fewer things competing for their attention.
The principle
In software engineering this is called separation of concerns: each part of a system does one job and does not need to know the internals of the others. It is usually applied to code. Here it is applied to the people using the system, on the view that a person doing one job deserves a tool built for that job, and that being able to do three jobs should not mean carrying all three at once.