Zuddl
Four surfaces on an events platform, designed for the marketer at 11pm.
SaaS
Live Events
Role
Senior Product Designer
Timeline
2022 to 2024
team
Sole designer
platform
Web and mobile

Zuddl is software for running conferences, the virtual kind, the in-person kind, and the awkward hybrid kind where half the audience is in a room and half is in bed.
I worked on four parts of it: the screen attendees watch, the console organisers run the show from, and both halves of the sponsor experience.
One habit runs through all of them. Give people fewer choices, and make the ones they get harder to get wrong. Events are staffed by marketers, not designers, and something is always being configured at 11pm the night before. Design for that person or don't bother.
1. One stage, a hundred brands
The screen where the event actually happens
The Stage is where people watch the event. It isn't Zuddl's screen, though. Every event running on it belongs to a different company, and each one expects it to look like theirs.
Two ways to fail. Too rigid, and every event looks identical, which is awkward when "your event, your brand" is the sales pitch. Too open, and someone pastes a hex code off a mood board, the buttons go beige on beige, and their flagship conference looks like a tax form.

A stage, not a video call
Every platform does a grid of boxes. A grid says meeting. Nobody buys a ticket to a meeting.
So: a lit surface, speakers placed on it, real space around the edges. Full-bleed video would fill more screen. That empty space is the difference between broadcasting and a conference call, and people feel it without being able to name it.
Three controls
A theme, two colours, one optional background image. That's the entire surface.
Two colours is stingy if you're used to a palette. It's generous if you're a non-designer at 11pm the night before your conference. Fewer inputs, fewer disasters.

"Nothing" is a design state
Most people configure almost nothing. So skipping the artwork generates a gradient from your brand colour instead. Not a grey box, not a placeholder apologising for itself.
Do the work, get your artwork. Do none, still get something you'd show your boss. That second person is most people.
Labels that survive a photo of a beach
Status labels (Live, Starting at 12:30, Delayed) sit on whatever the customer uploaded. A gradient. A photograph. Once, a photograph that already had text on it.
I'll never know what's back there, so the labels don't rely on it. Each carries its own solid background. Boring, and it works on a beach.

Going live without the panic
Attendees sometimes get pulled on stage in front of a few thousand people.
Now it's a ladder. Pick how exposed you're willing to be, wait for approval, then one line before you commit: "Remember to turn on your video and audio before joining the stage."
Ten seconds to write. Prevents the most common humiliation in live video.

Lite mode, twice
When video stalls, nobody blames their hotel wifi.
If the connection looks rough, a prompt offers lite mode. If it doesn't appear and things still feel wrong, it's in the menu. Two routes to one setting is usually sloppy. Here it's the point. Detection is never perfect, and nobody goes menu-diving mid-keynote.
On mobile it's a website
Not an app. Safari's address bar permanently eats the screen and I can't do anything about it.
So cards restack to survive being narrow, the stage count moved into the header because you can't see list length on a phone, and I tested with session titles far too long and names that don't fit, because real events are full of both.

What I'd fix
I limited how many colours people can pick and never checked whether they work. Nothing stops an invisible primary. A contrast warning at the picker would have finished the job.
And I designed screens before I designed the system. Three rounds, some healthy iteration, some of it me making pictures before deciding how theming actually worked.
2. Nobody knows if they're live
The console behind that stage
Someone has to run the show. That's Studio: organisers on one side, speakers waiting backstage, and a button that puts people in front of a few thousand strangers.
The worst failures in live video aren't ugly, they're invisible. Someone talks while muted. An organiser promotes a speaker who's still fixing their camera. A speaker genuinely cannot tell whether they're backstage or on air.
Nobody notices until it's public. And it always costs the same thing, the first ninety seconds of a session, in front of everyone.
The realisation
The obvious fix is a mute warning. That isn't the problem.
Every one of these failures had the same shape: your state was only visible to you. The muted speaker knew. Nobody else did. The organiser knew they were about to promote someone. That person didn't.
The system had all the information. It just wasn't telling anybody.
So I stopped designing warnings and asked a duller question. Who needs to know what, and when?
The grid
Every state change got mapped three ways. Whose point of view: the organiser, the person being moved, everyone else. Which direction: backstage to stage, stage to backstage, the organiser moving themselves. And how many people at once.
Designing against a grid rather than screen by screen surfaced the cases nobody thinks about, like four speakers promoted together, where the obvious approach fires four notifications and buries the stage.
Warn the right person first
If an organiser is about to put a muted speaker live, the organiser hears about it.
The person with their hand on the button is the one who can still stop it, and they know something the speaker doesn't: that this is happening in three seconds.
Tell them on arrival, not when they talk
Anyone moved on stage while muted is told immediately, whether or not they've opened their mouth.
Firing on speech detection is politer; you only interrupt people who need it. It's also too late. By the time you've detected the talking, the silence already happened in front of the audience. I took the unnecessary notification over the unfixable moment.
Put the fix inside the message
"Are you talking? Your mic is off. Click here to turn it on."
With a Turn on button in the banner. Someone who's just been told they're failing live is not in a state to go hunting for a mic icon.
It opens with a question rather than an accusation, because sometimes the warning is wrong.

Solo beats pinned
Two people can ask for two different things at once. Pin this speaker, solo that one. Both mean "show me this person."
Solo wins, always. Solo means seeing only that person, so honouring a pin underneath it contradicts the instruction you just gave. A small icon sits next to the name so you can tell what's happening without opening a menu.
Unglamorous rule. Prevents an argument at 10am on event day.
Live and recording are different lights
These were candidates to merge into one indicator. I split them.
Being live is recoverable, the session carries on. A failed recording isn't. You find out afterwards and the content is gone. Anything describing something unfixable gets its own light, even if the toolbar gets busier.
What I'd fix
I covered the failures I knew about. There's no system for the ones I didn't. Every new state needs a fresh design pass instead of dropping into a severity ladder. I'd build the ladder first now.
3. Four tiers, four portals, one non-designer
Building the sponsor's home
Sponsors pay for conferences. In return they get a portal, somewhere to upload their logo, manage their sessions, see what they owe you and collect leads.
I designed the tool organisers use to build those portals. Which is a design tool, for someone who isn't a designer, producing something a company just paid five or six figures to receive.
The thing that broke the obvious model
One portal per event. Brand it once, send the link, done.
Except sponsorship isn't sold per event. It's sold in tiers, Diamond, Gold, Silver, Bronze, and the tier is the product. Diamond gets speaking slots, a lead allowance and a team of people. Bronze gets a logo somewhere.
Give both the same portal and one of two things happens. Bronze stares at empty sections for things they didn't buy, or Diamond doesn't get what their contract promised.
So the unit of customisation is the tier, not the event. Pick Diamond, Gold, Silver or Bronze at the top, and everything below belongs to that tier.
One list, three decisions
The layout tab is a list of sections: sessions, tasks, meetings, team members, lead capture. Each row has a toggle and a drag handle. Some have checkboxes underneath for what sponsors can actually do in there.
That's three different kinds of decision in one control: does this tier get this, in what order, with what permissions. The tidy version separates them, and most admin tools do.
I merged them because for this person it's one question. What's in the Gold package? Nobody selling sponsorship thinks in permissions matrices. They think in boxes and what's inside them.
Import styles
Per-tier branding means doing everything four times, and most of it is identical. The event's colours don't change between Gold and Silver.
So the branding panel opens with Import styles: take everything from another tier and edit down.
I made this mess with the tier decision and then had to clean it up. Per-tier only works because copying is the first thing you see rather than a feature buried three clicks deep.
Tell people the rules before they break them
Every upload field states what it wants before you choose anything. Logo: 1080×1080, PNG, under 1MB. Banner: 1920×1080, under 10MB. Custom font: OTF or TTF, zipped, under 2MB.
It is the difference between getting it right first time and discovering your asset is wrong the week of the event, when whoever made it is on holiday.
A preview that admits what it isn't
Two thirds of the screen previews the sponsor's portal. Real colours, real sections, real order. Underneath it, a line I argued for: "This preview is not an accurate depiction of what the sponsor would actually see."
A preview that overpromises is worse than none. The organiser trusts it, sends the link, and the sponsor sees something else. I couldn't close the gap, so I owned it. Less polished, more honest.

What I'd fix
No starting templates. Every event begins with four blank tiers, and Diamond/Gold/Silver/Bronze look roughly the same across every conference in an industry. Presets to edit down would have removed most of the work I'd introduced.
Also, you can preview a tier but not a specific sponsor, which is the check people actually want to run before hitting send.
4. Chasing sponsors, politely
What flows through the portal
The portal is the house. This is what happens inside it.
Sponsors owe organisers things: logos, headshots, booth copy, session abstracts, legal sign-off. It all arrives by email, late, in the wrong format, chased by whoever has time.
Then the sponsor asks what they got for their money, and nobody has a good answer.
Those are the same problem. The organiser is doing unpaid project management for a paying customer, and because none of that work is visible, neither is the value. A sponsor who had a chaotic experience and can't prove a return doesn't come back, while next year's budget quietly assumes they will.
Assign to the package, not the person
A Gold sponsor owes certain things because they're Gold. Assigning tasks per sponsor means retyping the same eight items for everyone in the tier and watching them drift apart.
So tasks attach to tiers. A new sponsor joins Gold and inherits Gold's obligations. Move them to Diamond and it's a proper flow, not an edit.
Plus a library of standard tasks, because every conference asks for the same things and nobody should type "please send a headshot" more than once in their life.
Never say rejected
Tasks have states: pending, overdue, needs review, resubmission required, done.
The obvious model is approve or reject. I removed reject.
A rejection is a final verdict handed to someone who paid you. It ends the conversation and creates a relationship problem the organiser now has to repair over email, the exact thing this system exists to stop.
Request resubmission says the same thing, keeps the task open, and keeps the conversation somewhere everyone can see it. Notes attach so the sponsor knows what to change.
One word of difference in the interface. Completely different relationship.

Proof, not goodwill
Sponsors set up their own lead capture questions, then see the leads that came in.
That's the half that gets them to renew. A sponsor who can show their boss the leads they collected, attached to the sessions they paid for, has an argument for next year. Without it you're asking them to re-buy on vibes.
Editing a question that already has answers is a guarded action. Quietly corrupting the data someone's about to build a business case on is a poor way to keep a customer.
What I'd fix
It's all pull. The organiser opens a dashboard and sees what's late. But chasing is a push problem. The value arrives when the sponsor gets reminded without anyone having to remember to remind them. I'd have designed the nudges into the system instead of assuming they'd turn up later.
The thread
Four surfaces, one habit. Fewer choices, harder to get wrong.
Two colours instead of a palette. One question instead of a permissions matrix. A rule that says solo beats pinned so nobody argues about it live. A preview that admits its own limits.
None of it is clever. All of it is because the person on the other side is a marketer at 11pm with a conference tomorrow, and they deserve software that assumes that.
