Discovery: Account v2
As Lead UX Designer at Discovery, I designed Account v2, the self-service account area its streaming products would share, phased to what the new platform could support.
Context
Discovery was building one streaming platform on dplay’s codebase, to launch services in several markets quickly and test new products on it. I led UX for the platform from August 2019, as its only UX architect. Sign-up and entitlements came first, in Auth v2. Account v2 covered what a signed-in user manages after that: credentials, plan and add-ons, billing and payment, preferences, and their data.
On dplay, cancelling fell short of both customer experience and business expectations. The goal was an account area each product team could configure for its own service, and an off-boarding that aimed to reduce churn while keeping pause, cancel and delete easy to reach.
Mapping the account IA
I mapped the information architecture as a Miro mind map rooted in My Account. The first branches covered credentials, sign-out, data download and account deletion, and a profile limited to first name and interface language. Below them the tree split by user level: L1 users could buy a plan or reactivate a lapsed one, and L2 users split by purchase route, with in-app plans managed through the app store. Every leaf still in scope linked to its page in the Axure spec.
Last name, age and gender are struck through in the profile, as is third-party consent in communication settings, and the plan name, service period and receipt on the next and last bill, though billing history keeps all three.
Miro board, the account IA. P1 on the left. The P1 and P2 map on the right adds parental controls, pause and devices, with three flags reading not supported by the platform in P2. A sticky note on both, multiple profiles in the future, marks what neither phase included.
01Stacks
Building the dashboard from stacks
The dashboard is built from stacks, each a card for one goal, such as changing a password or updating a payment method, with its flows behind it. The principles on the spec page were to keep it simple, modular and flexible, and focused on user goals. P1 lists the stacks in one column. For P2 I grouped them under four tabs (account, subscription and billing, promo codes, privacy) as in-page navigation, where a tap scrolls the page to the group. I based the order and grouping on competitive analysis, and left both for product teams to set on the back end, following user insights.
Each stack page states who can see it, by user level and purchase route. Credentials follow the account type: an email account edits them, a Facebook-only account can add an email and password, and an account linked through a pay-TV partner cannot change its email here.
Axure spec, March 2020, the dashboard. Free stacks for P1 on the left. In the P2 groups the tabs stay at the top as the page scrolls, and the active tab follows the group in view.
Phasing to what the platform supported
Four features in the spec needed backend capability the platform did not have yet: parental controls, pause, devices, and switching between monthly and annual plans. Parental controls were also a legal requirement in one of the markets.
None of the four went into P1. I specified them in full anyway, tagged P2 or P3, with the missing capability written on each page.
The platform team had requests for devices, parental controls and the plan switch, and put the first two on its roadmap as P2 features. The request for the plan switch dates from June 2019.
Multiple profiles stayed out of both phases, with one profile per account in P1, although the spec notes the backend was nearly ready for more. P1 also limited communication preferences to email.
Axure spec, parental controls, P2 and P3. Enabling them goes through the account password, and sets a PIN first if there is none. The age threshold runs from 6 plus to 18 plus, and playback behind the PIN belonged to the separate playback spec.
02Off-boarding
Drafting cancel journeys for dplay
In the July 2019 version of the spec, the cancel screen in the plan stack held only a placeholder upsell box, with a note that the screen would be informed by an off-boarding workshop still to come.
Axure spec, July 2019, cancel. Still in dplay’s skin, as the whole spec was then. Keeping the subscription, and what happens after cancelling, were already drawn around the placeholder.
Alongside it I drafted three alternative cancel journeys for dplay’s own account page, published to the dplay workspace in August. Option A listed the shows coming up that users would miss, option B offered a pause, and option C offered a cheaper plan. In each draft I listed what it needed from other teams: an editorial schedule of upcoming shows for A and B, pause capability on the backend for B, and new plan options from the business for C.
Axure drafts for dplay, August 2019, option B. The restart date comes from a calendar, a list of dates beside the shows a user won’t miss, or dates matched to new releases. The pause ends in a short survey, and the account page shows the restart date.
Reasoning from the brand pillars
In Q3 2019 I facilitated an ideation workshop with designers and product owners on improving off-boarding and reducing churn. On the Miro board I first defined the three flows. Pause gives subscribers a break from paying, cancel ends the subscription, and delete removes the user’s data from the service. Then I took the four brand pillars in turn and wrote the hypotheses each one implied.
HonestPause, cancel and delete easy to find in the account, with messaging that is transparent and not needy.
CuriousFive hypotheses from a customer-support survey: better recommendations, product hygiene and quality of service, engagement on and off the service, a pause, and cheaper options. Also a good exit survey.
PowerfulRemind leaving users of the shows coming up and the ones they binged.
GenerousCheaper plans, annual or monthly billing, a pause for as long as they need, and watching while abroad.
The last frame on the board is about re-engaging users just after they cancel. For the competitive scan I picked Netflix, Amazon and MUBI, because all three rely on customer data yet built very different experiences. Every idea was to be judged against the Auth v2 design principles: simple, modular, flexible, goal oriented.
Designing pause, cancel and delete
The workshop’s ideas went into the plan stack of the Account v2 spec. Manage plan links to pausing or cancelling from its first screen, and from P2 it offers the annual plan with its saving. The link opens one off-boarding screen: the shows coming up and a button to keep the plan, then a pause box and a cancel box, each listing what happens next.
Axure spec, off-boarding. The copy under each box gives the date the plan stays active until, and tells a cancelling user they keep a free account.
Axure spec, exit survey. The reasons run from price and quality of service to a show or tournament that has ended, with a free-text box before the cancellation goes through.
Pause offers two, three or six months, as a configurable set, and the dashboard then shows the plan paused with its restart date. A cancelled plan stays on the dashboard with a link to resume it. Annual plans got no pause, since cancellation rules for annual plans were already complex in some markets. Deleting an account follows the user level: an L1 account goes at once, while a subscriber’s account and data go when the plan ends, with a banner offering to keep both.
Axure spec, pause, P2. Each length shows the date the plan resumes. On the paused dashboard the add-ons stack is hidden, and billing shows the next payment on the restart date.
03Handoff
Specifying for product and engineering
The spec went to product owners and engineering as annotated Axure pages, one per stack, with numbered callouts on each flow screen, form states, the key screens at four breakpoints, and write actions traced to their backend responses. Account v2 was web only in this build. Between the July and November 2019 versions it moved from dplay’s skin to a neutral one, and gained the data, EU portability, devices and parental controls stacks. Legal still had to give feedback on the invoice, and for watching abroad it asked for the user’s home country to be verified by card.
In a January 2020 draft I turned the credentials stack into account details, adding a mobile number and a postcode, and drew two journeys: a change link beside each field on the dashboard, or one edit link that opens the stack. In the March spec I kept the first, behind the same password check, and added states for accounts created by SMS and for services that need a postcode.
Axure spec, March 2020, change email. After sending, the flow splits on the backend response: success returns to the dashboard with a message, while a generic error and an email already registered each stay on the form.
What was held, and what was handed over
Held for P2 and P3
- Devices, and signing out of all of them
- Parental controls with a PIN and an age threshold
- Pausing a plan
- Switching between monthly and annual plans
- Group tabs on the dashboard
- Multiple profiles
Handed over for P1
- A dashboard of stacks at four breakpoints
- Profile and account details for each account type
- Plan, add-ons, billing and payment method by user level
- Off-boarding screen, exit survey and resume
- Promo codes and email preferences
- Data download, account deletion and EU portability
The first four waited on backend work, two of them already on the platform’s roadmap, and the last two were phased for later releases.
Outcome
Account v2 was handed over as the P1 spec for a first release, with the P2 and P3 stacks specified ahead of the platform.
By November the upcoming shows of option A and the pause of option B sat together on the platform’s off-boarding screen. I was still revising the account details stack in March 2020, a month before I left Discovery.
Contact
Get in touch
Product design lead across research, design systems and handover, with coding agents in the loop. Contract, outside IR35, or a permanent lead role.
- Available
- Now
- Location
- London, remote or hybrid, UK and EU
- Right to work
- UK settled status, EU citizen
- RolesLead Product Designer, Principal Product Designer, Design Engineer
- Experience10+ years
- ScopeResearch, design systems, prototyping, handover, QA with agents
- LanguagesEnglish, Italian, Spanish
- Email[email protected]
- LinkedInlinkedin.com/in/dariocodipietro
Professional profile
Copy into your coding agentSkills
- Product design, end to end
- UX and interaction design
- Visual design and motion
- Prototyping in Figma and code
- Design systems at scale
- User research and testing
- A/B testing and analytics
- Strategy and discovery
- AI product design
- Design to code, with agents
- Accessibility, WCAG 2.2 AA
- Leadership and mentoring
Platforms
iOS, Android, responsive web, smart TV and connected devices
Sectors
- AI products
- B2B SaaS
- Consumer apps
- Streaming, media and sport
- Health, wellness and food
- Legal tech
- Telecoms and utilities
Tools
- Figma
- FigJam
- Figma Make
- Claude Design
- Framer
- Axure RP
- Storybook
- Claude Code
- Cursor
- Codex
- MCP
- GitHub
- Linear
- Jira
- Confluence
- Notion
- Miro
- Prolific
- Lyssna
- Maze
- PostHog
- Amplitude