docs/domains/aphrodite/ (API notes, ADRs, deep topic guides) — reconciled here by linking, kept beside the code as supporting material rather than a second canonical source (§2, §13).Aphrodite is a sensual entertainment streaming platform combining live dance and performance streaming, interactive device integration, VR/AR experiences, real-time chat, token-based monetisation, advanced safety systems, embedded interactive games, cinematic production tools, and performer wellbeing infrastructure into a complete broadcasting ecosystem. Named after the Greek goddess of love, beauty, and desire, Aphrodite is built from 190 libraries (
libs/aphrodite/*) plus 17 Hono application services. The platform supports live human performers, AI-generated personas, stylised androids, humanoid alien races, and real strip-club / dance-studio venue partnerships side-by-side under one shared policy.Content cap — music-video grade. Aphrodite caps the level of eroticism at what is acceptable in a commercially-broadcast Nicki Minaj / Cardi B / Megan Thee Stallion / Drake / Future music video. Twerking in a thong, lingerie posing, sensual choreography, pole and burlesque routines, stylised android / alien-humanoid sensual performance, and live in-venue strip-club broadcasts (with stage-only camera zones) are all on-policy. Full nudity, exposed genitals, exposed nipples, explicit sexual acts, and hardcore content are rejected by moderation regardless of viewer age, paywall, or private-show carve-out. The platform actively encourages dance, choreography, and sensual storytelling over explicit content. The canonical cap matrix lives in
libs/aphrodite/core/src/domain/content-policy.ts.The feature surface spans RTMP ingest and adaptive bitrate delivery, haptic device protocols (Buttplug.io, bidirectional haptics, audio-to-haptic conversion), consent management, regulatory compliance (including 18 U.S.C. § 2257 record-keeping, GDPR, UK Online Safety Act), AI-powered content analysis (including the cap-monitor that auto-blocks over-cap material), virtual reality social spaces, auteur camera direction, cinematic music engines, sacred and ritual performance frameworks, performer wellbeing analytics, post-session aftercare, embedded mini-game genres, volumetric capture, neural style rendering, and Jungian archetype-based persona development. The platform is designed to be operated by performers and platforms that demand creative freedom, rigorous performer safety, and a content ceiling that keeps the experience commercially-respectable — treating all three as inseparable.
Platform Access#
Aphrodite ships seven client applications covering every viewing and management surface. The pair of mobile apps (React Native) mirror the web apps in functionality with platform-appropriate UX; the VR app is a separate experience entirely, placing viewers inside an immersive 360-degree space rather than presenting a flat video player.
Client Applications#
- Viewer Web App: Full-featured browser application for discovering and watching streams, managing token balance, accessing VOD content, and participating in chat and tipping — no installation required.
- Broadcaster Web Dashboard: Dedicated control panel for setting up streams, configuring show types, managing tip menus and goals, reviewing real-time analytics, and controlling interactive device settings during a live session.
- Broadcaster Mobile App: On-the-go streaming from a smartphone using the device's camera and microphone; supports all show types with a simplified version of the broadcaster dashboard.
- Viewer Mobile App: iOS and Android app for watching on any device, with touch-optimised tipping flows, follow notifications, and offline access to purchased VOD content.
- VR Application: Immersive 360-degree streaming viewer targeting Meta Quest 2/3 and PC VR headsets via WebXR, enabling viewers to experience broadcasts as if physically present in the virtual space.
- Admin Dashboard: Platform administration and moderation console for reviewing reports, managing performers, overseeing compliance records, and monitoring platform health.
- Admin BI Dashboard: Business intelligence dashboard providing revenue analytics, platform-wide usage trends, and operational KPI tracking for platform operators.
Viewer Experience#
The viewer experience is designed around three moments: finding something to watch, watching it with maximal engagement, and building a lasting connection with specific performers. Discovery tools surface relevant streams; the viewing experience keeps viewers present through interactivity; the social and social features (avatars, virtual rooms, VIP areas) turn passive consumption into active participation.
Discovering Content#
- Live Stream Directory: Browse currently live broadcasts filtered by category, subcategory, and tags — updated in real time as new streams go live or end.
- Category Browsing: Explore streams organised by activity categories (dance, choreographed routines, twerk-and-pole, sensual storytelling, lingerie posing, couples choreography, strip-club venue partnerships, AI-generated personas, androids, alien-humanoid avatars, etc.) with customisable category visibility based on viewer preferences. Every category operates inside the music-video cap — twerking, body-rolls, thong-and-top dancewear, sensual choreography are all on-policy; full nudity and explicit sexual acts are not.
- AI Recommendations: Personalised stream and content recommendations powered by viewing history, tipping behaviour, and follow graph analysis — surfaces performers the viewer is likely to enjoy but hasn't discovered yet.
- Trending Streams: Real-time leaderboard of the most-watched, most-tipped, or fastest-growing streams at this moment.
- Search: Full-text search across broadcaster profiles, stream titles, and tags with instant results.
- Follow System: Follow any broadcaster to receive go-live notifications and see them highlighted in the directory when online.
- Watch History: Complete history of watched streams with timestamps, allowing viewers to return to recently watched broadcasters and VODs.
Watching Streams#
- Adaptive Bitrate HLS: Stream quality automatically adjusts to the viewer's
connection bandwidth, cycling between the 240p, 360p, 480p, 720p, and 1080p
quality presets defined in
@aphrodite/streaming-corewithout buffering. - Low-Latency WebRTC Mode: Sub-3-second glass-to-glass latency using WebRTC for interactive private shows where real-time responsiveness is essential — the viewer's tip and the broadcaster's reaction are synchronised.
- AI Stream Upscaling: On-device or server-side neural upscaling converts 720p streams to 1080p/4K quality for viewers with high-resolution displays, even when the broadcaster is streaming at lower resolution.
- Multi-Camera Views: Switch between multiple camera angles during a broadcast when the performer has configured a multi-camera setup.
- Picture-in-Picture: Continue watching a stream while browsing other parts of the platform or other browser tabs.
- Theater Mode and Fullscreen: Expanded viewing modes that minimise or hide the UI chrome for an immersive watching experience.
Viewer Social Features#
- Viewer Avatars (
@aphrodite/viewer-avatars): Customisable avatar visible in chat overlays and in VR social spaces — appearance ranges from simple illustrated characters to 3D photorealistic representations, with clothing, accessories, and animated emote sets purchasable from the platform marketplace. - Viewer Interactions (
@aphrodite/viewer-interactions): Interactive buttons and triggers the viewer can activate depending on broadcaster permissions — examples include triggering a camera effect, activating a haptic device pattern, launching a visual animation on screen, or throwing a virtual gift that appears as a 3D object in the virtual space. - VIP Areas (
@aphrodite/vip-areas): Premium sections of a broadcast with exclusive camera angles, closer virtual proximity to the performer, direct chat access not shared with the general audience, and special interaction privileges for viewers who qualify by token balance, subscription tier, or direct broadcaster invitation. - Virtual Rooms (
@aphrodite/virtual-rooms): Shared social spaces where multiple viewers congregate as avatars and watch the same broadcast together, with spatially positioned voice chat between attendees, emote systems, and avatar-to-avatar social interactions — creating a genuine social viewing experience rather than isolated individual watching.
Broadcaster Experience#
For broadcasters, Aphrodite provides a production environment, not just a streaming endpoint. Stream setup, real-time dashboard analytics, tip goal and menu configuration, and show type selection are all designed to help performers maximise revenue and audience engagement during a live session rather than as post-session administrative tasks.
Stream Setup#
- RTMP Ingest: Compatible with OBS, Streamlabs, XSplit, hardware encoders (Elgato, Roland), and any software that outputs an RTMP stream. Stream key management with instant regeneration if compromised.
- Stream Setup Wizard: Guided onboarding for first-time broadcasters covering stream key configuration, bitrate recommendations for different connection speeds, OBS scene suggestions, and device pairing.
- Multi-Source Streaming: Simultaneously ingest multiple camera inputs (main cam, close-up cam, remote guest cam) and composite them server-side, enabling split-screen and picture-in-picture layouts without requiring a hardware switcher.
- Stream Health Monitoring: Real-time stream health dashboard showing bitrate stability, dropped frames, CPU encoding load, and viewer buffering rate — with automated alerts when quality degrades below a threshold.
Broadcaster Dashboard#
- Live Statistics: Viewer count, tokens received per minute, tip velocity chart, and geographic viewer map — all updating in real time during the broadcast.
- Tip Goal Bar: Configurable progress bar displayed to viewers tracking progress toward a nominated tip target. On goal completion, a custom animation and device trigger fires automatically.
- Tip Menu: Customisable menu of actions viewers can trigger by tipping specific amounts — e.g., "200 tokens: play audio effect", "500 tokens: change outfit", "1000 tokens: device max intensity".
- Custom Tip Acknowledgment: Per-amount custom overlay animations, audio cues, text-to-speech callouts, and device patterns that fire when specific tip thresholds are hit.
Show Management#
- Show Type Selection: Broadcasters choose the access model before going live (see Show Types below). Type can change between sessions.
- Schedule Management: Broadcasters can publish upcoming show times with show type, category, and description — viewers following the broadcaster receive calendar notifications.
- Advance Promotion Tools: Teaser clips, countdown timers, and pre-show landing pages to build audience before a broadcast begins.
- Revenue Analytics: Earnings per session, per period, payout history, token-to-fiat conversion summaries, and comparison against personal historical benchmarks.
- Audience Analytics: Viewer demographic data (age ranges from verified accounts, geography, device type), engagement curves (viewer count over session duration), and retention benchmarks.
Live Streaming Infrastructure (@aphrodite/streaming-core)#
The streaming infrastructure is the technical backbone that makes live delivery
possible. It spans the full pipeline: RTMP ingest from the broadcaster's
encoder, real-time transcoding to multiple quality ladders, HLS and WebRTC
delivery to viewers, and post-stream processing for recordings and VOD creation.
The @aphrodite/streaming-core library owns the core protocol handlers; the
specialised libraries listed below each extend that foundation with a focused
capability.
- RTMP Ingest with OBS/Streamlabs/XSplit Support: The platform accepts any RTMP-compatible stream source. Live stream parameters (resolution, bitrate, keyframe interval) are validated and normalised at ingest.
- Adaptive HLS / LL-HLS Distribution: Ingested streams are transcoded in real time to multiple quality tiers and packaged as HLS and Low-Latency HLS for delivery to any device and browser without a plugin requirement.
- WebRTC Ultra-Low Latency Mode: A WebRTC-based path provides sub-3-second latency for private shows and interactive sessions where viewer-to-performer feedback loops are critical.
- Cloud Recording and VOD Creation: Broadcast recordings are stored in object storage (MinIO/S3) and automatically published as VOD content with chapter markers generated from the stream timeline.
- Stream Upscaling (
@aphrodite/stream-upscaling): Server-side AI upscaling enhances the perceived resolution of lower-bitrate streams, reducing bandwidth requirements for performers on slower connections. - Highlight Clipping (
@aphrodite/highlight-clipping): Automated and manual clip creation from VOD archives — highlight moments are identified by tip spikes and viewer engagement peaks, generating shareable clips. - VOD Chaptering (
@aphrodite/vod-chaptering): Chapters are automatically inserted at show type transitions, tip goal completions, and performer-marked moments, making long VODs navigable. - Thumbnail Generation (
@aphrodite/thumbnail-generation): AI-powered frame selection generates representative thumbnails from stream recordings, choosing aesthetically and commercially optimal frames. - Stream Watermarking (
@aphrodite/stream-watermarking): Invisible perceptual watermarks are embedded in the video stream tied to each viewer's session, enabling piracy source identification when unauthorised copies appear online. - Multi-Source Composition (
@aphrodite/multi-source): Multiple simultaneous camera sources are composited server-side using configurable layouts, enabling professional multi-camera shows without physical video hardware.
Show Types#
Show types define who can access a broadcast and how viewers pay for it. A broadcaster selects the show type before going live; some can layer on top of each other (a public broadcast can include a VIP room; a fan club show is a specialised public broadcast). The show type determines billing mode, discoverability, and viewer permissions throughout the session.
A stream's access model is set by the StreamType enum in the Prisma schema —
PUBLIC, PRIVATE, TICKET, GROUP, and FAN_CLUB. PrivateShow sessions
additionally carry a PrivateShowType of ONE_ON_ONE, GROUP, or SPY.
- Free Chat (
PUBLIC): Public broadcast accessible to all visitors without token payment — the standard discovery mechanism. The broadcaster can restrict chat to token holders or subscribers. - Member / Fan Club Show (
FAN_CLUB): Broadcast accessible only to active subscribers of the broadcaster. Ensures exclusive content for paying fans. - Private Show (
PRIVATE): One-on-one exclusive session between broadcaster and a single viewer, billed per minute in tokens. Only the paying viewer can watch. ASPYprivate-show variant lets additional viewers observe. - Ticket / Group Show (
TICKET,GROUP): Scheduled broadcast that requires advance ticket purchase. The event runs regardless of how many tickets are sold (up to a configurable maximum). Creates scarcity and anticipation.
Two further monetisation models are not StreamType values but layer on top:
- Pay-Per-View (PPV): Specific content (video, photo set, clip) unlocked
with a one-time token payment, handled by
@aphrodite/ppv. Used for premium recordings, custom content, and on-demand access. - VIP Room: A premium area within a broadcast granting exclusive camera
angles, direct chat access, and special interactions to qualifying viewers,
provided by
@aphrodite/vip-areas.
Interactive Devices#
Libraries: @aphrodite/device-protocols, @aphrodite/haptics,
@aphrodite/buttplug, @aphrodite/bidirectional-haptics,
@aphrodite/motion-haptics, @aphrodite/audio-haptics,
@aphrodite/device-safety, @aphrodite/device-reaction-engine,
@aphrodite/sensation-bus
Interactive device integration is one of Aphrodite's defining differentiators — allowing viewers to physically connect to a broadcaster's experience through teledildonic devices.
- Buttplug.io Protocol (
@aphrodite/buttplug): The Buttplug.io protocol is an open standard for communicating with intimate haptic devices — vibrators, strokers, electrostimulators, and similar hardware from hundreds of manufacturers. Aphrodite implements the full Buttplug client with WebSocket transport, device enumeration, command queueing, and capability negotiation. Supporting the open standard ensures compatibility with the broadest possible hardware ecosystem. - Bidirectional Haptic Control (
@aphrodite/bidirectional-haptics): Viewers send vibration commands (pattern, intensity, duration) to broadcaster devices; broadcaster device sensors can send reciprocal feedback to viewers. Both parties experience real-time physical connection during a show. Commands are authenticated and rate-limited to prevent abuse. - Audio-to-Haptic Conversion (
@aphrodite/audio-haptics): The stream's audio signal is analysed in real time — beats, transients, and amplitude envelopes drive haptic output patterns, synchronising device vibration to music or other audio events without any manual programming. - Motion Haptics (
@aphrodite/motion-haptics): Avatar/performer movement data (extracted from pose estimation) drives haptic patterns — a performer's movement translates directly into physical sensation for connected viewers. - Device Reaction Engine (
@aphrodite/device-reaction-engine): Event-to-haptic mapping layer: tip amounts, goal completions, chat milestones, and timer events all trigger configurable device reactions automatically, creating a feedback loop between audience engagement and physical sensation. - Sensation Bus (
@aphrodite/sensation-bus): A unified event bus that aggregates signals from all haptic input sources (tips, audio, motion, manual control) and routes them to the appropriate output devices after applying priority, throttling, and intensity capping rules. - Device Grouping: Multiple devices can be grouped into a named cluster and controlled as a single unit — e.g., "all vibrators" or "all strokers" — simplifying control during a live session.
- Device Safety Controls (
@aphrodite/device-safety): Broadcaster-set maximum intensity cap; absolute intensity ceiling per device type to prevent harm; safe-word kill switch that immediately zeroes all device output; rate limiting to prevent viewer-triggered device spam. Safety constraints are enforced server-side, not solely client-side. - Smart Home Integration (
@aphrodite/smart-home): Ambient smart home devices (smart bulbs, fans, ambient scent dispensers) respond to tip events and show milestones — a large tip can trigger a lighting colour change or atmosphere effect, immersing the viewer in the show's emotional arc from their own home. - Wearable Device Support (
@aphrodite/wearables): Bluetooth Low Energy wearables (heart rate monitors, biometric sensors) are integrated to optionally display real physiological data (heart rate, stress response) as an engagement overlay during shows.
VR and AR Experiences#
Libraries: @aphrodite/vr-core, @aphrodite/vr-quest,
@aphrodite/vr-haptics, @aphrodite/gaussian-splatting
The VR experience places viewers inside an immersive 3D environment rather than displaying a flat video. Performers are rendered as spatial video — either as 360-degree video surfaces or as volumetric 3D reconstructions using Gaussian Splatting — so viewers experience a sense of physical presence in the virtual space. Avatar-based social features extend the immersive quality by letting viewers represent themselves and interact with one another in the same virtual room.
- VR Streaming Application (
@aphrodite/vr-core): Immersive 360-degree and 3D spatial video streaming targeting Meta Quest 2/3 and PC VR headsets via WebXR. The viewer is placed in a virtual environment with the performer's video projected as a spatial surface. - Meta Quest Optimisation (
@aphrodite/vr-quest): Quest-specific rendering optimisations including foveated rendering (rendering the centre of the visual field at higher resolution than the periphery where the eye has lower acuity), AppSpaceWarp frame interpolation, and Fixed Foveated Rendering (FFR). These maintain 72/90 Hz performance within Quest's mobile GPU budget. - 3D Gaussian Splatting (
@aphrodite/gaussian-splatting): Photorealistic performer capture using 3D Gaussian Splatting — a technique that represents a scene as millions of Gaussian point clouds, enabling real-time novel viewpoint synthesis. Viewers in VR can experience a performer from any angle without explicit 3D modelling. - Viewer Avatar Customisation (
@aphrodite/avatar-customization-ui): Full avatar builder for viewers appearing in VR spaces — body shape sliders, clothing and accessory selection, skin and hair customisation, and AI-assisted generation from a text description. - Avatar Physics and Motion (
@aphrodite/avatar-physics,@aphrodite/avatar-motion): Physics-driven secondary avatar motion (hair, clothing) and full-body pose estimation from webcam or tracker input. Pose lifting from 2D keypoints to 3D skeleton enables surprisingly convincing avatar embodiment without dedicated motion-capture hardware. - Avatar Renderer (
@aphrodite/avatar-renderer): High-fidelity avatar rendering using PBR materials, subsurface scattering for skin, physically-based hair shading, and eye caustics for photorealistic self-representation. - Animation Blending (
@aphrodite/animation-blending): Smooth transitions between avatar animation states (idle, speaking, dancing, reacting to tips) using interpolated blendtrees, ensuring avatars always move naturally rather than snapping between poses. - AR Overlays (
@aphrodite/ar-overlays): Augmented reality overlays on the live video feed — tip notification banners, goal progress overlays, interactive UI elements — rendered as AR layers on top of the video stream. - VR Haptics (
@aphrodite/vr-haptics): Spatial haptic feedback system for VR controllers and haptic suits — body zone mapping, localised vibration patterns corresponding to virtual touch events, and controller haptic pulse events synchronised to on-screen interactions. - Eye Tracking (
@aphrodite/eye-tracking): Eye tracking integration for Quest Pro and compatible PC VR headsets, enabling gaze-based UI interaction and foveated rendering optimisation.
Chat and Communication#
Libraries: @aphrodite/chat-core, @aphrodite/chat-moderation,
@aphrodite/chat-entertainment
Chat is the primary audience engagement channel during a live stream. In Aphrodite, it does more than carry text messages — it is the surface through which tips are acknowledged, goals are tracked, virtual gifts are delivered, and mini-games unfold. Moderation tools protect broadcasters from harassment while preserving the fast-paced, playful energy that makes live chat engaging.
- Real-Time Chat (
@aphrodite/chat-core): Sub-100 ms message delivery via WebSocket. Supports emoji (including custom broadcaster emoji), stickers, GIFs (Giphy integration), and rich formatted messages. - Chat Moderation (
@aphrodite/chat-moderation): Rule-based moderation with allowlist/blocklist, regex pattern filters, link blocking, and automatic ban escalation for repeat offenders. AI-assisted context-aware moderation that understands the difference between performative and genuinely harmful content. Slow mode, subscriber-only mode, and emote-only mode are broadcaster-configurable. - Tiered Chat Permissions: Message visibility and send-rate limits scale with viewer tier — free visitors, token holders, subscribers, and VIPs each have different chat privileges, incentivising token purchase and subscription upgrades.
- Tip Messages and Acknowledgment: Tips above configurable thresholds display the tip amount, sender name, and optional message as an animated on-screen overlay with sound effect and optional device trigger.
- Chat Entertainment (
@aphrodite/chat-entertainment): Mini-games, polls, and interactive widgets embedded in the chat stream — viewers participate by typing commands or clicking buttons. Games include prize wheels, voting rounds, and streaker-style competitions. - End-to-End Encrypted Private Messaging (
@aphrodite/e2e-encryption): Asymmetric encryption (Signal-style double ratchet) protects private messages between broadcasters and individual viewers. Messages are not accessible to the platform operator. Forward secrecy ensures past messages cannot be decrypted if a key is later compromised. - Multi-Language Chat with Translation: Chat messages can be automatically translated to the viewer's configured language, enabling global broadcasts without language barriers. The translation layer uses the Lilith domain's LLM pipeline.
- Chat Replay in VOD: The full chat event stream is recorded alongside the video, enabling synchronised chat replay when watching VODs so the social context of the original broadcast is preserved.
Tokens and Tipping#
Tokens are Aphrodite's in-platform currency. Viewers purchase token bundles with real money through integrated payment processors; they spend those tokens on tips, private shows, subscriptions, and content unlocks. The platform exchange rate is fixed at 20 tokens per US dollar. Broadcasters accumulate token earnings and convert them to fiat through the payout system. The tipping features below transform this simple economy into an interactive experience — tips trigger animations, device patterns, and goals, creating a direct feedback loop between audience generosity and real-world physical sensation.
- Platform Token Economy: Viewers purchase token bundles using fiat currency through integrated payment processors. Tokens are the in-platform currency for tipping, private show access, and content unlocks. Tokens have no real-world cash value until broadcasters exchange them for fiat through the payout system.
- Tip Acknowledgment System (
@aphrodite/tip-acknowledgment): Customisable per-amount overlay animations (lottie, particle systems, 3D effects), configurable audio cues (custom sound files or text-to-speech callout), and automatic device trigger sequences. - Tip Goals (
@aphrodite/tip-goals): Broadcaster-set tip targets with animated progress bars shown to viewers. Goal completion triggers a configurable reward — a specific animation, device pattern, or show type transition. - Tip Effects (
@aphrodite/tip-effects): Tip amounts above specified thresholds trigger configurable visual effects on the broadcaster's video — screen effects, particle overlays, or animated stickers — visible to all viewers in real time. - Virtual Gifts (
@aphrodite/virtual-gifts): An animated gift catalog — flowers, champagne, roses, luxury items — that viewers purchase and send. Each gift has a point value that contributes to session leaderboards and can trigger special device patterns. - Tip Leaderboards: Session, weekly, and all-time tipping leaderboards for each broadcaster. Top tippers receive visible recognition badges in chat and optional VIP access upgrades.
Subscriptions and Fan Clubs#
Subscriptions convert the one-off token transaction into a recurring revenue relationship. Broadcasters configure up to five subscription tiers with independent pricing and benefit sets, creating an upgrade path from a casual follower to a committed superfan. The fan club feature builds a private community space on top of that subscription infrastructure.
- Multiple Subscription Tiers: Broadcasters configure up to five subscription levels with individual monthly pricing. Each tier unlocks a defined set of benefits, creating an upgrade path from casual follower to superfan.
- Tier Benefits: Ad-free viewing, exclusive content vault access, private message access (up to broadcaster discretion), lower token purchase rates, member-only chat badge, and priority private show booking.
- Fan Club: Dedicated community space for subscribers — exclusive posts (photos, video clips, text), member-only events, and a searchable vault of past subscriber content.
- Free Trial Subscriptions: Configurable trial period (1–14 days) with automatic conversion to paid subscription unless cancelled. Trial availability can be limited to new-to-broadcaster viewers only.
- Subscription Gifting: Any viewer can gift a subscription of any tier to another viewer — a social mechanic that drives organic growth within broadcast communities.
- Growth Tracking (
@aphrodite/growth): Analytics specifically for subscription funnel — trial conversion rates, tier upgrade patterns, churn reasons, and projected monthly recurring revenue for each broadcaster.
Content Management#
Beyond live streams, Aphrodite is a content platform. Broadcasters accumulate a library of VODs, clips, and exclusive content over time. The content management features handle the full lifecycle: recording, tagging, access control, DRM protection, takedown compliance, and long-term archival.
- Content Vault: A password-protected media library available to qualifying subscribers. Broadcasters curate the vault with photos, video clips, and custom content. Access is tier-gated.
- Video-on-Demand (VOD): All recorded broadcasts (where recording is permitted by the broadcaster) are published as searchable, chapter-marked VODs with viewer-specific access control.
- Content Tagging (
@aphrodite/content-tagging): AI-assisted tag suggestion from video frame analysis and audio transcription, supplemented by manual broadcaster tagging. Tags drive searchability and recommendation accuracy. - Content Takedown (
@aphrodite/content-takedown): DMCA-compliant takedown request management — rights holders file notices, content is reviewed and actioned within a configurable SLA, and counter-notice workflows are supported. International equivalents (EU DSA Article 17, UK Online Safety Act) are also handled. - DRM Protection (
@aphrodite/drm): Widevine (Chrome/Android) and FairPlay (Safari/iOS) DRM protection on exclusive VOD content prevents local recording by standard capture tools. - Recording Prevention (
@aphrodite/recording-prevention): Client-side controls that disrupt screen recording software — frame timing jitter, token-indexed watermarks, and notification to the broadcaster when capture attempts are detected. - Archive Management (
@aphrodite/archive): Long-term storage policies for recorded content — tiered storage (hot/warm/cold) based on access frequency, configurable retention windows, and GDPR-compliant data deletion pipelines.
Payment and Monetisation#
Libraries: @aphrodite/payments, @aphrodite/ppv,
@aphrodite/revenue-sharing, @aphrodite/crypto-payments,
@aphrodite/privacy-coins, @aphrodite/nft-integration, @aphrodite/treasury
Adult content platforms cannot use mainstream payment processors like Stripe for primary billing — card network rules restrict adult content merchants. Aphrodite therefore integrates with specialised adult payment processors (CCBill, Epoch, Segpay) as the primary fiat path, while also supporting crypto and privacy coins for viewers who need anonymity. Payout to broadcasters supports multiple methods including ACH, wire, and crypto.
- Multi-Provider Fiat Payment Processing (
@aphrodite/payments): Integrations with CCBill, Epoch, and Segpay — payment processors specialised in adult content billing with experience navigating card network chargeback rules in the industry. - Fiat Payment Methods: Credit/debit cards (Visa, Mastercard, Discover, Amex), ACH/SEPA bank transfers, and e-check. Regional payment method availability configurable per jurisdiction.
- Cryptocurrency Payments (
@aphrodite/crypto-payments): Major coins (Bitcoin, Ethereum, Solana, USDC) accepted for token bundle purchases. Automatic conversion to platform token at current exchange rate. - Privacy Coins (
@aphrodite/privacy-coins): Monero and similar privacy-preserving cryptocurrencies supported for viewers who require transaction anonymity. This is a meaningful privacy protection given the sensitive nature of the platform. - NFT-Gated Content (
@aphrodite/nft-integration): Broadcasters can configure specific content or show access as requiring ownership of a specified NFT — enabling token-gated fan communities and collectible-based membership tiers. - Revenue Sharing (
@aphrodite/revenue-sharing): Configurable platform/performer fee split. Default splits, custom per-performer negotiated splits, and referral commissions are all managed through this library. - Pay-Per-View (
@aphrodite/ppv): Individual content unlock tokens — one-time purchase of a specific video, photo set, or show access. - Payout Processing (
@aphrodite/treasury): Automated payout scheduling (weekly, biweekly, or monthly) via wire transfer, ACH, e-check, or cryptocurrency. Hold periods, minimum payout thresholds, and tax document (1099/W-8BEN) generation are managed in this library. - Affiliate and Referral Program: Tracked referral links that credit introducing affiliates with a percentage of referred users' spending over a configurable attribution window.
Analytics and Insights (@aphrodite/analytics)#
Analytics in Aphrodite is split into two audiences: broadcaster-facing dashboards give performers real-time visibility into their session and historical earnings; platform-facing BI gives operators revenue and trend data across all broadcasters. Both surfaces serve the same goal: helping performers and operators understand what drives engagement so they can replicate it.
- Real-Time Analytics Dashboard: Live viewer count, token velocity (tokens received per minute), geographic distribution heat map, and device type breakdown — all updating in real time during a broadcast.
- Broadcaster Earnings Analytics: Hourly, daily, weekly, and monthly earnings breakdowns with comparison to personal historical benchmarks. Token-to-fiat conversion rate history for estimating payout values.
- Show Performance: Peak viewer count, average session duration, viewer-to-tipper conversion rate, best-performing show types and time slots, and correlation between tip goal activity and peak concurrency.
- Device Interaction Analytics: Device trigger frequency, intensity patterns, and correlation between device events and tip velocity — helping broadcasters understand which interactive device moments drive audience engagement.
- Audience Demographics: Age ranges (from verified accounts only), device types, geographic distribution, and viewing duration distributions.
- Content Performance: Top-performing clips by view count, subscription conversion rate per VOD, and content vault access patterns.
- Market Intelligence (
@aphrodite/market-intelligence): Platform-wide trend data — trending categories, peak viewing hours, token spend patterns across broadcaster tiers — enabling performers to make informed scheduling and content decisions. - Platform BI (
@aphrodite/platform-analytics): Administrator-facing business intelligence covering platform-wide revenue, performer distribution, category performance, chargeback rates, and operational metrics.
Safety and Moderation (@aphrodite/stream-content-analysis, @aphrodite/safety-intelligence, @aphrodite/consent-engine, @aphrodite/performer-autonomy, @aphrodite/performer-sovereignty, @aphrodite/risk-crisis, @aphrodite/wellness, @aphrodite/ethics, @aphrodite/body-dignity)#
Aphrodite treats performer safety as a first-class design constraint, not an afterthought.
- AI-Powered Real-Time Stream Analysis
(
@aphrodite/stream-content-analysis): Computer vision models analyse the live video stream in real time for content policy violations — undisclosed minors, prohibited acts, and other platform rule violations. Automated flagging triggers human review; egregious violations trigger immediate stream pause pending review. - Consent Engine (
@aphrodite/consent-engine): An explicit, granular consent management system where performers log their consent for specific activity types before going live. Consent is timestamped and immutably stored. This system underpins platform liability protection and provides performers with a formal record of their stated boundaries. Inspired by industry best practices for performer consent in professional adult film production. - Performer Autonomy Controls (
@aphrodite/performer-autonomy): Performers block specific viewers at any time with no justification required; restrict interaction types (device control, private messages, etc.) per viewer tier; and configure what activities are available to whom without requiring platform intervention. - Performer Sovereignty Dashboard (
@aphrodite/performer-sovereignty): Complete, transparent control over who can access what content and interaction. Performers can see exactly which permissions each viewer has and revoke them instantly. The dashboard is designed to make the performer feel in control of every dimension of their experience. - Body Dignity Framework (
@aphrodite/body-dignity): Enforces platform policies that protect performers from dehumanising or degrading treatment in chat and interactions. Includes configurable thresholds for automated chat moderation and escalation paths for performer-reported violations. - Risk and Crisis Management (
@aphrodite/risk-crisis): One-click emergency stream termination that instantly ends the broadcast, triggers an operator alert, and logs the incident. Designed to be accessible under duress — large, always-visible stop button with no confirmation dialog. - Safety Intelligence (
@aphrodite/safety-intelligence): Behavioural analysis of viewer interaction patterns to detect early warning signs of coercive or manipulative behaviour before they escalate. Risk scores are surfaced to the platform's trust and safety team. - Wellness Monitoring (
@aphrodite/wellness): Optional wellness check-in system for broadcasters — periodic prompts, burnout risk indicators based on streaming frequency and session length, and links to performer support resources. Not surveillance; entirely opt-in and performer-controlled. - Ethics Framework (
@aphrodite/ethics): Documented ethical principles for AI systems deployed in Aphrodite, including bias auditing for content moderation AI, transparency requirements for automated decisions, and performer appeal rights.
Compliance and Legal (@aphrodite/compliance, @aphrodite/compliance-2257, @aphrodite/age-verification, @aphrodite/gdpr-compliance, @aphrodite/regulatory, @aphrodite/legal)#
Sensual-performance platforms — even those capped at music-video-grade content — face complex legal requirements. Aphrodite handles them as a first-class concern.
- 18 U.S.C. § 2257 Compliance (
@aphrodite/compliance-2257): Section 2257 of the US Code applies to producers of sexually-suggestive and sexually-explicit visual content alike. Aphrodite operates inside the music-video cap (no explicit acts, no full nudity) but conservatively maintains 2257 records for every human performer regardless of where on the suggestive / sensual ladder their work sits. The compliance library manages: performer ID document collection and secure storage, custodian of records designation, record indexing by content ID, compliant disclosure statements on every content page, and inspection-request workflows. AI-generated, android, and alien-humanoid embodiments do not produce 2257 records (no human likeness) but require synthetic-content disclosure instead. Non-compliance carries criminal penalties — this library is legally critical. - Age Verification (
@aphrodite/age-verification): Performer age verification through government-issued ID document scanning and liveness checks (selfie + document comparison). Viewer age verification for jurisdictions that require it (UK Age Verification from Online Safety Act, etc.) via third-party AV providers. Verification status is gated before broadcasting or accessing age-restricted content. - V2 mature-game age-gate profile: V2 uses
@aphrodite/age-verificationthrough@v2/aphrodite-age-gatewith amature-rated-fighting-gameprofile. The primitive-fitness audit rejects the adult-content default profile, keeps 2257 / performer-protection / anti-CSAM performer workflows out of V2 game content gating, and hands minor-account decisions to platform family controls. - GDPR Compliance (
@aphrodite/gdpr-compliance): Full GDPR (EU General Data Protection Regulation) compliance library covering: consent collection and management, data subject access requests (DSARs) with response SLA tracking, right to erasure ("right to be forgotten") with cascading deletion across all storage systems, data portability export, and breach notification workflows. The library handles the strict requirements of the EU's most comprehensive privacy law as applied to adult content platforms. - Content Takedown (
@aphrodite/content-takedown): DMCA (US), DSA Article 17 (EU), and UK Online Safety Act takedown management. Rights holders file notices; content is actioned within a defined SLA; counter-notice workflows are supported for performers disputing takedowns. - Regulatory Compliance Tooling (
@aphrodite/regulatory): Jurisdiction-specific rule management — different jurisdictions impose different requirements (performer verification, record-keeping, content restrictions, mandatory age verification). This library manages a registry of jurisdictional rules and their enforcement state, enabling platform operators to configure compliance posture by market. - Legal Record Audit Log (
@aphrodite/legal): Tamper-evident, cryptographically verifiable audit trail of all compliance-relevant actions — consent records, age verifications, takedown actions, and data deletion confirmations. The immutability is implemented via hash chaining (each record includes the hash of the previous record).
AI-Powered Features#
Aphrodite embeds AI at multiple layers: real-time computer vision for compliance monitoring, recommendation models for viewer discovery, notification timing models for engagement, and AI assistant tools to help broadcasters optimise their shows. The common thread is that AI is applied where human real-time attention cannot scale — a platform with thousands of simultaneous broadcasts cannot employ a human reviewer for each.
AI Content Analysis and Moderation#
- Stream Content Analysis (
@aphrodite/stream-content-analysis): Real-time frame-by-frame content analysis using computer vision models fine-tuned on adult content categories. Detects policy violations, categorises content for tagging, estimates performer age signals, and generates scene descriptions for metadata. - AI Assistant (
@aphrodite/ai-assistant): Broadcaster-facing AI assistant that helps optimise show titles and descriptions, suggests optimal go-live times based on historical audience patterns, recommends tip menu pricing based on comparable performers, and drafts fan messages. - Recommendations (
@aphrodite/recommendations): Collaborative filtering and content-based recommendation models that surface the most relevant streams and VODs to each viewer based on their history, similar viewer behaviour, and real-time contextual signals. - Notification Intelligence (
@aphrodite/notification-intelligence): Smart push notification delivery that learns optimal send times per viewer (when they are most likely to convert a go-live notification into a viewing session), preventing notification fatigue while maximising click-through. - Scouting Agents (
@aphrodite/scouting-agents): AI agents that monitor platform trends and suggest actionable opportunities to broadcasters — trending categories to enter, optimal streaming windows, and content types gaining momentum. - Research Agents (
@aphrodite/research-agents): Intelligence-gathering agents that synthesise platform data, performer performance patterns, and market trends into structured reports for platform operators.
Performer Economy#
Libraries: @aphrodite/career, @aphrodite/talent, @aphrodite/property,
@aphrodite/partnerships, @aphrodite/production
Many performers operate as professional creators with long-term career trajectories, agency representation, commercial partnerships, and production infrastructure. These libraries support the business dimensions of being a content creator: career analytics, talent management for agencies, commercial relationship tracking, and professional production tooling.
- Career Management (
@aphrodite/career): Long-term career analytics and goal-setting tools for performers — milestone tracking (follower counts, lifetime earnings, content metrics), career trajectory modelling, and income diversification recommendations. - Talent Management (
@aphrodite/talent): Multi-performer management for agencies and studios — aggregate dashboards across all managed performers, group scheduling, consolidated payouts, and compliance record management at the agency level. - Commercial Property (
@aphrodite/property): Management of commercial relationships — venue partnerships, equipment partnerships, and brand collaboration tracking. - Production Tools (
@aphrodite/production): Tools for professional production setups — multi-camera scene presets, lighting configuration presets, audio routing templates, and production notes and rundowns. - Partnerships (
@aphrodite/partnerships): Partnership agreement management, co-stream scheduling tools, joint promotion tracking, and revenue-sharing calculation for collaborative broadcasts.
Immersive Entertainment#
Beyond standard live streams, Aphrodite provides tools for structured, theatrical, and spiritually-framed performance experiences. These features allow performers to produce events that go beyond webcam shows: themed venue spaces, scripted interactive narratives, ceremonial frameworks, and technically complex multi-source productions.
- Virtual Performance Venues (
@aphrodite/venue-management): Configurable virtual venue spaces for special events — themed environments with spatial audio, stage-like performer positioning, and audience seating areas. Used for ticket shows, concerts, and special events. - Immersive Theater (
@aphrodite/immersive-theater): Scripted interactive performance environments where multiple performers and viewers participate in a structured narrative experience with branching choices driven by audience decisions. - Ceremonial and Ritual Contexts (
@aphrodite/ceremony): Tools for performers who frame their work within spiritual, ceremonial, or ritual contexts — scene templating, ritual progression tracking, and atmospheric customisation for sacred sexuality presentations. - Drone Integration (
@aphrodite/drone-integration): Integration with consumer drones for aerial camera shots during outdoor or large-venue broadcasts, with flight path automation and feed switching. - Technical Direction (
@aphrodite/technical-direction): Production control panel for complex multi-performer shows — cue system, transitions, automated scene changes triggered by timeline or tip milestones, and broadcast director workflow tools.
Content Discovery and Cultural Awareness#
Aphrodite recognises that erotic performance has deep roots in artistic, cultural, and spiritual traditions. These libraries provide context, framing tools, and resource libraries for performers who situate their work within those traditions — from burlesque and sacred dance to Jungian persona development and goddess spirituality. The goal is to elevate the creative dimension of adult performance rather than treat it as purely transactional.
- Cultural Heritage Content (
@aphrodite/cultural-heritage): Context and framing tools for performances rooted in specific cultural traditions — erotic dance forms (burlesque, exotic dance traditions from various cultures), providing performers with educational resources about the traditions they are working within. - Sacred Dance Support (
@aphrodite/sacred-dance): Tools specifically for performers working in sacred sexuality, tantra, and spiritual erotic traditions — framing tools, educational overlays, and community spaces distinct from mainstream adult entertainment. - Art Traditions (
@aphrodite/art-traditions): Reference library of erotic art traditions across cultures and historical periods, helping performers contextualise their work within broader artistic lineages. - Goddess Traditions (
@aphrodite/goddess-traditions): Resources on goddess spirituality and sacred feminine traditions as they relate to sexuality, body sovereignty, and performance. - Literary Engine (
@aphrodite/literary-engine): Structured erotica and adult narrative content tools — character templates, narrative arc scaffolding, and scene generation assistance for performers who incorporate scripted storytelling. - Procedural Art (
@aphrodite/procedural-art): AI-assisted generative visual art for use as stream overlays, virtual backgrounds, and interactive visual experiences. - Abstract Scenes (
@aphrodite/abstract-scenes,@aphrodite/scene-abstract,@aphrodite/scene-cosmic,@aphrodite/scene-fantasy,@aphrodite/scene-goddess,@aphrodite/scene-nature,@aphrodite/scene-urban): A library of thematic virtual scene templates that performers use as virtual backgrounds — from abstract cosmic environments to natural landscapes, urban settings, and fantasy realms.
Gamification and Rewards (@aphrodite/gamification)#
Gamification mechanics convert passive viewers into invested community members by making loyalty visible and rewarding it concretely. XP, badges, streaks, and leaderboards give viewers a progression sense that goes beyond any single session, increasing long-term platform retention.
- Viewer Experience Points and Levelling: Viewers earn XP for watching, tipping, subscribing, and engaging in chat. Level milestones unlock cosmetic rewards, chat badges, and access to exclusive broadcaster events.
- Tiered Viewer Badges: Newcomer, Regular, Superfan, and VIP badges visually displayed in chat and on viewer profiles, making long-term loyalty visible and socially meaningful.
- Broadcaster Milestone Achievements: First stream, 100 followers, 1,000 tokens received, first private show — milestone badges that are displayed on the broadcaster's profile and shared as announcements.
- Loyalty Rewards: Token bonuses on bundle purchases, early access to ticket show bookings, and exclusive content access for viewers who have maintained active subscriptions for extended periods.
- Watch Streaks and Engagement Challenges: Daily and weekly activity challenges (watch 3 live shows, tip 5 different performers) that earn bonus tokens and collectible badges.
Multi-Performer Features#
Multi-performer shows require coordination infrastructure that goes beyond a single broadcaster's tools: shared virtual spaces, synchronised camera direction, video compositing across multiple feeds, and revenue splitting. These libraries provide that infrastructure, enabling everything from a duo show to large-scale audience participation events.
- Multi-Performer Shows (
@aphrodite/multi-performer): Coordinated broadcasting tools for two or more performers appearing in the same show — role assignments, shared revenue splits, and combined analytics dashboards. - Performer Presence System (
@aphrodite/performer-presence): Real-time presence sharing between performers for coordinated shows — latency-synchronised positioning in shared virtual spaces. - Performer Camera Tools (
@aphrodite/performer-camera): Advanced camera control for multi-performer shows — automatic speaker tracking, configurable picture-in-picture layouts, and director-assigned camera focus. - Performer Compositor (
@aphrodite/performer-compositor): Real-time video compositing for multi-performer shows — green screen keying, background unification, and visual effects that span across multiple video feeds. - Remote Guest Integration (
@aphrodite/remote-guest): Invite a remote performer (or viewer with broadcaster permission) into a live stream as a video feed participant, with audio mixing, layout control, and consent verification. - Audience Experience (
@aphrodite/audience-experience): Tools for managing large-audience show formats — crowd control, structured tipping rounds, audience participation games, and show pacing guidelines.
Notifications (@aphrodite/notification-intelligence)#
Notifications are the primary channel for turning a followed broadcaster's go-live event into a viewing session. The notification system goes beyond simple push delivery: a machine learning model learns per-viewer optimal send windows, so notifications arrive when each viewer is likely to act on them rather than uniformly at stream start.
- Push Notifications: Go-live alerts when followed broadcasters start streaming, tip received and new subscriber notifications for broadcasters, private message arrival, and goal completion events.
- AI-Optimised Delivery: Machine learning model trained per viewer to identify the time windows when each individual is most likely to engage with a notification, maximising session conversion while minimising notification fatigue.
- Email Digest: Configurable digest schedules (daily, weekly) summarising followed broadcaster activity, new VOD releases, and upcoming scheduled shows.
- In-App Notification Centre: Chronological feed of all platform notifications with read/unread tracking and deep links into the relevant platform section.
Developer SDK and API#
The platform's API surface is the Hono services under apps/aphrodite/* (see
specifications.md for the registered route groups). Third-party integration is
served by:
- Event publishing (
@aphrodite/event-publisher): Publisher / subscriber utilities over the shared event bus, carrying the 22aphrodite.*event topics — stream start/stop, tip received, subscription change, moderation actions, and more. - OAuth providers (
@aphrodite/oauth-providers): OAuth 2.0 authentication flows for third-party broadcaster applications, enabling external tools to authenticate on behalf of a broadcaster with appropriate scopes. - External SDK (
@aphrodite/sdk) (scaffold): Intended to package API clients, webhook helpers, OAuth utilities, and embed helpers for integration partners. Currently a scaffold — the package exports types only; theclient,webhooks,oauth, andembedmodules are placeholders pending service migration.
Advanced Music and Audio Systems#
Most streaming platforms treat music as a background amenity. Aphrodite's music
and audio systems go far beyond that, providing adaptive, emotionally
intelligent soundscapes that synchronise to the emotional arc of a live
performance. These libraries are implemented in libs/aphrodite/* as feature
code; service wiring into a deployed app should be confirmed per library.
- Advanced Music Engine (
@aphrodite/advanced-music): A comprehensive adaptive music system that understands the emotional and physiological arc of a performance and scores it in real time. Modules include frisson induction (the "chills" response triggered by unexpected harmonic resolutions and rising tension patterns), musical silence design (deliberate use of silence as an expressive element), operatic performance integration (vocal-line aware orchestration that responds to live voice), rock dynamics (distortion, dynamics, and energy-release patterns for high-intensity moments), generative ambient (AI-composed ambient layers parameterised by mood and arousal target), world music traditions (ethno-musical patterns from 60+ global traditions), and music fusion (cross-genre blending with stylistic coherence scoring). All layers transition seamlessly using the adaptive layering system. - AI Music Generation (
@aphrodite/ai-music): Real-time AI composition that generates unique music on demand — text-to-music from broadcast context, style transfer between musical traditions, mood-locked generative loops that do not repeat, and performer-controlled music direction through natural language. - Music Force System (
@aphrodite/music-force): A physics-inspired adaptive music engine where musical parameters (tempo, key, density, intensity) respond to viewer engagement signals (tip velocity, chat activity, viewer count trajectory) as if governed by physical forces — attraction toward target states, momentum that resists sudden changes, and damping that prevents oscillation. Creates organic musical responsiveness without mechanical on/off transitions. - Cinematic Music Engine (
@aphrodite/cinematic-music-engine): Film-scoring-quality adaptive music composition for high-production-value shows — leitmotifs (recurring musical themes) for specific performers and show elements, harmonic tension/release mapping to narrative arc, and dynamic orchestration that scales from intimate solo instrument to full orchestral texture. - Spatial Audio (
@aphrodite/spatial-audio): Full three-dimensional audio positioning for VR shows — sound sources positioned in 3D space with distance attenuation, room acoustic simulation (reverberation, early reflections), and HRTF (Head-Related Transfer Function) personalisation. In non-VR contexts, provides stereo width and depth enhancement. HRTF is the frequency-dependent filter encoding how sound reaches the ear from any direction — it creates the perceptual illusion of sounds above, below, and behind the listener through standard stereo headphones. - AI Orchestration (
@aphrodite/ai-orchestration): AI coordination layer that routes signals from all music and audio systems, resolving conflicts between simultaneous triggers (a tip goal completion and a device pattern both wanting to change the music) using priority, energy-budget, and emotional-arc constraints. - Composition Engine (
@aphrodite/composition-engine): Generative music composition primitives — harmonic progression generators, rhythmic pattern synthesisers, melodic contour algorithms, and voice-leading rules — used by the higher-level music systems to compose technically correct music in any genre without pre-recorded stems.
Cinematic Production Tools#
Professional filmmaking and production tools bring broadcast-quality visual
production to live streaming without requiring a dedicated production crew. The
auteur camera system, lighting director, neural rendering pipeline, and VFX
layers give a single performer access to tools that would otherwise require a
full production team. These libraries are implemented in libs/aphrodite/* as
feature code; service wiring into a deployed app should be confirmed per
library.
- Auteur Camera System (
@aphrodite/auteur-camera): AI-directed camera control inspired by auteur film theory — the camera has a consistent "directorial voice" that applies a coherent visual philosophy throughout a show. Includes aspect ratio composition analysis (rule of thirds, golden spiral, dynamic symmetry), lens simulation (focal length, depth of field, bokeh character), montage theory (shot sequencing, rhythm, and emotional impact), colour philosophy (consistent colour grading approach matched to the broadcast's aesthetic), close-up logic (when and how to move to intimacy shots), and sound design integration (camera movement choreographed to audio). This system makes every broadcast feel like a directed film rather than a static webcam. - Cinematic Camera (
@aphrodite/cinematic-camera): Technical cinematography tools — automated panning, tilting, and zooming with smooth easing curves, shot type templates (establishing shot, medium shot, close-up, extreme close-up) with transition timing, camera shake simulation, and lens distortion models for different camera character aesthetics. - Lighting Director (
@aphrodite/lighting-director): AI lighting system for studio-quality broadcast illumination — three-point lighting configuration (key light, fill light, back light — the foundational lighting setup in professional photography and filmmaking), colour temperature management, dramatic lighting presets (film noir, soft beauty, high-contrast editorial), and real-time lighting adjustment based on the emotional tone of the broadcast. - Scene Composer (
@aphrodite/scene-composer): A real-time 3D scene composition engine that manages multiple overlapping visual layers — performers, virtual backgrounds, particle effects, lighting, cameras, and UI overlays — as a directed acyclic graph of rendering passes. Supports camera path animation, scene transition choreography, and spatial audio placement. Used to build complex, layered visual productions from simple components. - Neural Rendering (
@aphrodite/neural-rendering): AI-powered real-time video enhancement and style transformation — neural style transfer applies the visual characteristics of a reference painting or aesthetic to the live video feed, temporal style consistency maintains a coherent look across frames, optical flow-based warping preserves motion during style transitions, and multi-scale feature extraction enables fine texture and coarse composition to be styled independently. - Volumetric Capture (
@aphrodite/volumetric-capture): Multi-camera volumetric video capture that reconstructs performers as 3D point clouds or meshes viewable from any angle — enabling VR viewers to observe performances from arbitrary viewpoints. Includes 3D Gaussian Splatting capture pipeline (a technique representing scenes as millions of Gaussian ellipsoids for real-time novel-view synthesis), multi-camera synchronisation and calibration, real-time streaming of compressed volumetric data, and AI-driven puppeteering (retarget captured motion to a different body or avatar). - VFX Particles (
@aphrodite/vfx-particles): GPU-accelerated particle system for real-time visual effects overlaid on the broadcast — emitters, forces (gravity, wind, vortex, attractor), collision with scene geometry, particle sub-types (fire, sparks, confetti, magical motes, smoke, liquid drops), and tip-event-triggered burst effects. Millions of particles simulated and rendered at real-time frame rates. - VFX Post-Processing (
@aphrodite/vfx-post-processing): Full post-processing pipeline for broadcast video — bloom (bright areas bleed into surrounding pixels, creating a glow characteristic of over-exposed highlights), colour grading (LUT-based cinematic colour correction), lens flares, vignette, chromatic aberration (colour fringing at frame edges, mimicking camera lens imperfections), and custom GLSL shader effects. - VFX Volumetric (
@aphrodite/vfx-volumetric): Volumetric effects rendered in the camera's viewing frustum — volumetric fog, atmospheric haze, god rays (visible light crepuscular rays passing through openings in dark environments), smoke simulation, and underwater caustic patterns. - Video Effects (
@aphrodite/video-effects): A library of compositable real-time video effects applied to the performer's stream — chromatic distortions, glitch art effects, pixel sorting, mirror and kaleidoscope effects, motion blur, and AR-style facial effect overlays. - Animation Triggers (
@aphrodite/animation-triggers): Event-to-animation mapping layer — maps tip amounts, chat commands, goal completions, and device events to specific on-screen animated overlay events. Each trigger has configurable priority, cooldown, and simultaneous-trigger conflict resolution. - Animations (
@aphrodite/animations): A library of pre-built animated overlay assets — celebration animations, ambient particle loops, transition wipes, custom lower-third text animations, and badge reveal sequences — all composable with the scene composer.
Performer Wellbeing and Therapeutic Systems#
Aphrodite treats performer wellness as a long-term platform responsibility, not
a checkbox. Adult content creation carries real psychological and physiological
demands that generic wellness tools are not designed for. These libraries
address those demands directly: post-session aftercare, somatic arousal
awareness, spiritual and ritual frameworks, meditation resources tailored to sex
workers, and burnout prevention. These libraries are implemented in
libs/aphrodite/* as feature code; service wiring into a deployed app should be
confirmed per library.
- Aftercare System (
@aphrodite/aftercare): Comprehensive post-session care tools for performers — the aftercare module covers emotional support (mood check-in, grounding exercises, resource links), physical recovery guidance (hydration reminders, rest recommendations, physical tension release), partner communication (for performers in relationships who need to re-anchor to non-professional relational contexts), boundary review (reflect on any moments during the session that felt uncomfortable and log them), and session debrief (what worked, what to adjust, what felt aligned with the performer's stated values). - Aftercare Engine (
@aphrodite/aftercare-engine): The intelligent orchestration layer that personalises aftercare content based on session characteristics — session intensity, duration, device interaction patterns, and emotional signals during the session. A high-intensity long session generates a more comprehensive aftercare plan than a short, low-intensity one. - Arousal Awareness Engine (
@aphrodite/arousal-engine): A somatic awareness and arousal tracking system designed to help performers understand and communicate their own physiological states. Includes somatic markers (physical signals of arousal, stress, and discomfort — tracking these helps performers make informed real-time decisions about session direction), desire engineering (tools for performers to understand and articulate their own desire patterns for better show authenticity), device mapping (how device stimulation maps to somatic experience), multi-peak management (pacing tools for managing arousal trajectory across a session), and scoring (how the session aligned with the performer's pre-session stated intentions). - Ritual Engine (
@aphrodite/ritual-engine): A structured framework for performers who approach their work through spiritual, ceremonial, or ritual lenses. Provides sacred time tools (recognising the broadcast as ritual time distinct from ordinary time), ritual container management (opening and closing rituals that mark the transition into and out of professional context), entrainment tools (music, breathing, and movement that synchronise performer state), embodiment guides (somatic presence tools), tradition-specific templates (tantra, sacred sexuality, neo-tantra, specific spiritual lineages), collective ritual facilitation (multi-performer sacred space creation), and sacred calendar integration (alignment with seasonal, lunar, and tradition-specific calendars). - Meditation Module (
@aphrodite/meditation): Guided meditation and mindfulness resources specifically curated for sex workers and adult content creators — pre-session grounding, post-session integration, stress recovery, and presence cultivation. Addresses the specific psychological dynamics of erotic performance work that generic meditation apps are not designed for. - Wellness Integration: The wellness features work together with the
@aphrodite/wellnesslibrary's burnout indicators and the@aphrodite/ethicsframework's bias auditing to provide a comprehensive, performer-first wellbeing ecosystem.
Sacred Architecture and Symbolism#
Tools for performers and platforms that integrate sacred, symbolic, or
architectural dimensions into their content. These libraries support the design
of virtual spaces and visual languages grounded in sacred geometry, mythological
symbolism, and Jungian depth psychology. These libraries are implemented in
libs/aphrodite/* as feature code; service wiring into a deployed app should be
confirmed per library.
- Sacred Architecture (
@aphrodite/sacred-architecture): Virtual space design tools grounded in sacred architecture traditions — sacred proportions (golden ratio, Fibonacci series, Pythagorean harmonic ratios as used in temple design), geometric pattern generation (mandalas, yantras, Islamic geometric tessellations, Celtic knotwork), light and shadow symbolism, directional orientation (cardinal directions and their symbolic associations in various traditions), threshold and passage design (entrances as liminal spaces), and centre/axis/periphery spatial hierarchies found in sacred buildings across cultures. - Symbol Engine (
@aphrodite/symbol-engine): A comprehensive symbolic vocabulary library for visual design — archetypal symbols from Jungian psychology, sacred geometry, alchemical symbolism, goddess traditions, global mythology, and esoteric traditions. Provides SVG/raster assets, semantic metadata for AI prompting, and symbol combination rules for creating coherent symbolic visual languages. - Goddess Traditions (
@aphrodite/goddess-traditions): Resources on goddess spirituality, sacred feminine traditions, and their relationship to sexuality, body sovereignty, and performance. Covers traditions from ancient Sumerian (Inanna), Egyptian (Hathor, Isis), Greek (Aphrodite, Hecate), Hindu (Shakti, Kali, Lalita), Yoruba (Oshun, Oya), and contemporary neo-pagan goddess traditions. - Archetype Engine (
@aphrodite/archetype-engine): A Jungian archetype system for performer persona development and show character design. The 12 primary Jungian archetypes (Innocent, Orphan, Warrior, Caregiver, Seeker, Rebel, Lover, Creator, Ruler, Magician, Sage, Jester) each carry aesthetic characteristics, narrative patterns, shadow aspects, and audience resonance profiles — used to build coherent performer personas with psychological depth and authentic audience connection.
Face Identity and Biometric Systems#
Face and biometric processing in Aphrodite serves two distinct purposes: enhancing the broadcast (expression-aware camera direction, AR face effects, persona consistency) and giving performers optional tools to share physiological signals with their audience. Both use cases are subject to strict consent and GDPR controls — face data is never processed without performer consent, and biometric display is entirely opt-in.
- Face Identity (
@aphrodite/face-identity): AI face processing for broadcast enhancement — real-time face detection and tracking across multiple performers, facial expression analysis (for emotion-aware camera direction), identity protection tools (anonymisation, face replacement, de-identification options for performers who do not want their face recognised), persona maintenance (consistent character appearance across sessions), and AR face effects (filters, overlays, digital makeup). All face data processing is performer-consent-gated and GDPR-compliant. - Biometric Engine (
@aphrodite/biometric-engine): Optional biometric monitoring for performers who choose to share physiological signals with their audience — heart rate (from wearable sensor), galvanic skin response (measuring emotional arousal through skin conductance), respiration rate, and temperature (as a proxy for physical arousal). All biometric sharing is explicitly consent-gated and can be revoked at any time; the data is never stored beyond the session unless the performer explicitly saves it. Displayed as aesthetically integrated real-time overlays rather than medical readouts.
Movement and Interactivity Systems#
These libraries connect the physical dimension of performance — the broadcaster's body, movement, and presence — to digital outputs: haptic device patterns, avatar animation, viewer-facing interactable elements, and real-time coaching feedback. Pose estimation from the video feed (no extra hardware) is the foundation most of these systems build on.
- Movement Engine (
@aphrodite/movement-engine): Motion capture and pose estimation for broadcast enhancement — 2D pose estimation from the broadcast video feed (no additional hardware required), 3D pose lifting to full body skeleton, motion-to-haptic translation (movement patterns drive connected device patterns), gesture recognition for custom trigger commands, and movement analytics (energy, expressiveness, spatial range — used in performer coaching and show pacing dashboards). - Interactables (
@aphrodite/interactables): Clickable, hoverable, and touch-responsive elements overlaid on the broadcast that viewers can interact with — virtual objects that trigger device patterns when "touched," spatial UI elements that reveal information, tip buttons embedded in the scene, and audience participation triggers that require collective viewer interaction to activate. - Reaction Enhancement (
@aphrodite/reaction-enhancement): AI-assisted reaction amplification for performance coaching — analyses performer reactions to viewer interactions (tips, device activations, chat messages) and provides real-time coaching overlays suggesting more authentic reaction timing, stronger emotional expression, and audience connection techniques. - Neuro-Design (
@aphrodite/neuro-design): Interface and experience design grounded in neuroscience research — attention capture patterns, dopamine loop design for engagement retention, visual hierarchy principles based on saccadic eye movement research, and emotional resonance assessment for broadcast layouts. Used to optimise the entire viewer UI for maximum engagement without dark patterns. - Body Art (
@aphrodite/body-art): Digital body art and augmentation tools for broadcast — temporary tattoo simulation, body paint effects, luminescent skin overlays, sacred geometric body markings, and tribal-inspired digital adornment. All effects render correctly under motion and at broadcast quality frame rates.
Fashion and Digital Couture#
Fashion is both a practical production concern (what to wear for a specific show type and audience) and an extension of digital identity (virtual garments worn by avatars in VR). These libraries address both: fashion intelligence for physical wardrobe decisions and high-fidelity digital clothing for virtual contexts.
- Fashion Engine (
@aphrodite/fashion): Fashion intelligence for performers and virtual avatar styling — trend analysis (real-time monitoring of fashion trends relevant to adult entertainment aesthetics), outfit recommendation based on show type, performer style signature, and audience demographic, garment simulation (how clothing moves and behaves under performer movement), and wardrobe management (cataloguing all physical and virtual costumes with show occasion tagging). - Digital Couture (
@aphrodite/digital-couture): High-fidelity digital clothing for virtual and AR overlays — physically simulated garments that move and deform naturally with the performer's body, designer-inspired digital fashion pieces not available as physical garments, and integration with the avatar system for consistent digital wardrobe across VR and non-VR contexts.
Platform Infrastructure and Accessibility#
The infrastructure libraries below underpin every feature described above.
@aphrodite/core is the foundation every other library depends on;
@aphrodite/database is where all domain state is persisted; the storage,
caching, recording, and crowd control libraries handle the platform's most
demanding scalability requirements. Accessibility is listed here because it is a
cross-cutting concern that touches every viewer-facing surface.
- Core Platform Library (
@aphrodite/core): The foundational library containing shared types, domain constants, validation utilities, and domain logic used across all Aphrodite services. Every other Aphrodite library depends on core for consistent type definitions — preventing the cross-library type mismatch bugs that accumulate in large TypeScript codebases. - Data Persistence (
@aphrodite/database): Prisma schema (prisma/schema.prisma, PostgreSQL) for the core Aphrodite domain data — broadcasters, viewers, streams, private shows, tips, token purchases, payouts, subscriptions, devices, and chat messages. The library wraps@oshun/databasefor connection pooling, transactions, and a type-safe query builder, layers Zod validation schemas over the model, and provides a tenant-isolation layer with PostgreSQL row-level-security policy generators and aBaseRepositorydata-access pattern. - Object Storage (
@aphrodite/storage): MinIO/S3-compatible object storage integration for all binary data — stream recordings, VOD archives, profile images, creator content vault, compliance documents, and model weights. Includes lifecycle policies for tiered storage (hot/warm/cold), signed URL generation for secure download links, and GDPR-compliant deletion pipelines that cascade across all storage tiers. - Caching Layer (
@aphrodite/cache): Redis-backed caching for high-frequency read paths — viewer counts, active stream lists, token balances, chat message queues, and device state. Includes cache invalidation strategies, distributed lock management for concurrent write prevention, and pub/sub channels for real-time event distribution across server instances. - Platform Accessibility (
@aphrodite/platform-accessibility): Comprehensive accessibility implementation across all platform surfaces — WCAG 2.1 AA compliance for all viewer-facing interfaces, screen reader support for stream discovery and VOD browsing, keyboard navigation for all interactive controls, high-contrast modes, closed captioning integration for audio content, and reduced-motion alternatives for all animated UI elements. Accessibility in adult entertainment is consistently neglected; Aphrodite treats it as a first-class design requirement. - Cloud Recording (
@aphrodite/cloud-recording): Distributed cloud recording infrastructure for broadcast capture — multi-region redundant recording to prevent data loss from regional outages, format transcoding (H.264, H.265/HEVC, AV1) for storage efficiency, chapter marker injection from stream event timeline, and automated VOD publishing with configurable access control. - Crowd Control (
@aphrodite/crowd-control): Tools for managing large audiences in ticket shows and public broadcasts — configurable viewer interaction rate limiting (prevent chat floods and tip-trigger spam in high-concurrency events), queue management for private show requests during peak demand, audience segment management (distinguish VIPs from general audience for differential interaction privileges), and emergency broadcast-wide interaction pause for show stabilisation. - Testing Infrastructure (
@aphrodite/testing): Comprehensive test utilities for Aphrodite development — mock stream fixtures, synthetic viewer event generators, device protocol simulators, compliance scenario fixtures (age verification workflows, 2257 record generation), payment flow mocks, and end-to-end test harnesses. The testing library enables CI-verified compliance workflows without requiring live external service connections.
Embedded Game Experiences (@aphrodite/game-*)#
Aphrodite embeds a complete interactive game engine inside the streaming
platform, enabling performers to launch mini-game experiences during broadcasts
as interactive entertainment elements — increasing viewer dwell time and
engagement. The @aphrodite/game-* libraries (engine core plus genre templates)
are implemented in libs/aphrodite/* as feature code; service wiring into a
deployed app should be confirmed per library.
- Game Runtime (
@aphrodite/game-runtime): A sandboxed real-time game engine embedded in the broadcast viewer — entity-component-system architecture (ECS, where game objects are composed from data components rather than class hierarchies), fixed-timestep game loop, and asset streaming. Games run inside the viewer's browser alongside the live stream. - Game ECS (
@aphrodite/game-ecs): The entity-component-system implementation powering all embedded games — typed component stores, query-based system iteration, event bus for game events, and deterministic simulation for reproducible game states. Designed for games with hundreds of entities at 60 Hz with minimal garbage collection pressure. - Game Event Bus (
@aphrodite/game-event-bus): A typed publish-subscribe event system that connects the live stream (tips, viewer interactions, device events) to the embedded game — a tip triggers a game event, a game milestone triggers a device pattern. Bidirectional bridge between stream world and game world. - Game Physics (
@aphrodite/game-physics): 2D and simple 3D physics for embedded games — rigid body dynamics, AABB and circle collision detection, simple joint constraints, and trigger zones for game-logic events. - Game Input (
@aphrodite/game-input): Unified input handling for keyboard, mouse, touch, and gamepad — configurable input mapping, gesture recognition for touch screens, and input replay for deterministic game testing. - Game Renderer (
@aphrodite/game-renderer): WebGL 2.0 renderer for embedded games — sprite rendering, tilemap rendering, particle effects, 2D lighting, and simple 3D mesh rendering. Runs at 60 fps alongside the video stream in a compositor-managed layer. - Game Assets (
@aphrodite/game-assets): Asset pipeline for embedded game content — sprite sheets, tilemaps, skeletal animation (Spine-format), audio clips, and particle effect definitions. Asset loading is lazy (content fetched on demand to minimise initial load time) and cached aggressively. - Game Audio (
@aphrodite/game-audio): Web Audio API-based game sound system — sound effect triggering, music playback with loop points, dynamic mixing (game audio automatically ducks beneath broadcaster voice), spatial audio for 3D games, and procedural audio synthesis for non-repeating sound effects. - Game Networking (
@aphrodite/game-networking): Real-time multiplayer for viewer-participatory games — WebRTC data channels for low-latency peer communication, server-authoritative game state with client-side prediction, and spectator mode where all viewers can watch the same game instance. - Game Monetisation (
@aphrodite/game-monetization): Token-integrated in-game economy — spend tokens on in-game power-ups, cosmetic items, or entry to tournaments; earn tokens through gameplay milestones. Revenue split between platform, broadcaster, and game developer is configurable. - Game Performance (
@aphrodite/game-performance): Profiling and optimisation tools for embedded games — frame budget analysis, draw call batching, entity archetype optimisation, and memory allocation tracking to ensure games run smoothly on the wide range of viewer hardware. - Game Accessibility (
@aphrodite/game-accessibility): Accessibility features for embedded games — colourblind modes, adjustable text size, screen reader descriptions for game state, remappable controls, difficulty accessibility settings (reduced speed, extended timers, assist modes), and one-handed play support. - Game Testing (
@aphrodite/game-testing): Automated game testing utilities — headless simulation for logic testing, bot players for multiplayer load testing, screenshot regression for visual consistency, and fuzz testing for game state edge cases. - Game Developer Tools (
@aphrodite/game-dev-tools): In-browser developer tools for building embedded games — entity inspector, component editor, event log, performance profiler, and hot-reload for game scripts and assets during development.
Genre Templates#
The game engine ships with twelve pre-built genre templates so broadcasters can launch recognisable game formats without building from scratch. Each template is a fully playable starting point that can be customised and extended. Tip-triggered events (spawning power-ups, changing difficulty, unlocking story branches) are supported in all templates through the game event bus.
Pre-built game scaffolding for specific interactive show formats:
- Game FPS (
@aphrodite/game-fps): First-person shooter template — weapons, projectiles, hit detection, AI opponents, and configurable game modes (team deathmatch, battle royale, survival). Tip-triggered events can spawn obstacles or power-ups in real time. - Game RPG (
@aphrodite/game-rpg): Role-playing game template — character progression (stats, levels, equipment), turn-based or real-time combat, dialogue systems, quest tracking, and procedural dungeon generation. Viewers can assist the broadcaster's character by tipping for items or buffs. - Game Fighting (
@aphrodite/game-fighting): Fighting game template — frame-data-accurate hitboxes and hurtboxes, combo system with cancel windows, special move inputs, and online versus mode with rollback netcode for viewer challenges. - Game Platformer (
@aphrodite/game-platformer): Platformer template — coyote time (brief grace period after walking off a ledge where the jump still registers), input buffering, physics-accurate movement, camera tracking, and checkpoint system. - Game Puzzle (
@aphrodite/game-puzzle): Puzzle game template — grid-based logic puzzles, physics puzzles, narrative puzzle structures, hint system, and undo/redo state management. - Game Rhythm (
@aphrodite/game-rhythm): Rhythm game template — note chart authoring tools, audio synchronisation, hit accuracy grading, and BPM-synced visual effects. Viewers can vote on songs or difficulty. - Game Horror (
@aphrodite/game-horror): Horror game template — tension management systems, psychological horror event scripting, AI entity with predator behaviour (stalking, flanking, persistence), dynamic music reactivity, and jumpscare logic with configurable intensity. - Game Strategy (
@aphrodite/game-strategy): Strategy game template — resource management, unit command, territory control, fog of war, and multiplayer competitive or cooperative modes. - Game Sports (
@aphrodite/game-sports): Sports game template — physics-accurate ball simulation, player movement and control, referee logic, tournament bracket management, and real-time statistics. - Game Racing (
@aphrodite/game-racing): Racing game template — vehicle physics (arcade to simulation spectrum), track generation, AI opponents with rubber-band difficulty, lap timing, and split-screen competitive mode. - Game Open World (
@aphrodite/game-openworld): Open world template — procedural terrain generation, resource gathering, base building, dynamic NPC population, day/night cycle, and weather effects. - Game Simulation (
@aphrodite/game-simulation): Simulation game template — economy modelling, agent-based systems, environment simulation, and emergent behaviour systems for city, life, or ecosystem simulations.
Domain Bridge Integrations#
Aphrodite integrates with several other Oshun domains to extend its capabilities beyond what it builds natively. Each bridge is a one-directional consumer relationship: Aphrodite uses the other domain's capabilities but does not expose its own internals back through the same bridge. The boundaries exist because each capability belongs to a domain with its own expertise — Maya owns 3D engine infrastructure, Hathor owns worldbuilding lore, Nyx owns astronomical data, and so on.
- Maya Game Bridge (
@aphrodite/maya-bridge): Deep integration with the Maya domain's game engine — import Maya 3D assets for virtual spaces, use Maya's ECS for shared entity definitions in complex VR experiences, and leverage Maya's networking for large-scale VR social events with hundreds of simultaneous participants. - Hathor Game Bridge (
@aphrodite/hathor-game-bridge): Integration with the Hathor worldbuilding domain — pull lore, characters, and world data from Hathor's creative database to populate performer-created fictional universes with narrative depth and consistent world rules. - Nyx Cosmic Bridge (
@aphrodite/nyx-game-bridge): Integration with Nyx star map data for cosmic-themed virtual backgrounds and the Nyx orrery for accurate solar system rendering in planetarium-themed shows. - Isis Game Bridge (
@aphrodite/isis-game-bridge): Integration with the Isis generative AI domain for on-demand AI image and video generation used in virtual backgrounds, custom animations, and procedural art overlays. - Lilith Game Bridge (
@aphrodite/lilith-game-bridge): Integration with the Lilith consciousness/LLM domain for AI-powered chat assistance, translation services, and content generation. - Nike Game Bridge (
@aphrodite/nike-game-bridge): Integration for sports and physical performance tracking contexts — health metrics, athletic performance data, and physical challenge game modes.
Gaia and Concordia Safety Integrations#
Two further domain integrations are explicitly planned but not yet implemented. Both expand Aphrodite's safety and performer protection capabilities by consuming services from specialised sibling domains.
- Gaia outdoor shoot risk
(planned, Phase 175): Aphrodite consumes Gaia nowcast, lightning, wind, heat, precipitation, and severe-weather products for outdoor production scheduling, performer safety, venue risk, and go/no-go alerts. - Concordia boundary support
(planned, Phase 179): Aphrodite consumes Concordia for strictly consented, safety-limited boundary negotiation, performer/creator disputes, content takedown timelines, restitution, no-contact boundaries, and creator protection. Kuanyin safety gates and human review are mandatory for exploitation, coercion, age-verification, or legal-risk signals.
Domain ownership context for the planned integrations: Kuanyin owns restorative moderation patterns, Themis owns governance and IP primitives, Gaia owns weather forecasts, and Concordia owns the bargaining substrate. Aphrodite documents only the adult-platform features that would consume those services — not the services themselves.