Three ways to organize the bottom-tab navigation. Each shown as 4 phones (one per role)
so you can see the actual tab bars side by side. All in the locked Terracotta palette.
Recommended · what we mocked up
A · Universal shell, role-adaptive labels
Same 4-tab shell for everyone. The middle two swap label/content by audience.
Cont (last tab) holds everything else, revealed by permission.
9:41● ● ●
retailer_worker
Bună, Maria
2 produse aproape epuizate
retailer_worker
4 tabs
9:41● ● ●
retailer_owner
Bună, Andrei
5 produse aproape epuizate
retailer_owner
4 tabs (Cont is fuller)
9:41● ● ●
distributor_agent
Bună, Ion
3 comenzi noi azi
distributor_agent
4 tabs · "Produse" not "Catalog"
9:41● ● ●
distributor_owner
Bună, Mihai
12 comenzi azi · 3 livrări
distributor_owner
4 tabs · Cont has analytics, deliveries, etc.
Pros
- Muscle memory: same shape for everyone
- Easy to teach: "Acasă, Catalog, Comenzi, Cont"
- Scales — new features go into Cont, tabs never grow
- 4 tabs is iOS-native, comfortable thumb reach
- An owner who occasionally works the floor doesn't need to re-learn anything
Cons
- "Cont" gets long for power users — needs careful sectioning
- The label swap (Catalog↔Produse) requires explanation if you switch orgs/roles
- Distributor analytics, deliveries, promos live in Cont — slight extra tap
Alternative
B · Per-role bespoke tabs
Each role gets its own tab bar tailored to its job. Different number of tabs per role,
different layouts to learn.
9:41● ● ●
retailer_worker
Bună, Maria
Plasează comanda săptămânală
retailer_worker
3 tabs
9:41● ● ●
retailer_owner
Bună, Andrei
3 lucruri așteaptă atenția
retailer_owner
5 tabs (Echipa added)
9:41● ● ●
distributor_agent
Bună, Ion
3 comenzi noi azi
distributor_agent
3 tabs · order-first
9:41● ● ●
distributor_owner
Bună, Mihai
+18% vs săptămâna trecută
distributor_owner
5 tabs · Analiză promoted
Pros
- Each role's daily work is one tap away — no digging
- Power users (distributor_owner) get analytics as a tab, not buried
- Worker sees fewer tabs — feels less overwhelming
Cons
- 4 different tab layouts to design, build, test, and document
- An owner working the floor sees a different shell than when doing admin
- Onboarding someone new to the app means "depends on your role…"
- Variable tab counts (3 vs 5) — visual inconsistency
- Hard to add a new tab later without rebalancing all 4 role variants
Alternative
C · Activity-centric (verbs, not features)
Same 4 tabs for everyone, named by activity. Content adapts to role. Conceptually clean
but abstract — labels don't tell you what's inside.
9:41● ● ●
retailer_worker
Bună, Maria
— wait, where do I order from?
retailer_worker
"Piață" = browse + buy
"Operațiuni" = track orders
9:41● ● ●
retailer_owner
Bună, Andrei
Same 4 tabs as everyone
retailer_owner
Same shell
9:41● ● ●
distributor_agent
Bună, Ion
Same 4 tabs
distributor_agent
"Piață" = manage products
"Operațiuni" = fulfill orders
9:41● ● ●
distributor_owner
Bună, Mihai
Same 4 tabs
distributor_owner
Same shell
Pros
- Truly universal — no per-role variation at all
- Abstract verbs scale to any future feature
- Smaller localization burden — fewer label strings
Cons
- "Operațiuni" / "Piață" is corporate jargon for a 45-yr-old shop owner — labels don't tell you what's inside
- Higher learning curve — opposite of "100% intuitive"
- Translation between role mental model ("I want to place an order") and tab name ("…Piață? Operațiuni?") adds friction
- You can't say "tap Catalog" to a user on the phone — you have to explain what Piață means
Why A wins for this product: a 45-year-old shop owner needs to repeat back what the
bottom buttons do after one use. "Acasă, Catalog, Comenzi, Cont" passes that test in any language.
"Piață / Operațiuni" doesn't. Per-role bespoke tabs would also work, but the price is 4 layouts to
teach, maintain, and dogfood — and a discontinuity for anyone who works across roles.
← back to index