← All work

Case study 04 · Release UX

URYVA

Release UX for an AI platform: making AI use, data control, publishing and profile claims understandable before the first release.

Role
Sole product designer
Work
Design and documentation
Scope
Six workstreams, one release brief
Status
Partly live · launch in progress
Express: composing a Folio with Sorush
Privacy and Data: AI processing switch, voice, Mindscape and blocked accounts
Mindscape controls: reset insights or clear Sorush history

Screens from the live app in November 2026. I wrote the spec; I don't claim every detail on screen matches it.

01The problem

Turn a broad release brief into flows, states and decisions a team can build, and make AI use, data and publishing clear to the person using the product.

URYVA is a product where people create content, publish it and talk to an AI called Sorush. Ahead of its first release I reviewed the UI, designed behaviour, rewrote Sorush's role and documented what the team needed to build.

The requirements were captured in a master brief of numbered items, grouped into workstreams with decision gates. A consent or delete button isn't enough by itself: the behaviour behind it has to be enforced by the backend.

02My part

AI and consent

  • Consent, decline and withdrawal
  • AI labelling
  • Reporting AI output

Privacy and data

  • Privacy Center
  • Controls for Sorush data
  • Voice data
  • Export and delete account

Publishing and safety

  • Private-by-default publishing
  • Report, block, moderation, appeal

Identity

  • Profile claim form
  • Claim status
  • Admin queue

Notifications

  • Sorush notification strategy

Across the app

  • Onboarding and age gate
  • Permissions
  • Offline, error and session states

This was specification and documentation: flows, states and decisions for the team to build from. I'm not claiming which items were built.

03Constraints

01

Breadth

Consent, privacy, publishing, reporting, claims, onboarding and error states, all for one release.

02

Trust in the AI

Sorush has to be clearly an AI. Its output can't be presented as fact, or as a person speaking.

03

Beyond the interface

Consent, deletion and blocking only work if the backend enforces them, so each flow was specified with the behaviour behind it.

04Key decisions

01

Private by default, public by explicit action

Personal content, voice data and what Sorush stores start private. Content becomes public only through a clear, deliberate action.

Default
Personal content: privateVoice data: privateWhat Sorush stores: private
To go public
Publish, as its own action
02

Sorush is always labelled as AI

What Sorush says is never presented as fact or as coming from a person, and every output can be reported.

Want me to turn your notes into a post?
AI-generatedReport this output
Shown as factShown as a person
03

A simple claim flow for the first release

Identity verification and multi-level badges were left out of the first release. A verified representative manages the official section; editorial content only offers “suggest edit”.

Claim form
Admin queue
Approve or reject
A simple badge
Left for later
Identity verificationMulti-level badges
04

Three kinds of Sorush message

Naming the kind of message is what lets each one become rules and states.

UI feedbackthe result of an ordinary action
AI task feedbackprocessing status
Sorush insighta useful observation in context

05Flows and states

AI consent
GiveDeclineWithdraw later
AI label on outputReport an output
Privacy Center
AI and data controlsClear what Sorush holdsView, correct or delete dataVoice dataExport or delete account
Safety
Report→Block→Moderation→Appeal
Across the app
Onboarding and age gatePermissionsOfflineErrorSession expired

06Screens

Privacy and Data
Privacy and Data. AI processing can be switched off, with a link to how URYVA uses AI.
Mindscape controls
Mindscape controls. Two separate resets, and the page says clearing one doesn't touch the other.
Account settings
Account. Download my data as a file, and delete the account, marked as destructive.
Express screen
Express. Composing a Folio with Sorush, with a “thinking check” at the side.

07Status

The documentation was completed: a master release brief of numbered items across several workstreams, flows and states for the areas above, and a notification strategy to be turned into rules. Several of the specified areas, such as Privacy and Data, voice and Mindscape controls, data download and account deletion, are in the live app today. The product isn't fully in production yet.

The items in the brief are requirements and decisions, not a list of shipped features; their implementation is tracked separately. The notification strategy hasn't been measured for its effect on engagement.

I can walk through the full spec and handoff files in an interview.

08What I learned

A consent screen is only a promise until the backend enforces it, so I specify the behaviour behind each control, not just the control.
Naming the kind of message (feedback, task status, insight) is what makes notification rules possible.