YOW.tv Onboarding & Auth
Most of this flow is what goes wrong.
Company
YOW.tv
My Role
Product Design Intern
Tools
Figma
Timeline
May – Jun 2026
Description
YOW.tv is an indie-film streaming platform. I was sent its new splash screen, and found the account system standing behind it.
Context
I was sent a splash screen as a Photoshop file, with permission to blow it up if I hated it. It was not a splash screen but sign-up and sign-in for a product that already had users and a database, and most of the design in it was already settled: by Google, by Apple, by a compliance line nobody had flagged, and by the database. 10 of the 25 screens I specified are error states. It is live on the App Store. The build is the development team’s.

I was the only designer on this: the audit, the type and radius testing, the flow, every screen and every state, the copy, and the handoff. Greg, the branding director, owns the brand it is drawn from and made the final call on the typeface. Contus, the development team at the time, built it. Handoff and everything after it ran on Basecamp, shared with them and with our own team.
Two buttons on a splash screen are an account system
The second day I joined YOW, an email came from Joey, the founder and my boss. In it a PSD and “blow the whole thing up and start from scratch if you hate it.” Opening the file, I saw the poster collage, and two buttons reading CONTINUE AS GUEST and SIGN UP FREE/SIGN IN. Those together are an account system. There is an address to collect, a code to check, and a way to fail each of those. YOW.tv already had every one of those running, with people inside them.

Nobody had decided what a corner should do
There was a brand book with a typeface defined in it. I opened the app and found the font was not loading anywhere, so I asked whether we should simply build to the brand book. Greg, YOW’s branding director, explained that the license was too expensive. We would use a default instead, with nothing said about which one or how. That left a brand book, no design system, and nothing visual defined for the product other than the primary accents and the dark tone.
My task asked for visual decisions and call-to-action buttons, so I built one grid: five typefaces across, four corner treatments down, the same call to action in every cell. Greg pushed for the small radius. Most of the time I would agree, but here I asked a different question: if everyone has a radius and our whole positioning is being the new one, what does none look like?

The corner was tested rather than argued, so the comparison was between pictures, not opinions. We agreed on none, and Greg made the final call on the typeface. The square corner YOW has carried since. It reads with attitude, film rather than software, but it came with a cost: with no radius nor shadow, how do we carry the nuance and refinement that is also film?
Out of the 26, the team picked the closest one
Permission to start from scratch reads like an invitation, so I took it as one. I drew 26 splash layouts by hand: wordmark above the line and below it, the tagline small and the tagline enormous, buttons stacked and buttons reduced to a row of three circular icons, versions that opened with a phone number, and more. Then I put the whole set in front of the team.
They chose the one closest to the design they had sent me. Not a compromise between the options, but the composition that was already theirs. The 25 they passed over are how I learned where this team’s taste sits, and that they decide faster in front of a spread than in front of a question.

Every flow I had drawn before this one worked
School asks for the blue-sky version, the idea and the surfaces and the path where nothing goes wrong. This was the first time most of the work was the other thing. People mistype. A code expires. A name is already taken. Somebody who signed up in March comes back in July and must not be greeted as new.

The Outcome: 10 of 25 Frames for Going Wrong
What I handed over is 25 frames of a sign-up flow, 10 of them error states, and a document telling a developer when each one appears and when it goes away again.

Error States: Failing Without Moving the Screen
An address that is not an address, an OTP that is wrong, a name already taken, so many things can go wrong. The decision underneath all is that the message occupies the field it belongs to rather than appearing beneath it. The primary button dims rather than disappearing, and only while the fault is the user’s and nothing has been retyped. When the failure is on our side, a code that could not be sent, it stays live. The shape of the screen is the same whether you are succeeding or not.

Date of Birth: A Legal Floor Under a Zero-Friction Flow
Nothing in the brief mentioned age. I found it auditing YOW’s own web sign-up: a small note, shown only when you try it with an email, saying you must be over 18. I asked whether it was real. It was. So age verification needed to be added to the flow, and the design left was making the third step cost what the first two did. It is a scroll picker rather than a calendar: a date of birth is a defined value, so the control is bounded too.

The Handoff: Specifying When a Thing Appears and When It Goes
It was the first handoff I had written. It specifies six components carrying 17 states, and the part I would not have thought of without the failure frames: when each state arrives and goes. A screen file says what a thing looks like, not that resend is dead for 60 seconds. Google and Apple supply their own artwork, so the two platforms are specified separately. I walked the team through it, and the page is marked frozen.

Impact
The flow is live on the App Store, built from the handoff by Contus. The one thing I can say about that specification with any confidence is that it was complete enough to be built from, which is a low bar and the only one a first handoff should be judged against.
I argued the name field away, and drew it anyway
I proposed the flow without a name field, since every field is a place to lose somebody and a name authenticates nobody. The development team came back: the existing database required it. My reasoning was about a flow. The answer came from a table. So I asked Jack what name meant here. Username? Display name? Profile name? Nobody knew, and that question opened an account and identity architecture that is still being worked on today.
Credit
Founder and my boss — Joey and Brian, who sent the brief, and the permission to start over
Branding — Greg, the brand the flow is drawn from, and the final call on the typeface
Manager — Jack, the name conversation
Development — Contus, who built the flow from the handoff