Skip to content

solid-social/timeline

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

152 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Solid Timeline

A decentralized Facebook-style social feed where you own your data

Live Demo License Solid

Live Demo | Solid Project


What is this?

Solid Timeline is a Facebook-style social feed built on Solid - Tim Berners-Lee's project to re-decentralize the web. Your posts, likes, and comments are stored on your Solid pod, not a corporate server.

Your Data β†’ Your Pod β†’ Your Control

Features

  • Decentralized - Posts stored on your Solid pod, not our servers
  • Facebook-style UI - Familiar feed with posts, likes, and comments
  • No build step - Pure HTML/JS, just open and use
  • Solid OIDC auth - Login with any Solid identity provider
  • Real RDF data - Uses SIOC vocabulary for semantic interoperability
  • Works offline - Static files, host anywhere

Quick Start

Use it now

  1. Go to solid-social.github.io/timeline
  2. Click Login and enter your Solid IDP (e.g., solidweb.org)
  3. Start posting!

Self-host

# Clone and serve
git clone https://github.com/solid-social/timeline.git
cd timeline
npx serve .
# Open http://localhost:3000

No npm install. No build. Just files.

How It Works

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Your Browser  │────▢│   Your Pod      β”‚
β”‚                 β”‚     β”‚                 β”‚
β”‚  Solid Timeline β”‚     β”‚  /public/       β”‚
β”‚  (static HTML)  β”‚     β”‚    timeline/    β”‚
β”‚                 β”‚     β”‚      2024-01-03.ttl
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Solid IDP      β”‚
β”‚  (auth only)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Storage

Posts are stored as RDF in daily files on your pod:

https://you.solidweb.org/public/timeline/
β”œβ”€β”€ 2024-01-01.ttl
β”œβ”€β”€ 2024-01-02.ttl
└── 2024-01-03.ttl   ← Today's posts

Data Format

Posts use the SIOC vocabulary:

@prefix sioc: <http://rdfs.org/sioc/ns#>.
@prefix dct: <http://purl.org/dc/terms/>.

<#post-1704307200000> a sioc:Post ;
    sioc:content "Hello, decentralized world!" ;
    dct:created "2024-01-03T12:00:00Z"^^xsd:dateTime ;
    dct:creator <https://you.solidweb.org/profile/card#me> .

This means your posts are:

  • Portable - Move to any Solid pod
  • Interoperable - Other apps can read them
  • Queryable - Use SPARQL to search
  • Yours - Delete anytime, no trace left behind

Tech Stack

Layer Technology
UI Preact + htm
Auth solid-oidc
RDF rdflib.js
Build None (ESM imports from esm.sh)

Zero build step. Everything loads from CDN via ES modules.

Configuration

The app auto-discovers your timeline from your WebID profile:

  1. Looks for solid:timeline predicate
  2. Falls back to {pim:storage}/public/timeline/

To set a custom location, add to your WebID:

<#me> <http://www.w3.org/ns/solid/terms#timeline>
      <https://you.pod/custom/timeline/> .

Get a Solid Pod

Don't have a pod? Get one free:

Contributing

PRs welcome! Some ideas:

  • Image/media uploads
  • Real-time updates via WebSocket
  • Following other timelines
  • End-to-end encryption
  • Mobile PWA

Related Projects

License

MIT - Do whatever you want.


Your data. Your pod. Your timeline.

Releases

No releases published

Packages

No packages published

Languages

  • HTML 54.6%
  • JavaScript 39.2%
  • CSS 6.0%
  • Shell 0.2%