⬇ Default Landing Tab = "All Live" ·
User always lands here first on app open Condition: If no hosts are live → automatically show the Offline host list so the screen is never empty
📡 All Live
Every active stream across all categories
DEFAULT
Any Host Live Now?
YES
Show live streams
NO
Show offline host list
🔥 Trending
Highest viewers & gift activity right now
📍 Nearby
Hosts streaming from user's location
💪 Fitness
Workouts, yoga, health streams
🎨 Artist
Music, art, performance streams
📚 Learning
Education, tutorials, skill-building
🌙 Offline
Hosts not live — view profiles & short videos
🆕 New Host
Hosts joined in last 7 days
DISCOVER
🆕 badge on card
Sorted by join date
Live hosts shown first
Offline profiles below
User Selects Category Tab
🗂 Filtered Stream Grid Loads
① Live Hosts shown first Cards sorted by viewer count · highest first
Each card: host name · viewer count · Free / 💎 Premium badge · host level
② Offline Hosts shown below After all live cards end · separated by a divider
Shows profile card · short videos & photos
Any Live Hosts in This Category?
YES
● Live Cards First
Then offline hosts below with a section divider
NO LIVE HOSTS
🌙 Show Offline Hosts Only
All registered hosts in this category shown as profile cards · short videos & photos visible
🌙 Offline Tab — Special Behaviour
Shows host profile cards (not streams)
Viewer can browse short videos & photos
Can follow host or send a message No live stream shown — profile-only view
👤 Profile Section
🎬 Host Profile
👤 Host Profile Page
Displays: name · level badge · follower count
· total gifts received · stream history
🖼 Change Profile Picture
Upload from gallery · crop & save
🎬 Upload Short Video
Reels-style · shown on profile & Offline tab
Passes Review?
YES → LiveNO → Reject
🖼 Upload Photo / Picture
Gallery-style · shown on profile & Offline tab
💾 Saved to Profile Gallery
💾 DB: Update Host Profile
Photo · videos · pictures · metadata saved
📌 Short videos & photos appear in the Offline tab so viewers can discover the host even when not streaming
👁 User / Viewer Profile
👤 Viewer Profile Page
Displays: name · level · XP progress bar
· gifts sent history · streams watched
🖼 Change Profile Picture
Only editable field for viewers
Upload from gallery · crop & save
💾 DB: Update Profile Picture
Image compressed & saved · CDN updated
🚫 Viewers Cannot:
• Upload short videos
• Upload photos to profile
• Appear in Offline tab feed These are host-only features
💡 Viewer can upgrade to become a Host anytime from their profile page → triggers the Host Profile Check flow
Session token saved locally
App reopens → checks if stream still live
Stream Live → Rejoin
Stream Ended → Browse
MID RECHARGE
💳 Payment Verification on Reopen
System checks payment gateway status
Payment OK → Coins Credited
Payment Failed → No Deduction
💾 DB: Sync Wallet Balance
Coins updated · transaction logged
🔁 Restore Session State
Session token validated · user returned to last known state All reconnection events logged to DB for audit & support
HOST
📱 App Restarts / Page Refreshes
Host loses connection momentarily
👁 Viewers See Reconnecting Screen
60-second countdown shown to viewers
Viewers not kicked out — they wait
Host Back Within 60s?
YESNO
● Stream Resumes
Same session · no restart "Host is back!" shown to viewers
✕ Stream Auto-Ends
Session report saved Earnings settled to host
📌 Note: If host was in a video call when they disconnected — call ends immediately, coins settled up to last completed minute, stream resumes when host reconnects.
VIEWER
📱 App Restarts / Page Refreshes
Viewer loses connection
🔑 Session Token Checked
Locally saved token verified with server
Was Viewer In a Call?
YES — In Call
📵 Call Ends on Drop
Coins settled to last full minute No extra charge
NO — Watching
🔄 Auto-Rejoin Stream
Returns to stream if still live
🏠 Returned to Last State
• If stream live → back in stream
• If stream ended → browse screen
• If mid-recharge → payment verified first
💡 Premium stream viewers: If viewer paid entry coins and disconnects — they can rejoin the same premium stream without paying again during the same session.
④ Host — Go Live Flow
HOST · SYSTEM LANE
Host
📱 Host Taps "Go Live"
Camera activates instantly — like Instagram Live
⚙ System Initialises Camera & Broadcast
Front/rear camera · mic · real-time video stream started
● STREAM IS LIVE — FREE
Anyone can join & watch · No entry requirement · Stream starts free always
🎁 Viewers Join & Send Gifts
Gift counter accumulates in real-time during free stream
📊 System Tracks Total Gift Value
Running tally of all gifts received during stream
Min Gift Threshold Reached?
NOT YET
🌐 Free Stream Continues
Keep streaming · more gifts can arrive
Loop — gifts keep accumulating until threshold hit
THRESHOLD MET ✓
🔔 Premium Stream Option Unlocked
Host sees a prompt on screen: "You can now switch to Premium!"
Host Chooses to Switch?
STAY FREESWITCH TO PREMIUM
💎 Host Configures Premium Stream
① Set Entry Coin Amount e.g. 50 coins, 100 coins, 500 coins…
② Set Countdown Timer Choose 2 / 3 / 5 / 10 minutes Viewers can join & pay during countdown
⏳ Countdown Timer Starts on Stream
All viewers see live countdown overlay e.g. "Premium starts in 4:32…"
👥 Viewers Pay Entry Coins
During countdown window — non-payers are removed when timer hits 0
💎 PREMIUM STREAM ACTIVE
Only paid viewers remain · host earns entry coins
Host Stops Premium Stream?
NOT YET — ContinueYES — Stop Premium
🔄 Premium Stopped — Free Stream Resumes
• Stream does NOT end — continues seamlessly
• All viewers (paid & new) can rejoin for free
• No restart needed · same session continues
🔁 Gift Threshold Counter Resets to Zero
Host must earn the minimum gift threshold again from this point to unlock the next premium window
♻ Repeatable Cycle — Gifts accumulate again on free stream
Once threshold hit → host can configure & launch a new premium window This cycle can repeat multiple times within a single live session
Duration · minutes billed · coins · both IDs · host rate used
📊 Send Call Summary to Both
Duration · total cost · host earnings breakdown
⑧ End States
FINAL NODES
End
💾 DB: Save Stream Report
Gifts · viewers · peak · duration
⬟ END: Stream
💾 DB: Save Call Report
Duration · coins spent · rating
⬟ END: Video Call
🚪 User Exits Platform
Session data saved · logout
⬟ END: User Exit
⑨ Real-Time Issues & Edge Cases
SYSTEM · HOST · VIEWER
Issues
📡 Network & Stream Quality
📉 Poor Network Detected
System monitors stream bitrate continuously
If quality drops → adaptive bitrate kicks in
📶 Auto Quality Reduce
1080p → 720p → 480p Stream never freezes
🔔 Viewer Notified
"Low quality due to network" shown
⚡ High Latency on Video Call
Buffer management auto-adjusts
If latency > 5s → quality downgrade warning shown to both parties
🌐 CDN Failover
If one server region fails → auto-reroute to nearest backup CDN node Viewers see max 2–3s interruption
⚡ Concurrent Load Handling
👥 Mass Join on Premium Stream
Thousands joining simultaneously during countdown
→ Queued entry system processes in batches
→ Position shown: "You are #42 in queue"
🎁 Gift Animation Flood
Multiple gifts sent simultaneously
→ Animation queue: max 3 on screen at a time
→ Excess queued and played in sequence Prevents UI freeze & visual chaos
📹 Multiple Video Call Requests
Several viewers request call simultaneously
→ Only ONE request shown to host at a time
→ Others queued silently
→ If host rejects → next request shown
💾 All Events Logged with Timestamps
Queue position · processing time · outcome stored
🔒 Data Integrity
🔁 Duplicate Gift Transaction
User taps "Send" twice on poor connection
→ Each request has a unique Idempotency Key
→ Server recognises duplicate key → ignores 2nd request Viewer never double-charged
💥 App Crash During Coin Deduction
All deductions are server-side only
Client sends intent → server deducts
Write-ahead log records every movement
→ On restart: log replayed to recover exact state
🔄 Stream Session ID Mismatch
After reconnect, old session token may be stale
→ System validates session ID before rejoining
→ If mismatch: new token issued silently
💡 All edge case events are logged to an audit table with device fingerprint · session ID · timestamp for support resolution
⑩ Coin Security & Transaction Flow
SYSTEM · VIEWER · HOST
Security
🏛 Server-Side Authority
⚖ Golden Rule
Client NEVER calculates or deducts coins
Client sends intent only → e.g. "send Rose gift"
Server validates balance → deducts → confirms
Client updates UI only after server confirmation
📋 Transaction Flow
① Client sends gift intent + idempotency key ② Server checks viewer balance ③ Server locks the coins (reserved) ④ Transaction written to ledger ⑤ Coins deducted + host credited ⑥ Confirmation sent to client ⑦ Animation triggers on screen
💾 Write-Ahead Ledger
Every coin movement logged before applied · crash-safe · fully recoverable
🛡 Fraud Prevention
🚦 Rate Limiting
Max 10 gifts per minute per user
Prevents bot-driven fake gifting
Excess requests → silently throttled
🤖 Anomaly Detection
New account sends large coins in one session → auto-flagged
Same IP gifting multiple hosts → flagged
Flagged accounts → manual review queue
📹 Video Call Coin Lock
Coins for first minute reserved/locked at call start
Not deducted live — prevents abuse if call drops
Lock released and deducted after 11-second rule
💳 Payment Gateway Security
All recharges via PCI-DSS compliant gateway
LiveWedeo never stores card details
Recharge webhook verified with signature before coins credited
📊 Audit Trail & Reconciliation
🗂 Every Transaction Stores
Fields Logged
Timestamp (ms precision)
Viewer ID · Host ID
Gift type · Coin amount
Session ID · Stream ID
Device fingerprint
Transaction status
Idempotency key
⚖ Daily Reconciliation
Automated job runs nightly
Viewer spend = Host earnings + Platform commission
Any mismatch → alert raised for manual review
🔍 Dispute Resolution
User raises dispute → support pulls transaction log
Full trail available: what was sent · when · how many coins
Refund policy applied within 24hrs if valid
📌 Bonus wallet coins tracked separately in ledger — clearly separated from paid coins in all reports
⑪ Daily Login Bonus
VIEWER · SYSTEM
Bonus
📱 User Opens App
System checks last login date on open
Bonus Already Claimed Today?
YES → SkipNO → Show Bonus
🗓 7-Day Streak Reward System
Day
Coins
Bonus Item
Wallet
Day 1
10 coins
—
🎁 Bonus Wallet
Day 2
20 coins
—
🎁 Bonus Wallet
Day 3
30 coins
⭐ Basic Gift Item
🎁 Bonus Wallet
Day 4
50 coins
—
🎁 Bonus Wallet
Day 5
75 coins
💠 Rare Gift Item
🎁 Bonus Wallet
Day 6
100 coins
—
🎁 Bonus Wallet
Day 7 🎉
200 coins
🔥 Exclusive Animated Gift
🎁 Bonus Wallet
⚠ If user misses a day → streak resets to Day 1. Creates strong daily return habit.
🎁 Bonus Wallet Rules
Bonus Wallet vs Main Wallet
🎁 Bonus Wallet
✅ Send gifts ✅ Premium stream entry ❌ Video calls ❌ Withdrawal ❌ Transfer
💎 Main Wallet
✅ Send gifts ✅ Premium stream entry ✅ Video calls ✅ All features
💡 Bonus coins auto-used first when gifting — user feels value without touching paid coins
📱 UI Display During Stream
Wallet Display on Gift Screen
💎 Main Wallet450 coins
🎁 Bonus Wallet30 coins
Both wallets always visible on gift panel · bonus auto-applied first
💾 DB: Log Bonus Claim & Usage
Day number · coins granted · item unlocked · timestamp
⑫ User Retention & Engagement Features
PRODUCT STRATEGY
Strategy
🎮 Gamification
🏆 Weekly Gifting Leaderboard
Top 3 gifters of the week get a crown badge on their profile
Resets every Monday · creates weekly competition
🌟 Host of the Week
Featured on home screen
Based on gifts received + viewer count
Badge shown on profile for 7 days
📊 XP Progress Bar Always Visible
Shown on profile & gift panel
"X coins until next level" displayed
Makes levelling feel achievable
🤝 Social Hooks
🔔 Push Notifications
"Your favourite host is live!"
"Host goes live in 10 minutes"
"You have a daily bonus waiting!" User opts in during onboarding
💌 "Miss You" Ping
Viewer can ping an offline followed host
Host sees: "3 fans are waiting for you"
Encourages hosts to go live more often
👥 Follow System
Viewer follows hosts
Followed hosts appear at top of All Live tab
Follower count shown on host profile
⏰ FOMO Mechanics
🎁 Limited-Time Gifts
Special animated gifts available for 24 hours only
Tied to festivals / events / seasons
Creates urgency to be online that day
⚡ Flash Premium Streams
Host announces "going premium in 5 min"
Push notification sent to all followers
Creates urgency to join before countdown
🆕 New Host Badge
"New" badge shown on hosts in first 7 days
Algorithm surfaces new hosts in Trending tab
Helps fresh hosts get discovered quickly
💰 Smart Monetisation
💳 First Recharge Cashback
10% coin cashback on first recharge of each month Goes to bonus wallet · incentivises monthly spend
📦 Bundle Packs with Talk Time
Show coins + minutes side by side e.g. ₹199 = 4000 coins = 40 min call
Minutes are more relatable than raw coin numbers
🎁 Gift Combo Effect
Send 3 gifts in 60 seconds → bonus animation effect triggers
Visual reward for rapid gifting
Increases average gift spend per session
📍 Nearby tab creates local community feel — very differentiated from global apps like Bigo, TikTok Live
LIVEWEDEO · SYSTEM ARCHITECTURE FLOWCHART v2.0 · PRODUCT DOCUMENTATION Swimlanes: System · Host · Viewer — Standard Flowchart Notation