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

Setup happens over the page you started on. The names and meetings in every frame are made up.
- 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.
- 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.
- Put all seven in one step. The final screen went from 19 controls to 14, and every one of them has a default.
- 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.
- Drew the setup three times — modal, side panel, panel over your own list — and named what each one gives up.
- 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.

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.

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.

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.

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.

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.

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.








Four things I am taking to the next project.
- 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.
- 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.
- A setting belongs where its effect lands. Moving the theme out did more for the flow than any tidying inside it.
- 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.