Skip to content

Latest commit

 

History

History
989 lines (735 loc) · 24.9 KB

File metadata and controls

989 lines (735 loc) · 24.9 KB

GEEV - DETAILED FEATURE SPECIFICATION DOCUMENT

TABLE OF CONTENTS

  1. Executive Summary
  2. Product Vision & Goals
  3. User Personas
  4. Core Features & Specifications
  5. User Workflows
  6. Technical Architecture
  7. Success Metrics & KPIs
  8. Roadmap & Milestones
  9. Risk Analysis & Mitigation
  10. Budget Considerations

1. EXECUTIVE SUMMARY

Product Name: Geev
Version: 0.1.0 (Concept)
Platform: Web (Mobile-responsive)
Blockchain: Stellar Network
Primary Users: Global community members interested in giving, helping, and building reputation
Target Markets: Developing economies, unbanked/underbanked populations, crypto-native communities

Problem Statement: Traditional charity and mutual aid systems suffer from:

  • High intermediary costs and fees
  • Lack of transparency in fund distribution
  • Geographic restrictions and banking barriers
  • Limited incentivization for participants
  • Difficulty proving impact and contribution

Solution: Geev leverages Stellar's fast, low-cost transactions to create a transparent, incentivized platform where anyone can give or receive help globally with complete on-chain visibility.


2. PRODUCT VISION & GOALS

Vision

"Empower global communities to help each other through transparent, frictionless, Web3-enabled giving."

Core Goals (Year 1)

  1. Enable 10,000+ active users creating and completing giveaways/requests
  2. Process 100,000+ transactions with zero intermediary friction
  3. Build 100+ badge holders representing active community contributors
  4. Establish trust signals through on-chain transparency and reputation
  5. Create sustainable engagement through gamification and social features

Strategic Objectives

  • Democratize giving (no minimum amounts, no geographic restrictions)
  • Build transparent reputation systems (all activity on-chain)
  • Create network effects (social features drive engagement)
  • Prove Web3 utility (real-world use case beyond speculation)

3. USER PERSONAS

Persona 1: "Generous Grace" - The Altruistic Giver

Demographics: Age 28-45, developed country, established income
Motivation: Wants to help others and be recognized for contributions
Pain Points: Uncertain where money actually goes, wants visible impact
Goals:

  • Give to multiple people/causes simultaneously
  • Receive recognition for contributions
  • See tangible impact of giving
  • Build a legacy of helping others

Behavior:

  • Creates giveaways regularly (weekly/monthly)
  • Engages with trending requests
  • Actively follows recipients
  • Shares successes on social media

Persona 2: "Needy Nathan" - The Help Seeker

Demographics: Age 18-60, variable income, underbanked
Motivation: Needs financial help or assistance for specific problems
Pain Points: No access to traditional credit, skeptical of centralized platforms
Goals:

  • Get help quickly without barriers
  • Maintain privacy while sharing needs
  • Build credibility for future requests
  • Connect directly with helpers

Behavior:

  • Creates specific, detailed help requests
  • Responds promptly to contributors
  • Shares proof of use (photos/updates)
  • Builds relationships with consistent helpers

Persona 3: "Community Carl" - The Engaged Networker

Demographics: Age 20-50, crypto-familiar, community-oriented
Motivation: Believes in decentralization, wants to be part of something meaningful
Pain Points: Existing platforms lack social features, community feels fragmented
Goals:

  • Build reputation and social status
  • Connect with like-minded people
  • Participate in trending activities
  • Influence platform direction

Behavior:

  • Engages with both giving and receiving
  • Active in comments and replies
  • Collects badges as achievement system
  • Invites others to platform

Persona 4: "Opportunistic Oscar" - The Gaming Player

Demographics: Age 18-35, gaming background, engagement-focused
Motivation: Gamification, leaderboards, achievement systems
Pain Points: Boring giving interfaces, no progression tracking
Goals:

  • Earn badges and climb rankings
  • Compete on leaderboards
  • Complete achievement chains
  • Unlock premium features

Behavior:

  • Targets specific badge requirements
  • Participates in trending activities for XP
  • Shares achievements with social circle
  • Recommends platform to friends

4. CORE FEATURES & SPECIFICATIONS

4.1 AUTHENTICATION & WALLET MANAGEMENT

Feature: Stellar Wallet Integration

Specifications:

  • Supported Wallets: Freighter, Stellar Web Wallet, Stellar CLI
  • Non-custodial: Users control private keys
  • No email/password login (wallet-only)
  • Automatic user account creation on first connection
  • Multi-wallet support per user (optional for future)

User Flow:

  1. User clicks "Connect with Wallet"
  2. Wallet extension/web popup appears
  3. User approves connection
  4. App receives public key and creates/fetches user profile
  5. User can now create posts, participate, etc.

Data Stored:

  • Public wallet address
  • User display name
  • Bio/avatar
  • Created posts and entries
  • Balance (synced from Stellar)

Security Considerations:

  • No private keys stored on server
  • All transactions signed by user's wallet
  • Session management via public key only
  • Optional: Rate limiting on wallet connections

4.2 GIVEAWAY CREATION & MANAGEMENT

Feature: Create Giveaways

Specifications:

Giveaway Types:

  1. Random Selection
    • Any number of entries
    • Random winners selected
    • Can specify multiple winners
  2. First-Come, First-Served
    • First X entries = automatic winners
    • Ideal for limited resources
    • Winners notified in real-time
  3. Merit-Based (Phase 2)
    • Host rates entries
    • Best entries win
    • Community voting option

Giveaway Fields:

  • Title (required, max 200 chars)
  • Description (required, markdown support)
  • Category (Giveaway, Help Request, Skill Share)
  • Media (optional, up to 10 files: images, videos)
  • Requirements (optional)
    • Minimum badges/reputation
    • Geographic restrictions
    • Wallet minimum balance
  • Entry Type
    • Text only
    • With proof (image/link required)
    • Application form
  • Selection Method (Random or First-Come)
  • Duration (days until closed)
  • Status (Open, In Progress, Completed, Cancelled)

Post-Giveaway Actions:

  • View all entries
  • Mark winners
  • Send winner notifications
  • Close giveaway
  • Edit giveaway (before entries)
  • Cancel and refund (if applicable)

Technical Implementation:

Giveaway {
id: UUID
creatorId: PublicKey
title: string
description: string
category: 'giveaway' | 'request' | 'skill_share'
media: MediaItem[]
requirements: Requirements
entryType: 'text' | 'with_proof' | 'application'
selectionMethod: 'random' | 'first_come'
maxWinners?: number
startDate: timestamp
endDate: timestamp
status: 'open' | 'in_progress' | 'completed' | 'cancelled'
entries: Entry[]
winners: Entry[]
createdAt: timestamp
updatedAt: timestamp
}


4.3 ENTRY & CONTRIBUTION SYSTEM

Feature: Submit Entries to Giveaways/Requests

Specifications:

Entry Fields:

  • Giveaway ID (required)
  • Content (required, text with optional formatting)
  • Proof (conditional)
    • Image (JPEG, PNG, max 10MB)
    • Link/URL (for external proof)
  • Contact Info (optional, for winner notification)

Entry Lifecycle:

  1. User submits entry
  2. Entry appears in giveaway's entry list
  3. For "first-come" giveaways: automatically marked as winner if slot available
  4. Host can view/interact with entries
  5. Host marks final winners
  6. Winners receive notifications

Commenting System:

  • Entries function as "comments" on giveaways/requests
  • Users can reply to entries
  • Replies create conversation threads
  • All interactions visible in chronological order

Technical Implementation:

Entry {
id: UUID
giveawayId: UUID
userId: PublicKey
content: string
proof?: {
type: 'image' | 'link'
value: string (URL or image path)
}
isWinner: boolean
createdAt: timestamp
replies: Reply[]
likes: number
burns: number
}

Reply {
id: UUID
entryId: UUID
userId: PublicKey
content: string
createdAt: timestamp
likes: number
}


4.4 SOCIAL INTERACTIONS

Feature: Engagement & Commenting

Specifications:

Like System:

  • Users can like entries
  • Like count displayed
  • Like state persisted per user
  • Toggle like on/off

Burn System:

  • "Burn" = negative feedback indicator
  • Not a downvote, but marks low-quality entries
  • Burn count visible
  • Can be un-burned by user

Share Feature:

  • Share giveaway/entry via:
    • Copy link
    • Twitter/X integration
    • Email
    • Direct link
  • Share count tracked

Comments & Replies:

  • Entries are threaded comments
  • Users can reply to entries
  • Replies create conversation threads
  • Display top 3 comments on feed, all on post page

Interaction Counts:

  • Entries/Comments count per post
  • Likes count per entry
  • Reply count per entry

4.5 USER PROFILES & REPUTATION

Feature: User Profiles & Badge System

Specifications:

Profile Components:

  • Profile Picture (avatar)
  • Display Name
  • Bio (max 200 chars)
  • Verification Badge (early adopter, verified contributor)
  • Stats Section:
    • Gives (giveaways created)
    • Takes (help requests completed)
    • Followers
    • Following
    • Badges (earned achievements)

Badge System - Automated Award Criteria:

Tier 1 (Bronze) - "Helper"

  • Criteria: 1+ entries/contributions
  • Reward: Badge + 10 XP
  • Visual: Bronze medal icon

Tier 2 (Silver) - "Contributor"

  • Criteria: 5+ entries/contributions
  • Reward: Badge + 50 XP
  • Visual: Silver medal icon

Tier 3 (Gold) - "Community Pillar"

  • Criteria: 10+ entries/contributions
  • Reward: Badge + 100 XP
  • Visual: Gold medal icon

Tier 4 (Platinum) - "Legend"

  • Criteria: 25+ entries/contributions
  • Reward: Badge + 250 XP
  • Visual: Platinum star icon

Tier 5 (Diamond) - "Icon"

  • Criteria: 50+ entries/contributions
  • Reward: Badge + 500 XP
  • Visual: Diamond crown icon

Special Badges (Phase 2):

  • "First Giver" - Created first giveaway
  • "Help Received" - First successful help request
  • "Mentor" - Helped 5+ people
  • "Popular" - Entry with 50+ likes
  • "Consistent" - Active for 30+ consecutive days

Badge Display:

  • Clickable on profile to view all badges
  • Badge dialog shows:
    • Badge icon and name
    • Award criteria
    • Date earned
    • Progress toward next badge
  • Badges appear on user card in comments

Ranking System:

  • Global leaderboard by activity
  • "Top Givers" section on homepage
  • Filter by time period (weekly, monthly, all-time)
  • Shows rank, user, contribution count, badges

Technical Implementation:

User {
publicKey: string (unique)
displayName: string
bio: string
avatar: string (URL)
verified: boolean
createdAt: timestamp
lastActive: timestamp
stats: {
givesCount: number
takesCount: number
followersCount: number
followingCount: number
}
badges: Badge[]
}

Badge {
id: UUID
userId: PublicKey
type: 'helper' | 'contributor' | 'pillar' | 'legend' | 'icon' | [special]
earnedAt: timestamp
criteria: string
tier: number (1-5)
}


4.6 WALLET & BALANCE MANAGEMENT

Feature: Wallet Integration & Balance Display

Specifications:

Wallet Features:

  • Display current Stellar balance
  • Show transaction history
  • Link to full wallet details (optional)
  • Flat color badge (not gradient)
  • Real-time sync with Stellar network

Balance Display:

  • Shown in sidebar (desktop)
  • Header badge (mobile)
  • Shows primary asset (USDC, XLM, or custom)
  • Update frequency: Every 30 seconds or on app focus

Future (Phase 2):

  • In-app transactions
  • Direct transfers between users
  • Escrow for giveaways
  • Integration with payment processors

Technical Implementation:

Wallet {
userId: PublicKey
network: 'public' | 'testnet'
balance: number
assets: Asset[]
transactions: Transaction[]
lastSync: timestamp
}

Transaction {
id: string (Stellar tx hash)
type: 'send' | 'receive' | 'giveaway' | 'entry'
amount: number
asset: string
from: PublicKey
to: PublicKey
timestamp: timestamp
status: 'pending' | 'completed' | 'failed'
}


4.7 FEED & DISCOVERY

Feature: Main Feed with Trending Content

Specifications:

Feed Content:

  • All open giveaways
  • All open help requests
  • Recent activity from followers
  • Trending posts (high engagement)
  • Top givers activity

Feed Sorting Options:

  • Recent (default)
  • Trending (by engagement)
  • Following
  • Recommended (Phase 2)

Post Card Display:

  • Creator avatar + name + verification badge
  • Title and description preview
  • Media carousel (1:1 aspect ratio)
  • Entry count
  • Like count
  • Status badges (Winner selected, First-Come, etc.)
  • Top 3 entries preview
  • CTA buttons (Enter/Contribute/Reply)

Infinite Scroll:

  • Load 10 posts per batch
  • Lazy load media
  • Loading states

4.8 POST DETAIL PAGE

Feature: Full Giveaway/Request View

Specifications:

Layout Sections:

  1. Post Header
    • Creator profile
    • Post title
    • Status badge
  2. Media Display
    • Full-screen carousel
    • Click any media to expand overlay
    • Close overlay button
    • 1:1 aspect ratio
  3. Post Details
    • Full description
    • Category
    • Requirements
    • Timeline (created, ends, updated)
  4. Progress/Requirements Section
    • For giveaways: Winner count + max winners
    • For requests: Target amount + current progress
    • Entry type description
    • "Contribute" or "Enter Giveaway" button
    • Selection method explanation
  5. Stats Dropdown
    • Total entries
    • Total unique contributors
    • Total engagement (likes)
    • Dropdown to expand/collapse
  6. All Entries as Comments
    • Chronological order
    • Entry creator info
    • Entry content
    • Proof badge (if available)
    • Interaction counts
    • Winner badge (if applicable)
    • Replies displayed as threads
  7. Comments/Replies Section
    • Reply input box (if logged in)
    • All replies listed chronologically
    • Nested thread display

4.9 SEARCH & FILTER

Feature: Discover Giveaways/Requests

Specifications:

Search Parameters:

  • Keyword search (title, description)
  • Category filter (giveaway, help request, skill share)
  • Status filter (open, completed)
  • Creator filter (by user)
  • Date range filter
  • Sort options (recent, trending, ending soon)

Advanced Filters (Phase 2):

  • Badge requirement
  • Geographic location
  • Amount range
  • Language

4.10 RESPONSIVE DESIGN

Feature: Mobile & Desktop Optimization

Specifications:

Desktop (1280px+)

  • Sidebar navigation (left)
  • Main feed (center)
  • Stats sidebar (right)
  • Full width media
  • Multi-column layouts

Tablet (768px - 1279px)

  • Collapsible sidebar
  • Full-width feed
  • Single column stats
  • Touch-optimized buttons

Mobile (<768px)

  • Bottom navigation
  • Full-screen feed
  • Stacked layouts
  • Large touch targets
  • Single column everything

Key Responsive Behaviors:

  • Create post button: Top navbar (desktop), sidebar (desktop), above stats (sidebar)
  • Media: 1:1 ratio maintained on all screens
  • Comments: Full width with proper spacing
  • Overlays: Full screen with close button

5. USER WORKFLOWS

Workflow 1: Creator Creates Giveaway

1. User clicks "Create Post" button
2. Modal/page opens with form
3. Fill in giveaway details:
- Title, description
- Media upload
- Selection method (random/first-come)
- Entry type (text/with proof)
- Duration
4. Click "Create Giveaway"
5. Post published to feed
6. Notification sent to followers
7. Creator can view entries in real-time
8. As entries come in, if first-come selected,
users are marked as winners automatically

Workflow 2: User Enters Giveaway

1. User finds giveaway on feed
2. Clicks "Enter Giveaway" button
3. Entry form appears
4. Fill in response/proof if required
5. Click "Submit Entry"
6. Entry appears in entries list
7. Creator and others can see entry
8. User can edit entry (if not yet submitted as winner)
9. If first-come: User immediately marked as winner
10. If random: Wait for creator to select winners

Workflow 3: User Replies to Entry

1. User clicks reply box under an entry
2. Reply input appears
3. Type reply message
4. Click "Reply" button
5. Reply appears threaded under entry
6. Other users can see and like reply
7. Entry creator notified of reply

Workflow 4: Creator Selects Winners

1. Creator views all entries on giveaway
2. Reviews entry content and proof
3. Clicks "Mark as Winner" on selected entries
4. Winners get notification
5. Winner badge appears on entry
6. Giveaway marked as "Winners Selected"

Workflow 5: Browse Leaderboard & Badges

1. User clicks on profile
2. Sees all earned badges
3. Clicks on any badge to see details
4. Views next badge requirements
5. Click on "Top Givers" to see leaderboard
6. See user rankings by contribution count


6. TECHNICAL ARCHITECTURE

Frontend Architecture

app/
├── page.tsx (Landing page)
├── feed/page.tsx (Main feed)
├── post/[postId]/page.tsx (Post detail)
├── profile/[userId]/page.tsx (User profile)
├── login/page.tsx (Wallet connection)
└── layout.tsx (Root layout)

components/
├── post-card.tsx (Feed item)
├── comments-section.tsx (Entries + replies)
├── entry-form.tsx (New entry input)
├── timeline-feed.tsx (Feed container)
├── navbar.tsx (Top navigation)
├── desktop-sidebar.tsx (Sidebar nav)
├── wallet-management.tsx (Wallet display)
├── create-giveaway-modal.tsx (Post creation)
├── achievements-dialog.tsx (Badge display)
└── [other components]

contexts/
└── app-context.tsx (Global state: posts, user, badges)

lib/
├── types.ts (TypeScript interfaces)
└── mock-data.ts (Sample data for MVP)

State Management Flow

AppContext
├── currentUser (user profile, badges, wallet)
├── posts (all giveaways/requests)
├── entries (all submissions)
├── replies (all comment threads)
├── interactions (likes, burns, shares)
└── ui (modals, notifications)

Data Models (Stellar Integration Ready)

User → Stellar PublicKey

Posts → Created by User

Entries → Submitted by Users to Posts

Replies → Submitted by Users to Entries

Interactions → User actions (like, burn, share)

Badges → Earned by Users (calculated from activity)

Transactions → Tracked on Stellar (Phase 2)

Deployment

  • Frontend Hosting: Vercel
  • Database: PostgreSQL (optional for Phase 2)
  • Blockchain: Stellar Public Network
  • Storage: Vercel Blob (for media)
  • CDN: Vercel Edge Network

7. SUCCESS METRICS & KPIs

User Growth

  • Target: 10,000 active users (Year 1)
  • Metric: Monthly Active Users (MAU)
  • Success: 20% month-over-month growth

Engagement

  • Target: 100,000+ giveaways created
  • Metric: Posts created per week
  • Success: 2,000+ new posts weekly

Transaction Volume

  • Target: $1M+ in giveaway value
  • Metric: Total contribution value on-chain
  • Success: $100k+ monthly

Community Quality

  • Target: 100+ badge holders
  • Metric: % of users with badges
  • Success: 20%+ of active users badge-holding

Retention

  • Target: 40% retention after 30 days
  • Metric: Return user rate
  • Success: Maintain >30% monthly

Badge Adoption

  • Target: 50% of users understand badge system
  • Metric: Badge view rate
  • Success: >500 badge views weekly

8. ROADMAP & MILESTONES

Phase 1: MVP (Current - Month 3)

  • Wallet integration
  • Post creation (giveaways/requests)
  • Entry submission with proof
  • Comments and replies
  • User profiles
  • Badge system (automated)
  • Responsive design
  • Feed and discovery

Phase 2: Core Features (Month 4-6)

  • Escrow and in-app transactions
  • Direct user-to-user transfers
  • Advanced search and filters
  • User following system
  • Notifications (email/push)
  • Social sharing integration (Twitter/Discord)
  • Analytics dashboard for creators
  • Content moderation tools

Phase 3: Advanced Features (Month 7-12)

  • Soroban smart contracts for automation
  • Multi-currency support
  • Streaming payments for ongoing needs
  • Community voting/DAO governance
  • Leaderboard seasons and competitions
  • Mobile app (React Native)
  • Advanced reputation scoring
  • Integration with other platforms (POAP, etc.)

Phase 4: Scale & Sustainability (Year 2+)

  • Cross-chain support (Ethereum, Solana)
  • Traditional payment integration (Stripe, PayPal)
  • NFT badges/credentials
  • Marketplace for services
  • Insurance/guarantee system
  • Sustainability model (fees, premium features)

9. RISK ANALYSIS & MITIGATION

Risk 1: User Adoption Challenges

Risk: Users unfamiliar with Web3/Stellar Mitigation:

  • Clear onboarding tutorial
  • Wallet integration guides
  • Customer support (Discord, email)
  • Freighter wallet integration (easiest)
  • Educational content

Risk 2: Fraud/Scams

Risk: Users submitting fake entries or proof Mitigation:

  • Community reporting system
  • Creator review/approval before marking winner
  • Reputation penalties for bad actors
  • Proof image/link verification
  • Dispute resolution (Phase 2)

Risk 3: Regulatory Uncertainty

Risk: Crypto regulations could impact platform Mitigation:

  • Operate platform globally with local compliance
  • No KYC required (wallet-based)
  • No custodial services
  • Transparent terms of service
  • Legal review for jurisdiction-specific issues

Risk 4: Stellar Network Issues

Risk: Network congestion or downtime Mitigation:

  • Use Stellar testnet for development
  • Design for network latency
  • Graceful error handling
  • Alternative fallback mechanisms
  • Monitor network health

Risk 5: Security Vulnerabilities

Risk: Smart contract or wallet exploits (Phase 2) Mitigation:

  • Smart contract audits before deployment
  • Start with MVP (no smart contracts)
  • Security testing and penetration testing
  • Gradual rollout of new features
  • Bug bounty program

Risk 6: Market Saturation

Risk: Similar platforms emerge Mitigation:

  • Strong community building early
  • Unique features (badge system, social)
  • Network effects (value increases with users)
  • Quality over speed
  • Regular updates and improvements

10. BUDGET CONSIDERATIONS

Development Costs (MVP)

  • Frontend Development: $30,000 - $50,000
  • Backend/Infrastructure: $5,000 - $10,000
  • Wallet Integration: $3,000 - $5,000
  • Testing & QA: $5,000 - $8,000
  • Subtotal: $43,000 - $73,000

Infrastructure (Annual)

  • Vercel Hosting: $500 - $2,000/year
  • Database (if needed): $1,000 - $5,000/year
  • Storage: $500 - $2,000/year
  • Subtotal: $2,000 - $9,000/year

Marketing & Operations

  • Community Management: $5,000 - $15,000/year
  • Content Creation: $2,000 - $5,000/year
  • Social Media: $1,000 - $3,000/year
  • Subtotal: $8,000 - $23,000/year

Total Year 1 Budget: $53,000 - $105,000


CONCLUSION

Geev represents a meaningful step toward Web3-enabled charitable giving and mutual aid. By combining social networking with blockchain transparency, Geev creates value for both givers and receivers while building a sustainable, engaged community.

The feature roadmap balances MVP simplicity with long-term scalability, ensuring we can launch quickly while maintaining a clear vision for growth. Success depends on community adoption, clear communication of the platform's benefits, and continuous iteration based on user feedback.


Document Version: 1.0
Last Updated: January 2026
Status: Ready for Implementation