Skip to content

Latest commit

 

History

History
475 lines (343 loc) · 17.2 KB

File metadata and controls

475 lines (343 loc) · 17.2 KB

Token-Based Social Media System: Complete Design Document

Core Concept

A social media platform where "likes" are replaced by scarce tokens. Users have a limited supply of tokens and must spend them thoughtfully to engage with content. This creates economic incentives for quality content and meaningful curation.

The Vision

"By reducing how easy it is to like content, the bar for what goes viral goes a notch higher."

Traditional social media incentivizes engagement at any cost. Kudos flips this model by making engagement meaningful through scarcity.


1. Token Economics

Initial Allocation

  • New users receive: 100 tokens upon account creation
  • Purpose: Enough to explore and participate before earning/receiving stipends

Token Flow & Distribution

When a user spends X tokens on a post:

Recipient Percentage Purpose
Post Creator 60% (0.6X) Immediate earning reward
Government Pool 20% (0.2X) Funds weekly stipends
Burned 20% (0.2X) Deflationary mechanism

When a user spends tokens on a comment (0.5 tokens per comment):

Recipient Percentage Purpose
Original Post Creator 30% (0.15) Rewards content that sparks discussion
Commenter 10% (0.05) If comment receives tokens
Government Pool 10% (0.05) Funds stipends
Burned 50% (0.25) Stronger deflationary pressure

Token Sources (Inflows)

  1. New account creation — 100 tokens (one-time)
  2. Weekly stipends — Funded by taxes + decay + government cut
  3. Earnings from content — 60% of tokens spent on your content

Token Sinks (Outflows)

  1. Spending on posts/comments — Primary circulation mechanism
  2. Permanent burning — 20% of post spending, 50% of comment spending
  3. Time decay — Returns to government pool (not destroyed)
  4. Progressive taxation — Redistributed to active users

2. Spending Mechanics

Post Engagement

Attribute Value
Minimum spend 1 token
Maximum spend 10 tokens per post

Spending Meaning:

  • 1-2 tokens — "I like this"
  • 3-5 tokens — "I really like this"
  • 6-10 tokens — "This is exceptional"

Comment Engagement

Attribute Value
Cost to comment 0.5 tokens
Daily free comments First 2 comments
Max tokens per comment 5 tokens

Comment Economy:

  • First 2 comments per day are FREE (prevents lockout of new/poor users)
  • Additional comments cost 0.5 tokens each
  • Comments can receive tokens (max 5), boosting visibility
  • Great comments become valuable, incentivizing quality discussion

Share/Repost Mechanics

  • Cost: Free (sharing helps creators gain exposure)
  • Reposts: Not allowed (prevents content duplication)
  • Sharing: Helps original creator gain visibility organically

Unlike Functionality

Attribute Value
Window 24 hours after spending
After 24 hours Tokens permanently locked to post
Refund Full token refund if unliked within window

3. Display & Visibility

Post Metrics Shown

Each post displays TWO distinct metrics:

  1. Social Proof: Number of unique users who spent tokens
    • Example: "89 people"
  2. Quality Signal: Total tokens spent
    • Example: "347 tokens"

Combined display: "347 tokens from 89 people"

  • High average spend (347 ÷ 89 = ~4 tokens) indicates high quality signal

Content Lifecycle: Multi-Level Feedback Queue (MLFQ)

Content moves through different visibility tiers based on age and engagement:

┌─────────────────────────────────────────────────────────────────────────┐
│                        CONTENT LIFECYCLE                                 │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────┐│
│  │   Queue 0    │────▶│   Queue 1    │────▶│   Queue 2    │────▶│  Q3  ││
│  │   HOT/NEW    │     │   TRENDING   │     │  ESTABLISHED │     │ARCHIV││
│  │   (0-48h)    │     │   (3-14d)    │     │    (3-8w)    │     │(2Mo+)││
│  │              │     │              │     │              │     │      ││
│  │ Visibility:  │     │ Visibility:  │     │ Visibility:  │     │ Vis: ││
│  │    2.0x      │     │    1.5x      │     │    1.0x      │     │ 0.3x ││
│  └──────────────┘     └──────────────┘     └──────────────┘     └──────┘│
│         ▲                    ▲                    ▲                      │
│         │                    │                    │                      │
│         └────────────────────┴────────────────────┘                      │
│                    BOOST (if previously engaged)                         │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

Queue Level 0: Hot/New (0-48 hours)

  • Highest visibility boost (2.0x)
  • Shown widely to establish initial signal
  • Fast promotion to trending if engagement is strong

Queue Level 1: Trending (Days 3-14)

  • Moderate visibility (1.5x)
  • Competes with other recent content
  • Can remain here if consistently receiving tokens

Queue Level 2: Established (Weeks 3-8)

  • Lower baseline visibility (1.0x)
  • Relies more on organic discovery
  • Receives first boost at 4 weeks if historically engaged

Queue Level 3: Archive (2+ months old)

  • Minimal baseline visibility (0.3x)
  • Periodic boosts at increasing intervals
  • Boost effectiveness determines next boost schedule

Boost Mechanism

Purpose: Surface evergreen content and prevent good content from being lost

Boost Behavior:

  • Temporarily promotes content back to Queue Level 1 visibility for 24-48 hours
  • If receives tokens during boost → qualifies for next boost
  • If receives minimal tokens → boost interval increases or stops entirely
  • If receives high tokens → may promote back to Queue Level 0

Boost Eligibility Criteria:

  • Has maintained >X total tokens after decay
  • Previous boost generated engagement
  • Time-based pattern detection (annual, seasonal relevance)

Adaptive Boost Intervals:

  • Strong performance → shorter intervals (resurface sooner)
  • Weak performance → longer intervals or discontinuation
  • System learns which content is truly evergreen vs temporarily viral

4. Time Decay System

Decay Mechanism

Formula:

decay_rate = base_decay × (1 / (1 + recent_engagement_factor))

Active Posts (receiving new tokens regularly):

  • Slow decay: ~1% per week
  • Recent engagement keeps decay rate low
  • Self-sustaining for truly evergreen content

Inactive Posts (no tokens in 7+ days):

  • Fast decay: ~5% per week
  • Accelerates return of tokens to circulation

Decay Flow

┌─────────────┐           ┌─────────────────┐           ┌─────────────────┐
│ Post Tokens │──decay──▶ │ Government Pool │──stipend─▶│ User Accounts   │
│   (locked)  │           │   (reserve)     │           │   (available)   │
└─────────────┘           └─────────────────┘           └─────────────────┘
  • Decayed tokens return to government pool (not burned)
  • Used to fund weekly stipends
  • Creates circulation without inflation

The "Evergreen Test"

If content is truly valuable, it will naturally receive sporadic tokens over time, keeping decay rate low. No special protection needed—quality content self-sustains.


5. Taxation & Redistribution

Progressive Weekly Tax

Applied to token wealth above thresholds:

Token Balance Tax Rate Applied To
0-200 0%
201-500 5% Amount above 200
501-1,000 10% Amount above 500
1,001-2,000 15% Amount above 1,000
2,000+ 20% Amount above 2,000

Example Calculation:

User with 1,500 tokens pays:

  0% on first 200    =   0 tokens
  5% on next 300     =  15 tokens  (300 × 0.05)
 10% on next 500     =  50 tokens  (500 × 0.10)
 15% on remaining 500 =  75 tokens  (500 × 0.15)
────────────────────────────────────
Total weekly tax     = 140 tokens

Weekly Stipend Distribution

Stipend Pool Composition:

  • Tax collected from wealthy accounts
  • Decay returns from old content
  • Government's 20% cut from all spending

Distribution Formula:

Total Stipend = Base Stipend + Engagement Bonus + New User Bonus

Where:
- Base Stipend    = (Gov Pool × 0.80) / Active Accounts
- Engagement Bonus = +10 if earned > 0 tokens last week
- New User Bonus   = +10 for first 4 weeks (2x base)

Result: Active participants always have tokens to engage, good creators earn more through both direct earnings AND higher stipends.


6. Account Structure & Anti-Gaming

One Account Per Phone Number

  • Identity verification: One phone number = one account
  • Prevents: Sybil attacks, fake account multiplication
  • Token pool: Single unified pool per account

Multiple Pages Per Account

Users can create multiple public "pages" or personas:

Feature Behavior
Use cases Professional/personal separation, different interests
Token sharing All pages draw from the same account token pool
Token earnings All earnings flow to unified pool
Anti-gaming Prevents gaming through account multiplication

Anti-Gaming Measures

  1. Account Creation: Phone verification prevents mass account creation
  2. Token Markets: Accept black markets will exist; official gifting is transparent
  3. Like-for-Like Cartels: Limited effectiveness since total tokens remain constant in closed loops
  4. New User Protection: Free comments + stipend bonuses + initial 100 tokens
  5. Wealth Concentration: Progressive taxation + decay + burning mechanisms

7. Feed Algorithm: Hybrid Approach

Multiple feed options to balance discovery, personalization, and quality:

Feed Types

Feed Description Sorting
Hot Today Queue 0 & 1 content Recent token velocity
Following Content from followed pages Chronological + engagement weighted
Hidden Gems High engagement relative to follower count Undervalued content
Resurfaced Boosted evergreen content from Queue 3 Boost performance
Trending This Week Highest total tokens in 7 days Total tokens

Personalization Layer

  • Show content liked by users whose taste aligns with yours
  • Learn preferences without creating filter bubbles
  • Balance between discovery and relevance
  • Collaborative filtering based on spending patterns

8. System Equilibrium & Health Metrics

Target Token Distribution

Category Target % Purpose
Locked on posts 40-60% Healthy engagement
Circulating 30-50% Available for spending
Government pool 10-20% Ready for stipends

Preventing Hoarding

Gentle mechanisms rather than harsh penalties:

  1. Social visibility: "You've spent X tokens this month" as public metric
  2. Achievement badges: "Generous curator" vs "Token hoarder" status
  3. Diminishing spending power (optional):
    • First 100 tokens/week: 100% value
    • Next 100 tokens: 90% value
    • Encourages spreading tokens rather than dumping all at once
  4. Natural pressure: Hoarding = opting out of influence

Economic Balance

Deflationary pressures:

  • 20% burn on post spending
  • 50% burn on comment spending
  • Taxation removes tokens from wealthy accounts
  • Decay returns tokens slowly

Inflationary pressures:

  • New accounts (100 tokens each)
  • Creator earnings (60% of spending)
  • Weekly stipends

Goal: Maintain stable purchasing power where 1 token means roughly the same thing over time.


9. Edge Cases & Special Scenarios

Comment Economics

Scenario Cost
First 2 comments/day FREE
Additional comments 0.5 tokens
Max tokens receivable 5 per comment
Nested economy Great comments become valuable

Token Transparency

Users can see:

  • "This post has 347 tokens from 89 people"
  • Their own token balance and spending history
  • Tax paid and stipends received
  • Decay happening on their posts (optional: real-time visibility)

Creator Controls

  • No opt-out: Creators cannot decline tokens or limit who can spend on their content
  • Reason: Defeats the purpose of open quality signaling

Content Moderation

Scenario Behavior
Spent tokens on removed post No refund (penalty for violating policies)
Where removed post tokens go Government pool

10. Open Questions & Future Considerations

High Priority (Addressed)

  1. Boost Algorithm — Based on peak token percentage + views
  2. Share/Repost — Sharing free, reposts not allowed
  3. Discovery — Through feeds, lower queue = lower visibility
  4. Token Market — Official gifting allowed, marketplace planned
  5. Bootstrapping — Early users get bonus, founder accounts seed ecosystem

Medium Priority (Addressed)

  1. Content Moderation — No refund, tokens go to government
  2. Wealth Visibility — Public leaderboards, transparency helps
  3. 🔄 Appeal Systems — Not in MVP
  4. Analytics — Yes, creator tools planned

Lower Priority (Future)

  • Tipping beyond the 10 token cap
  • Token-gated content
  • Subscriptions using tokens
  • Creator fundraising
  • Gamification elements
  • International considerations

Summary of Finalized Decisions

Decision Implementation
Token Scarcity 100 initial, max 10 per post, progressive tax, time decay
Economic Model 60/20/20 split (creator/govt/burn)
Content Lifecycle MLFQ-style queues with adaptive decay and boosts
Anti-Gaming Phone verification, unified pool, multiple pages
Engagement Costs Posts 1-10 tokens, comments 0.5 tokens (first 2 free)
Redistribution Progressive weekly tax funds stipends
Feed Algorithm Hybrid with multiple feed types
Unlike Window 24 hours for full refund
Display Metrics Social proof (people) + quality signal (tokens)

Origin Story

This project was born from a conversation about improving social media:

Amay: "An idea to improve social media. Likes should be a currency, everyone gets a limited number of them when they join. To like a post, you literally have to spend your hard-earned likes..."

S-Alan: "depends on how people would gain the like currency, like non content creators ko kaise milega... daily login pe thode likes milenge?"

Amay: "there would be some stipend for the users, and this stipend would come from taxing the rich"

The name "Kudos" was chosen because it captures the essence of giving genuine recognition:

"it could just be kudos... like 'shit i only have 20 kudos'... 'damn it about 15% of my kudos go in taxes'"


Technical Implementation

Database Schema

The system is built on PostgreSQL with the following core tables:

  • accounts — User accounts with token balances
  • pages — User profiles/personas
  • posts — Content with token metrics
  • comments — Threaded discussions
  • token_transactions — Complete audit trail
  • tax_collections — Weekly tax records
  • stipend_distributions — Weekly stipend records
  • decay_events — Token decay history
  • system_state — Global economic metrics

Service Architecture

  • Auth Service — Phone verification, JWT tokens
  • User Service — Profile management, avatars
  • Content Service — Posts, comments, CRUD operations
  • Token Service — Spending, balance, transactions (Go/gRPC)
  • Feed Service — MLFQ feeds, recommendations (Go/gRPC)
  • Jobs Service — Decay, taxation, stipends, queue updates (Go)
  • API Gateway — Request routing, rate limiting

This is a living document. As we address open questions and run simulations, this design will evolve.