AI made the options. I made the product decisions.
As founding designer at Reverie AI, I took PopVid from concept through launch and iteration: image and video creation, live character interaction, and a shared experience across web and native apps. I used AI to explore and build, while owning the requirements, final design, measurement and user feedback.
Historical product-level peaks, measured in different months. They reflect the team’s product, rather than the effect of an individual design change.
Product UI rendered from main · e1e1a0f with fixture data. These captures use actual components; they have not been matched to the live deployment. Prices, people and call content are test values.
Why AI is in my process
I use AI for quick wireframe and visual-effect inspiration. Comparing several directions early helps me ask better questions about hierarchy, interaction and feasibility. I define the requirement and choose the design; AI takes the lead on implementation details.
The tradeoff is breadth versus coherence. A convincing mockup still needs to fit the product. I review the build against the chosen design, then use tracking and support feedback to decide what needs another iteration. The product screens in this case come from the application’s source code, rather than AI-generated proposals.
AI proposes. I decide.
I keep responsibility visible across exploration, implementation and the feedback that shapes the next iteration.
I decide
- Product direction and requirements
- The final design
- What we track
- How to read user behaviour
- What changes after support conversations
AI proposes and builds
- Wireframe and visual-effect alternatives
- Implementation details in selected React interfaces, shipped through my pull requests
Real users inform
- Behaviour data from the tracking I set up
- Support conversations I handle directly
- Requirement
- Chosen design
- AI-assisted build
- Tracking and support
- Next revision
A plan, an add-on, and a clear distinction
Premium Pass was already the main plan. I renamed the extra video-call purchase Video Call Add-on, drawing on the familiar model of adding minutes to an existing mobile plan. The goal was to make its relationship to Premium Pass easier to understand.
The implemented Buy Credits page gives the add-on its own section and explicitly says it is sold separately from Premium Pass. The add-on uses purple; lime marks Pass benefits and badges. This is the hierarchy in the product code, including the separate credit packages below.
Keep the conversation continuous
A low-credit state should explain what happens next. In the implemented call, insufficient credits disable auto-extend and trigger a status message. The add-on is offered before connecting and again when the call ends.
There is also an in-call Premium Pass upsell when someone without a Pass tries custom quick actions. The upgrade is available at the moment a paid feature becomes relevant, with a tradeoff between access and continuity of the conversation.
The checkout route matters. An in-page PayPal modal can leave the call connected; a new-tab checkout can too, unless it falls back to a redirect. Same-tab payment redirects end the call. This is a constraint to review and track, rather than a solved outcome to claim.
Make identity and voice settings explicit
People choose who they are in a roleplay scene. The persona manager and co-film sheet use the same persona data, with a visible selected/default state and a creation form that asks for a name, photo and description.
The implementation includes missing-photo, uploading and filled photo tiles; a rejected upload is reported through a toast. Clear selection, upload and recovery states help the shared pattern stay understandable. In live calls, the code resolves a persona name; reuse of the persona photo was not confirmed in the inspected paths.
Character creation separates a preset voice from an optional custom voice. The upload sheet gives concrete recording guidance, and the saved state makes the custom voice visible. The UI describes its scope as Soul chat and video calls; the video-call connection path was traced, while the Soul chat backend path remains unverified.
What changed, and what I measured
The product now names the extra minutes as an add-on, separates them from the main Pass, exposes low-credit status during calls, and shares persona data across roleplay and co-film. These are concrete states visible in the inspected code. The screenshots alone do not establish the date or impact of each change.
After launch, I defined tracking, followed user behavior and handled customer support directly. Analytics helped me locate friction; support conversations added context. I used both to shape the next requirement.
The 2.5M web MAU and 14+ minutes of monthly engagement above describe historical product-level peaks. A before-and-after result for an individual revision has not been established. For checkout, the next useful comparison is completion and call interruption by payment route; for identity and voice, it is setup completion and recovery from upload errors.
Reflection
My contribution connected product direction, design and the work after launch. AI helped me explore and implement; I remained responsible for choosing a coherent experience and learning from how people used it. Across naming, purchase hierarchy and identity, the most useful decisions made the product easier to understand as it evolved.











