In a private adult community, a vague state is a trust failure: members need to know who can see them, when access begins, what expires, and how to recover.

Enterprise software UX case study · 2026
Trust is a system state.
VipKorner clarifies private social participation from invitations and access through media, messaging, and moderation.

The outcome was not a feed. It was a credible privacy contract.
Led lifecycle mapping, the responsive product system, and privacy controls across React, APIs, data, media, and release verification.
Invited applicants, members with public or private profiles, creators, conversation participants, and administrators.
A production ready PWA with clear privacy rules, responsive task continuity, operating guidance, and automated regression coverage. Live adoption metrics are not yet available.
Private by promise.
Private by query.
VipKorner is a private social PWA for adults. The challenge was making a complex privacy system predictable as content, access, messaging, and moderation changed state.
I treated every sensitive moment as a product contract. Private profiles remain discoverable without exposing media. Access starts only after approval. The server verifies age without storing birth dates. Every key flow includes a recovery path.
The delivered evidence is a working architecture, 14 lifecycle and system diagrams, a documented release process, and 16 automated repository regression tests. The next evidence layer is moderated task testing and live behavior analytics.

One product.
Four different truths.
My ownership covered lifecycle framing, responsive interaction, frontend architecture, data review, quality evidence, and release documentation.
Applicant
Join with a valid invitation and understand why personal data is requested.
Access must feel selective without becoming opaque or invasive.Member
Discover people, publish moments, and manage a clear social boundary.
Visibility differs by profile, relationship, content type, and block state.Private profile owner
Remain discoverable while approving exactly who sees private media.
Discovery value and media privacy must coexist without accidental disclosure.Administrator
Issue invitations, review reports, and intervene without breaking member trust.
Operational authority needs boundaries, auditability, and predictable states.The interface is only one frame in the journey.
Join
Can I enter safely?
Invite, server age check, email confirmationDiscover
Who is here?
Public summaries, location choice, profile access stateConnect
What does follow mean now?
Direct follow or pending request lifecycleShare
Who will see this moment?
Posts, carousels, Shorts, saves, reactionsConverse
Is this exchange available and private?
Text threads, blocks, unread stateGovern
What happens when something goes wrong?
Reports, suspension, explicit recovery
The hard rules became product strategy.
Invitation access
Every registration must coordinate invitation validity, username reservation, and email confirmation.
- Failure
- An invitation could be consumed before identity is confirmed or held indefinitely.
- Response
- Reserve pending registration for 48 hours; claim the invitation only at confirmation.
Adult community
Age eligibility is required at entry.
- Failure
- Browser validation can be changed, while storing birth dates creates unnecessary risk.
- Response
- Verify on the Worker and store eligibility instead of birth dates.
Private profiles remain discoverable
Identity summary and media visibility follow different permissions.
- Failure
- Pending access could leak private content or connection lists.
- Response
- Treat approval as a separate state; only a follows row unlocks media.
Mixed photo and video
Large media must cross an edge runtime without blocking the application.
- Failure
- Partial uploads, invalid types, abandoned objects, and carousel inconsistency.
- Response
- Multipart R2 upload with signature inspection, size limits, abort, cleanup, and ordered media rows.
The product itself exposed the risk.
No moderated usability study is being implied here. The evidence comes from lifecycle reconstruction, interface audits, architecture review, and coverage analysis. Moderated research is the next layer.
Lifecycle reconstruction
The product is a linked state system, not a collection of independent screens.
Organize both product logic and case study around lifecycle transitions.Responsive interface audit
Navigation and task context change shape across breakpoints, especially Messages.
Preserve task continuity while allowing layout composition to change.Architecture + API review
Trust language is only credible when the data query enforces the same promise.
Pair every privacy claim with a server eligibility rule.Design system coverage audit
Visual modernization could destabilize responsive geometry if appearance and layout moved together.
Separate tokens, layout, and reskin layers before changing the surface language.Journeys + systems14
Mobile task states16
Regression tests16
Role lenses6
Three choices that carried the product.
Discovery without disclosure
How can a private profile be findable without granting access?
EvidenceMembers need enough identity context to recognize a person, while private media and connection lists must remain protected.
DecisionReturn a public profile summary and aggregate counts, then gate posts and Shorts by ownership, public status, or an approved relationship.
TradeoffThe system carries a second request state and more UI copy, but avoids turning discovery into accidental consent.
ValidationPrivate profile request testing plus automated coverage for pending, approved, declined, and canceled states.

A media pipeline that can fail safely
How should one to ten media items reach storage without corrupting a post?
EvidenceImages may reach 10 MB, videos 50 MB, and a carousel can be abandoned midway on a mobile connection.
DecisionInspect media metadata, create a multipart R2 upload, stream parts directly, complete into ordered post_media rows, and delete the object if persistence fails.
TradeoffMore orchestration and recovery states in exchange for bounded memory, progress, cancellation, and data integrity.
ValidationResponsive carousel testing, one to ten item limits, object cleanup, and upload cancellation handling.

Modernize the surface without breaking the product
How can a dense social interface change visual language without regressing proven behavior?
EvidenceThe app held 210 legacy selectors, 175 distinct className values, and unique navigation patterns at each breakpoint.
DecisionFreeze responsive geometry in a layout layer, map semantic tokens, then apply the visual layer against the same selector coverage.
TradeoffThe bridge layer adds temporary debt, but creates a reviewable migration instead of a risky rewrite.
Validation210/210 selector coverage, 175/175 className coverage, WCAG token review, and no horizontal overflow from 360 to 1920 px.

Build evidence is real. Behavior evidence comes next.
Verified
✓ 16 automated repository regression tests across theme, terminology, privacy, messaging, carousels, stories, profiles, and media viewers.
✓ Private profile, messaging, Shorts, carousel, safety dialog, profile personalization, feed, and media viewer release tests.
✓ No horizontal overflow at 360, 390, 768, 960, 1024, 1440, and 1920 px in the cinematic marketing surface.
✓ Text and surface token pairs checked against WCAG AA. Active states do not rely on color alone.
Not yet measured
○ Live invitation completion rate
○ Time to approve or abandon a private profile request
○ First post and first conversation activation
○ 30 day member retention and report resolution confidence
Next plan
→ Five moderated sessions across roles covering invitation, private access, publishing, messaging, and reporting.
→ Measure state transitions, not just page views, with privacy preserving event names and no content payloads.
→ Set release thresholds for task completion, critical error rate, trust comprehension, and support escalation.

Impact without inflated claims.
Privacy contract
Pending follow requests never unlock media. Connection lists remain private to each member.
Release confidence
Sixteen automated regression tests plus focused release checks cover critical product states.
Responsive continuity
Navigation and Messages adapt across desktop, compact, and mobile layouts without dropping the active task.
Design system migration
210/210 selectors and 175/175 className values remained covered while layout and surface styling were separated.
User behavior
Adoption, retention, and trust comprehension require live analytics and moderated research.
The hardest design work lived between screens: identity confirmation, access transitions, upload recovery, and the moment a block changes what remains visible.
A privacy promise is only copy until the server query makes it true. Connecting interface language to data eligibility was the most valuable product engineering contribution.
I would add moderated research across roles earlier. The system is testable and consistent, but implementation evidence cannot replace observed behavior.

- 14 lifecycle, sequence, data, and state diagrams
- 16 mobile task captures
- 14 desktop/mobile UI review captures
- 10 production release shots
- 6 fictional persona evidence boards
- Marketing before and after captures with composer source media
- Architecture, operations, schema, API, design system, and seed documentation