Architecture
Listsome is a federated, self-hostable platform for discovering and sharing DIY content (tutorials, recipes, projects).
Principles
- Own your data - Content lives on your instance, you control it
- Federation - Instances discover and follow each other via ActivityPub
- No scraping - Explicit subscription model, not stealth extraction
- RSS-first - Structured feeds as the interoperability layer
How It Works
┌─────────────────┐ Follow ┌─────────────────┐
│ your.listsome │ ──────────────────► │ my.listsome │
│ │ ◄────────────────── │ │
│ Your tutorials │ Content feed │ Your feed + │
│ Your recipes │ │ My feed │
│ Your projects │ │ │
└─────────────────┘ └─────────────────┘
▲ ▲
│ │
WebFinger WebFinger
│ │
└─────────── Fediverse ──────────────────┘
Instance Discovery
- WebFinger - Query
https://instance/.well-known/webfinger?resource=acct:user@instance - Actor endpoint - Returns ActivityPub actor with inbox/outbox URLs
- Follow - Send Follow activity to their inbox
- Accept - They approve, relationship established
- Aggregate - Your instance pulls their RSS feed
Content Flow
Publishing (Local)
- Create content via admin UI or API
- Content stored in local SQLite database
- Available via RSS feed at
/feed.xml - Optionally broadcast via ActivityPub outbox
Discovery (Remote)
- Discover instance via WebFinger
- Send Follow request
- On Accept, subscribe to their RSS feed
- Content aggregated into your local feed
- Search across your aggregated content
Data Model
Local Content
- Projects with title, description, markdown content
- Tags for organization
- Author attribution
- Published status
Remote Content (Aggregated)
- Fetched from followed instances’ RSS feeds
- Stored locally for search
- Original source preserved for attribution
Relationships
- Followed instances (who you follow)
- Followers (who follows you)
- Pending follows (approval queue)
Comparison to Faircamp/Fairplayer
| Component | Faircamp | Fairplayer | Listsome |
|---|---|---|---|
| Publisher | Artists publish music | Aggregates faircamps | Users publish DIY content |
| Format | Audio catalog | Audio player | Tutorials, recipes, projects |
| Discovery | Manual URLs | WebFinger | WebFinger + RSS |
| Subscription | - | Follow faircamp | Follow listsome instance |
| Federation | - | Fairplayer network | Listsome federation |
Listsome takes the Faircamp/Fairplayer model and applies it to DIY/maker content with full federation support.