← Alyona Moskalets

Product designer · interface and flow · SaaS scheduling

zcal

A scheduling tool does nothing for you until you have a link people can book. This is a redesign of the flow that makes one.

Role
Sole designer
Team
None — self-initiated
Timeline
2025 — 2026
Tools
Figma · components and variables
Status
Concept — nothing shipped
The redesigned setup: a list of booking links behind a dimmed page, with a panel open on the right asking what kind of link to make

Setup happens over the page you started on. The names and meetings in every frame are made up.

  1. Counted the flow before redesigning it. Four steps and a confirmation — the same as my redesign. The first version of this case claimed eight, and the claim did not survive the count.
  2. Seven controls decide when you can be booked, and four of them are on a screen called Display options. Nothing on the availability screen says half the answer is still ahead.
  3. Put all seven in one step. The final screen went from 19 controls to 14, and every one of them has a default.
  4. Took the theme out of the link. It sits in step two among fields that belong to that link alone, and it changes every link you have.
  5. Drew the setup three times — modal, side panel, panel over your own list — and named what each one gives up.
  6. No result is claimed. No users, no analytics: every effect here is a hypothesis with the number that would settle it.

Switch to Detailed for the counts behind each line.

What I did

  • Walked the live product as a new user and wrote down every stop, guess and step backwards
  • Counted the setup flow against the claim in my own first version — four steps and a confirmation, not eight
  • Mapped all 19 controls of the final screen and placed each one by what it decides
  • Redesigned setup as a four-step panel in which step three holds all seven time controls
  • Moved appearance out of the link and into account settings, where its effect already was
  • Drew the flow three times and named what each version gives up

Not mine: everything else. zcal is somebody else’s live product, this is an unsolicited concept, and no part of it has shipped.

Conditions

  • No analytics, no users, no team. The only evidence is the product as a stranger meets it.
  • A free account. Round robin and collective scheduling are paid, so I could read them but not use them.
  • One comparison. Calendly is the product zcal names itself against, so it is the only habit I treated as a convention.

Four steps is not the problem.

At least not the one worth fixing. zcal asks four steps and a confirmation to make a booking link, and so does my redesign.

My own first version of this case said eight. I counted again on the live product: four. A number that cannot survive two minutes with the thing it describes does not belong in a portfolio.

What costs you is not how many screens setup has. It is which screen each control is on.

The price: the case lost the big number in its headline. The number was wrong, so the headline had to go.

Your availability is set on two screens.

Seven controls decide when someone can book you. Three of them — date range, weekly hours, timezone — are on the screen called Available times.

The other four wait on the next screen, under Display options: minimum notice, buffer before, buffer after, booking frequency. Nothing on the first screen says that half the answer is still ahead.

In the redesign all seven stand in step three, in the order the questions occur to you: how far ahead, how many, how soon, the gaps around each, which timezone, which hours.

The price: step three is now the densest screen in the flow — seven controls against two on step one. Density was the trade I took over going back.

Step three of the panel with each control labelled: how far ahead, how many meetings, how soon and the gaps around each, which timezone, which hours
Step three, annotated. Seven controls, one question each — four of them used to live two screens away.

A setting inside one link changes all of them.

The Design section sits in step two, among fields that belong to this link alone: name, duration, location, description, URL.

The theme it edits is not the link’s. zcal’s own Appearance page states that a new theme changes every invite and profile page you have.

So it left the flow for that page, where its effect already was and where the sentence explaining the scope was already written.

The price: anyone who expects to brand a link while making it now has to leave setup to do it. That is the first thing I would put in front of a user.

The Appearance page in account settings: a gallery of nine themes and a custom theme editor, with the sentence about the change applying everywhere outlined
Appearance in account settings. The line that states the scope is part of the page, not something you find out afterwards.

One object, four names.

You select a new link type, then create a 1-on-1 invite — the same title on three screens running — and finish at Invite created. The navigation calls the whole category Events.

None of those three screens says which one you are on, or how many are left.

In the redesign the object is a link everywhere, and every step carries its number and its question: Step 3 of 4 · Date range & limits.

The four names one object carries in the current product, each inconsistent word marked
The four names one object answers to in the current product.

Four steps, each answering one question.

The count did not change. What changed is that a step now has one question instead of a heading.

Type, then the basics, then everything about when, then the fine-tuning. The fourth step has a default for all 14 of its controls, so it can be one click on Create.

The last screen is built for sending the link rather than announcing it: a preview, a copy button, and the ways people actually send one.

The price: four steps still look like four steps. Nothing on screen advertises the gain, because the gain is in the going-back that no longer happens.

The redesigned flow as five panels: what kind of link, basic info, date range and limits, fine-tune, and the screen that hands you the link
The flow end to end. The fourth step is the only one you can finish without touching anything.

Nothing was dropped to make the flow look shorter.

A redesign that simplifies by quietly deleting options is not simpler, only smaller. So every control of the old final screen was placed somewhere.

Of the 19: four moved to step three, one moved to step two beside the duration it belongs with, and 14 stayed in the last step. One — hiding the reschedule and cancel links — I have not placed yet, and it is named in the unfinished list rather than dropped.

Every setting of both flows as a chip, in two columns: the time chips scattered on the left and gathered into step three on the right
Both flows, control by control. The time chips scatter across two steps on the left and gather into step three on the right.

I drew it three times.

The first version was a modal that kept zcal’s three form steps and already pulled the time controls together. It gave up context: the modal covered the page you came from, and the type was still chosen on a screen before it.

The second moved into a side panel and made the type choice step one, which put the paid team types in front of people at the moment they choose. It gave up width — a panel is narrower than a full screen, so the last step had to earn its density.

The third stands over the list it is about to add to. It follows the width rule used across the redesign: narrow for focused work, wider for a complex setup, full width for a preview.

Three versions side by side: a modal, a side panel, and the final panel standing over the list of links
Three versions. Each one is a different answer to where setup should stand, not a different skin.

I cannot claim a result, so I claim a number to watch.

Nothing here was tested on users, and the product is not mine to instrument. Four bets, each with the measurement that would settle it:

  • Time controls in one step — fewer links get their availability corrected afterwards. Availability edits within 24 hours of a link being made.
  • A panel with named steps — more people finish a link they start. Completion, and drop-off by step.
  • Paid types where the choice is made — more free users look at Pro without abandoning setup. Clicks on locked types against completion.
  • A last screen built for sharing — new links get booked sooner. Time from link created to first booking.

What would prove me wrong: people editing fine-tune settings right after making a link. That would mean the defaults do not fit, and a step you can click past is hiding something people need.

Five sessions come before any of that, and the riskiest decision gets its own task: make this link match your brand colours. Five people show direction, not percentages.

The link flow is the part that carries the argument.

The same project covered the navigation, the split between links and booked meetings, the public profile, settings, a calendar and the kit underneath. They are here as scope, not as argument.

The old tree: a dashboard, two lists and a menu hiding availability, teams, Pro and the profile
Navigation, before
The new tree: a sidebar for the daily work, a top bar for search and the profile
Navigation, after
Booked meetings as their own page, with a type icon and a status on every card
Links and meetings
Locked team types in the panel and locked branding in the appearance editor
Pro, in context
The page an invitee lands on: cover, verification, and a grid of bookable events
Public profile
Services grouped by the job they do: conferencing, automation, payments, analytics
Integrations
A week grid for scheduling without opening a link
Calendar
The components and icons the screens are built from
UI kit

Four things I am taking to the next project.

  1. Count it before you claim it. The eight steps in my first version were never there; four were. The fastest way to lose a reader is a number they can check.
  2. Ask what a control decides, not what it looks like. Minimum notice and a buffer are the same question as weekly hours, and the old flow put them two screens apart.
  3. A setting belongs where its effect lands. Moving the theme out did more for the flow than any tidying inside it.
  4. Write the counter-measurement with the hypothesis. Deciding in advance what would prove me wrong is what keeps a concept from reading as its own advert.

Who is doing this.

I measure because I do not trust my own eye. This case is in its second version because the first had a headline number I could not reproduce.

zcal is a product I use, not a client. Nobody asked for this, which is why every claim in it is one a stranger can check.

Drag to look around