Skip to content
Josef Richter

Case study

Enaia on a phone

Enaia is a CRM for commercial real estate brokers. Until summer 2026 it had fixed layouts, completely unusable on a phone. Between June and October 2026 we made it responsive and shipped a native iOS app around it.

I owned the design direction for mobile, and designed and built the responsive web layer myself. Below is every navigation variant we considered, with the reasoning and the usage data behind it.

✓ shipped ✕ dropped → next step or idea

Starting point

98% of sessions were on desktop, in an industry where work away from the desk is very common. Many sessions were brief on-the-go tasks: a reminder, a contact, a note.

So responsive web came first, then a native Swift shell around the web views, chosen over React Native for the native navigation.

Desktop usage

Five sections on desktop, used very unequally. Prospects is the product. Search, reminders and the account menu are used far less than they look.

Desktop navigation with heat circles sized by the share of sessions that use each item

The tab bar

Five sections fit five tab slots. Then search and reminders asked for more room, and something had to give.

Five tabs mapped one to one from desktop
→
A0Five tabs, one to one

In hindsight, this is where we should have started.

  • Zero structure changes
  • Shippable immediately
  • Carries over the weaknesses of the desktop app
Custom capsule, collapsed → Custom capsule, expanded into a list
✕
A2Expandable custom menu

Native navigation was one of the reasons to go native. A custom bar throws that away.

  • Every section stays reachable
  • Against the HIG
  • Hides sections like a hamburger menu
Search as a sixth tab
✕
A1Search as a sixth tab

The Facebook pattern. Still bad, people are just used to it.

  • Every section keeps a tab
  • Requires a custom component
  • Six labels don't fit
Accounts removed, separate iOS 26 search tab
✓
A3Remove Accounts

The iOS 26 search tab sits apart, so four section slots remain. Much of Accounts use was typing a name to find one account.

  • Account pages open from Prospects 3x more often
  • Inactive accounts only reachable via search
Clients removed, separate search tab
✓
A4Remove Clients

Clients is the same account record at a later stage, and the board already has a Clients column.

  • Clients is in only 5% of sessions
  • Different workflow than prospecting

Search

Real search use on desktop is about 8% of sessions, and typing on a phone is slow. I wasn't convinced more prominent search solves the real need: getting to one account fast.

Search tab with recent items and shortcuts
✓
B1Search as a tab

A discovery page first, the keyboard only after a tap.

  • Recent items without typing
  • Takes a tab slot
Search as a separate button → Keyboard opens at once with recent items above
✕
B2Search as a button

Straight into typing, and closing returns to the previous tab.

  • One tap to typing
  • Typing on a phone is slow

Today

Reminders reach 47% of users monthly and were the strongest reason to open the app on a phone. So they became the first screen.

Today tab with reminders, notifications and goals
✓
C1Today replaces the bell

Shipped in September and October 2026. No need to find an account to see what's due.

  • Reminders on the first screen
  • Clients has no direct entry point
Teams button in the navigation bar, Clients back in the tab bar
→
C2Teams joins the account button

The account menu is in under 3% of sessions, Teams in 4%. Combining them frees a tab for Clients.

  • Both used infrequently
  • Needs a combined screen

Accounts, Prospects and Clients are one record

In the database they are one entity with a stage. Desktop shows the stages as a table, a board and a list.

Seven account stages
All Accounts as a table
All Accounts: table, 22% of sessions
My Prospects as a kanban board
My Prospects: board, 70%, default after login
Clients as list and detail
Clients: list and detail, 5%
One board with every stage → Title menu selecting which stages to show
→
E1One board for every stage

One tab replaces three sections. A menu in the title picks which stages are shown.

  • Any stage change is one drag
  • Standard system menu
  • Seven columns to swipe

In hindsight

We over-engineered the app structure too early. A0 first, then Today and the rest as product-wide decisions, tested with a beta and real data.