A community based topic aggregation platform built on atproto
Coves Product Requirements Document (PRD)#
Digital Community Infrastructure Platform#
1. Executive Summary#
Vision: A federated forum platform that ensures a solid framework for digital community building and meaningful information discussion.
Core Values:
- User sovereignty through data portability
- Community autonomy and self-governance
- Cross-platform interoperability
2. MVP Scope Definition#
Phase 1: Core Forum Platform (Web)#
Must Have:#
- Indigo PDS Integration1 - Use existing atProto infrastructure (no CAR file reimplementation!)
- User registration with phone verification (verified badge)
- Community creation, subscription, and discovery
- Post creation (text initially, then image/video/article)
- Threaded comments with upvoting
- Three feed types:
- Home: Personalized based on subscriptions with 1-5 visibility slider per community
- All: Global content discovery
- Community: Standard forum sorting (hot/new/top)
- Read state tracking (hide read posts, history tab)
- Content tagging system (helpful/spam/hostile)
- User blocking capabilities
Defer to Post-MVP:#
- Community wikis
- Advanced reputation system
- Sortition/tribunal moderation
- Edit history tracking
- Plugin/bot system
Phase 2: Federation (MVP+)#
- Bluesky post display (read-only via Indigo firehose)
- ActivityPub bidirectional support
- Federation source indicators
Phase 3: Mobile Apps (Separate Repo)#
- iOS/Android native apps
- TikTok-style horizontal scrolling feed
- Offline-first architecture
- Push notifications
3. Technical Architecture#
Backend Stack:#
- PDS Layer: Indigo PDS implementation (handles atProto, CAR files, firehose)
- Application Layer: Go services for Coves-specific features
- Databases:
- Indigo PDS's PostgreSQL (user repos, DID management)
- Separate PostgreSQL for AppView (queries, read states, community data)
- APIs: XRPC protocol (leverage Indigo's implementation)
- Identity: atProto DIDs with phone verification
Frontend Stack:#
- Web: React/Next.js
- Mobile: React Native or Flutter (separate repository)
- State Management: Zustand/Redux with offline sync
4. Development Roadmap#
Week 1-2: Foundation#
- Deploy Indigo PDS instance
- Set up AppView database
- Create core Lexicon schemas (community, post, comment)
- Implement phone verification flow
Week 3-4: User & Identity#
- User registration/login via Indigo PDS
- Profile management
- DID resolution and handle system
- Basic user settings
Week 5-6: Communities#
- Community CRUD operations
- Subscription management
- Community discovery page
- Basic moderation tools
Week 7-8: Content Creation#
- Post creation (text, then multimedia)
- Comment threads
- Upvoting system
- Content tagging
Week 9-10: Feed System#
- Home feed with subscription slider
- Community feeds with sorting
- All/global feed
- Read state tracking and history
Week 11-12: Polish & Testing#
- Search functionality
- User blocking
- Performance optimization
- Security audit
- Alpha deployment
Post-MVP: Federation#
- Subscribe to Indigo firehose for Bluesky content
- ActivityPub adapter service
- Cross-platform user mapping
5. Mobile Application Strategy#
Approach: Separate repository, API-first design
MVP Features:#
- Horizontal swipe navigation between posts
- Offline caching with background sync
- Push notifications for interactions
- Native performance optimization
Timeline: Begin after web MVP validation (Month 4-6)
6. Key Technical Decisions#
Leveraging Indigo:#
- Use Indigo PDS for all atProto infrastructure
- Subscribe to Indigo firehose instead of building our own
- Focus engineering on Coves-specific features
Data Architecture:#
- User content → Indigo PDS (portable)
- Read states/analytics → AppView (non-portable, privacy-focused)
- No ads, tracking, or user data monetization
Open Source:#
- MIT license
- Public repository
- Community contributions welcome
7. Success Metrics#
MVP Launch (3 months):#
- 50+ active communities
- 500+ registered users
- <2 second page loads
- 99.5% uptime
- Successful Bluesky content display
6 Month Goals:#
- 500+ communities
- 5,000+ MAU
- Mobile app launched
- Federation with 3+ platforms
8. Resource Requirements#
Team:#
- 2 Backend Engineers (Go, atProto experience)
- 1 Frontend Engineer (React)
- 1 DevOps (part-time, Indigo deployment)
- 1 Mobile Developer (post-MVP)
Infrastructure:#
- Indigo PDS instance: ~$200/month
- AppView database: ~$100/month
- CDN/Storage: ~$100/month
- Total: ~$400-500/month initially
9. Risk Mitigation#
| Risk | Mitigation |
|---|---|
| Indigo PDS complexity | Start with vanilla deployment, customize gradually |
| Moderation at scale | Launch with simple tagging, evolve based on community needs |
| Federation conflicts | Phased rollout, Bluesky read-only first |
| Mobile development | Consider PWA if native timeline slips |
| Community adoption | Focus on unique features (read states, visibility slider) |
10. Immediate Next Steps#
Week 1:#
- Deploy Indigo PDS test instance
- Design Coves-specific Lexicon schemas
- Set up development environment
Week 2:#
- Implement phone verification service
- Create first XRPC endpoints for communities
- Begin frontend scaffolding
Week 3:#
- User registration flow
- Community creation
- Basic post functionality
11. Long-term Vision (Post-MVP)#
- Sortition-based moderation experiments
- Community wikis and documentation
- Plugin system for community bots
- Advanced reputation mechanics
- Full ActivityPub federation
- Possible Mastodon integration
- Community forking via DIDs
- Incognito browsing mode
12. Differentiators#
Why Coves vs Reddit/Lemmy/Discourse?
- True data portability via atProto
- Subscription visibility slider (unique feed control)
- Read state tracking across devices
- Phone verification for trust
- Federation-first, not an afterthought
- Community-driven moderation models
- No corporate ownership or ads
Feature Details from Domain Knowledge#
Feed System Specifications#
Home Feed:#
- UI: TikTok-style scrollable feed (horizontal swipe)
- Personalization:
- Subscription slider (1-5 scale per community)
- 1 = Only best/most popular content
- 5 = Show all content
- Read state tracking with history tab
- Read history stored in AppView (not user repos)
- Subscription slider (1-5 scale per community)
Community Feed:#
- Standard sorting: hot, top (day/month/year), new
- Respects read state
- Community-specific rules application
Community Features#
Core Capabilities:#
- Creation and blocking
- Wiki maintenance
- NSFW toggling
- Subscription management
Reputation System:#
- Gained through posts, comments, positive tags
- Affects member access levels
- Influences comment ordering
- Voting weight based on reputation
Rules System:#
- Democratic rule voting
- Post type restrictions (e.g., text-only)
- Website blocklists
- Geolocation restrictions
Moderation Models:#
-
Sortition-Based:
- Tag-based removal with tribunal review
- Minimum reputation for tribunal service
-
Traditional:
- Moderator hierarchy
- Community override capability
- Hybrid approach with user feedback
Post System#
Types:#
- Text (MVP)
- Video
- Image
- Article
- Microblog (for Bluesky posts)
Features:#
- Upvoting
- Tagging (helpful/spam/hostile)
- Share tracking
- Comment ownership
- Federation source indicators
User System#
Identity:#
- Phone verification (grants verified status)
- atProto DID system
- Platform federation tracking
Username System:#
- Random generation patterns:
- "AdjectiveNoun" (e.g., "BraveEagle")
- "AdjectiveAdjectiveNoun" (e.g., "SmallQuietMouse")
Features:#
- User blocking
- Notification muting
- Post saving
- View history
Federation Approach#
atProto (Bluesky):#
- Display posts inline as references
- Posts-only initially (comments later)
ActivityPub:#
- Two-way compatibility
- Instance → Hub mapping
- Community mapping
- User DID assignment
- Action translation to Coves lexicon
Last Updated: January 2025 Version: 1.0
This PRD focuses on shipping a working MVP in 3 months by leveraging existing Indigo infrastructure, then iterating based on real community feedback.