LiveWedeo · Product Documentation · v2.0

LiveWedeo — Platform Flow

Live Streaming & Video Call · System Architecture Flowchart

Start / End
Process
Decision
Database
System
Host
Viewer

① User Registration

SYSTEM LANE
System
⬟ START
Registration Options
📱 Phone  ·  🔵 Google  ·  ⚡ Quick Login
📱 Phone Number
Enter Phone Number
Send OTP via SMS
OTP
Valid?
YES ↓ NO → Resend
→ Full Registration Form
🔵 Google Login
OAuth Redirect to Google
Google Returns Auth Token
Auth
Success?
YES ↓ NO → Retry
→ Full Registration Form
⚡ Quick Login NEW
No verification needed
⚡ Quick Registration Form
Name — required
Age — required
Gender — required
No Agent ID · No Reference ID
No Category selection required
Accept
T&C?
YES ↓ NO → Error
→ Skip to Account Creation
OR
Phone & Google Path
📝 Full Registration Form
Name  • Age  • Gender
• Agent ID (optional)
• Reference ID (optional)
• Category: Artist / Fitness / Learning / Default
Accept
Terms & Conditions?
YES ↓ NO → Error
⚠ Error: Must accept T&C to proceed
Quick Login Path
✓ Form already filled & T&C accepted above
Skips full form — enters platform immediately
💾 DB: Create User Account
Profile · preferences · category stored (Quick Login: defaults applied)
✓ Registration Success
Account active — entering platform
🏠 Platform Dashboard
User enters home screen

② Dashboard — Landing Page

SYSTEM · HOST · VIEWER
System
🏠 LiveWedeo — Home Screen
User lands here after login / registration
📂 Stream Category Tabs — Horizontal Scroll Bar
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 → Live NO → 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
⬇ From Dashboard — User Chooses Next Action
🎬 Host Taps "Go Live"
Proceeds to Go Live Flow →
Profile
Complete?
YES → Go Live NO → Complete First
👁 Viewer Browses & Joins Stream
Selects category → picks stream → watches
Stream
Type?
FREE → Join PREMIUM → Pay
● Watching Stream

③ Reconnection & Session Recovery

HOST · VIEWER · SYSTEM — App Restart / Browser Refresh
Recovery
SYSTEM
🔌 App Restart / Browser Refresh Detected
System detects connection drop via heartbeat signal
What Was
User Doing?
HOST WAS LIVE
⏳ Grace Period Starts
Stream held for 60 seconds
Viewers see on screen:
"📡 Host connection lost
Reconnecting…"
Reconnects
within 60s?
YES → Resume NO → End
● Stream Resumes
Seamlessly continues · viewers stay
✕ Stream Ends
Viewers notified · session saved to DB
HOST IN VIDEO CALL
📵 Call Auto-Ends on Drop
• Coins deducted up to last completed minute
• Viewer notified: "Call disconnected"
• Host stream resumes automatically after reconnect
💾 DB: Settle Coins
Partial minute rule applied · host earnings credited
VIEWER WATCHING
🔄 Auto-Rejoin on Reopen
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?
YES NO
● 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 FREE SWITCH 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 — Continue YES — 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
↑ LOOPS BACK TO GIFT TRACKING
⚡ During Live — Available Actions
Gifting · Join Mic · Video Call Request

⑤ Gifting System & User Level-Up

VIEWER · SYSTEM · HOST
Gifting
VIEWER
🎁 Open Gift Panel
Taps gift icon during live stream
🗂 Select Gift Tier
⭐ Basic — 10–50 coins
💠 Rare — 100–500 coins
👑 Epic — 1000–5000 coins
🔥 Legendary — 10000+ coins
Select Specific Gift Item
Each has unique price & animation
Sufficient
Coins?
YES → Send NO → Top Up
💳 Redirect to Coin Top-Up
Purchase coins to continue
✅ Confirm & Send Gift
Tap confirm to dispatch
SYSTEM
💰 Deduct Coins from Viewer Wallet
Balance updated instantly
🎞 Trigger Gift Animation
Plays full-screen for all viewers in stream
🏆 Update Gifting Leaderboard
Top gifters ranked live on stream overlay
💾 DB: Log Gift Transaction
Amount · tier · timestamp · viewer ID · host ID
✨ Calculate & Add XP to Viewer
Each gift adds XP to the viewer's profile
Higher tier gift = more XP earned
Level Up
Threshold
Reached?
YES → Level Up! NOT YET
🎉 Trigger Level-Up Event
Animated level-up notification shown
to viewer & all stream watchers
💾 DB: Update Viewer Level & Unlocks
New level · unlocked features · XP progress saved
Premium
Threshold
Reached?
🔓 Unlock Premium Stream Option for Host
Host notified they can go premium
HOST / VIEWER REWARDS
🎁 Host Receives Gift Notification
Visual pop-up on host screen
💵 Gift Value Added to Host Earnings
Real-time earnings counter updates
🏅 Viewer Level-Up Rewards
XP accumulates with every gift sent.
Higher levels unlock exclusive features:
Level
Unlocks
⭐ Lv 1
Basic profile badge · default avatar frame
💠 Lv 2
Coloured username in chat · rare gift animations
👑 Lv 3
Animated avatar frame · colour effects on gifts
🔥 Lv 4
Custom avatar skin · exclusive epic gift animations
💎 Lv 5+
Full-screen legendary effects · VIP badge · special entry animation when joining a stream
🎊 "Level Up!" Shown on Screen
Viewer sees unlocked features · celebration animation plays for all watchers in the stream
🔁 Viewer Can Send Another Gift
Loop continues until stream ends · XP keeps accumulating

⑥ Join Mic Feature

VIEWER · HOST · SYSTEM — Max 3 Users on Mic at a time
Mic
VIEWER
🎤 Tap "Join Mic"
Button visible during live stream
Mic Slots
Available?
(Max 3 active)
SLOT FREE → Request ALL 3 FULL → Wait
⏳ All 3 Slots Occupied
Viewer sees: "Mic is full · wait for a slot"
Request button disabled until a slot opens
System auto-notifies viewer when slot becomes free
📨 Request Sent to Host
Viewer name · profile shown to host
ACCEPTED
🔊 Voice Active
Audible to all stream watchers
REJECTED
Notified — Request Denied
Can request again later
🔇 Viewer Leaves Mic
Tap mute button or host removes · slot opens immediately for next viewer
HOST
🎙 Mic Slot Panel — Live View
Slot 1
● Active
Slot 2
● Active
Slot 3
○ Empty
Host sees live slot status at all times
🔔 Incoming Mic Request
Viewer name · profile shown · only if slot available
Accept
Request?
ACCEPT REJECT
🎛 Host Mic Controls (per slot)
• Mute a specific viewer's mic
• Unmute viewer
• Kick viewer from mic (slot freed instantly)
• View all 3 active mic users at once
🚫 When All 3 Slots Full
New mic requests not shown to host
Request button disabled for all other viewers
Host must remove a viewer to open a slot
SYSTEM
🔢 Track Active Mic Count
Maintains real-time counter: 0 / 3 · 1 / 3 · 2 / 3 · 3 / 3
Counter updates instantly on join or leave
Shared state visible to host panel & all viewers
Active Mic
Count < 3?
YES — Slot Free
✅ Forward Request to Host
Request notification delivered
NO — 3/3 Full
🚫 Block Request
Viewer shown "Mic full" message
⚙ Route Audio on Accept
Connects accepted viewer's mic to stream broadcast
📡 Mix & Broadcast All Active Mics
Up to 3 mic streams mixed with host audio
Low-latency audio mixing · all watchers hear everyone
🔓 Slot Freed on Leave / Kick
Counter decrements instantly (e.g. 3/3 → 2/3)
Request button re-enabled for waiting viewers
Waiting viewer auto-notified: "A mic slot is now open!"
💾 Log Mic Session
Viewer ID · slot number · join time · leave time · duration

⑦ Video Call Flow

VIEWER · HOST · SYSTEM
Video
VIEWER
📹 Request Video Call
With LIVE host only
Coin Balance ≥
Host Rate/min?
YES → Proceed NO → Recharge
💳 Recharge Page
Shows coins & talk time together:
₹199 Pack
💎 4000 coins  ·  🎥 40 min video call
People understand minutes faster than coins
💡 Call Rate Shown (Based on Host Level)
Rate confirmed before viewer connects
Viewer
Confirms?
YES NO → Cancel
HOST ACCEPTS
● Video Call Active
Private 1-on-1 session
HOST REJECTS
Viewer Notified
Request declined
⚠ Low Balance Warning
When viewer has ≤ 1 minute of coins left:
"You have 1 minute left.
Recharge to continue."

Viewer can top-up mid-call without disconnecting
✅ Call Ends — Stream Resumes
Host is automatically taken back live
Same stream session · no restart needed
HOST
🏆 Host Call Rate Levels
Rate is set by host's platform level
Level
Rate
Host Earns
🥉 Rising Star
100 coins/min
50 coins/min
🥈 Popular Star
120 coins/min
60 coins/min
🥇 Trending Star
150 coins/min
75 coins/min
👑 Superstar
200 coins/min
100 coins/min
Platform commission = 50% on all tiers
🔵 Set Call Availability
Available — accept incoming calls
Busy — auto-reject all calls
📳 Incoming Call Notification
Viewer name · profile · call rate shown
Accept
Call?
ACCEPT REJECT
🎥 Video Call In Progress
Host earns coins each minute in real-time
📺 Live Viewers See Notice
Stream pauses · all viewers see:
"🔒 Host is in a private call
Stream will resume shortly…"
Viewers remain in room · not kicked out
End Call
or Continue?
END CALL CONTINUE
● Stream Resumes — Host is LIVE Again
• Same session continues · no restart
• Live viewers notified: "Host is back!"
• Gifting & all features immediately available
💵 Host Earnings — Simple Rule
Platform commission = 50%
USER PAYS
100
coins / min
HOST EARNS
50
coins / min
Example above for Rising Star · scales by level
SYSTEM
✅ Verify Host is LIVE
Only live hosts can receive video calls
📋 Fetch Host's Current Rate
Read host level → apply correct coins/min
⏱ Coin Deduction Logic
Call connects
After 11 seconds → 1st minute charged
Then every 60 seconds → next minute charged
📌 Example:
Call = 2 min 20 sec
Charged = 3 minutes
💰 Deduct Coins Each Minute
Viewer wallet → platform → host earnings (50%)
Remaining
Balance Check
= 1 MIN LEFT
⚠ Show Low Balance Warning
"1 minute left.
Recharge to continue."
COINS DEPLETED
🔴 Auto-End Call
Call disconnected gracefully
💾 DB: Log Call 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 → Skip NO → 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 Wallet 450 coins
🎁 Bonus Wallet 30 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