Self-hostable personal dashboard that aggregates online content, produces LLM-powered summaries, and supports personalization through interest-based lensing.
- Pluggable adapters — RSS/Atom, Hacker News, GitHub Releases, Reddit (Twitter stub included)
- LLM integration — summarization, daily digest, interest-based lensing via any OpenAI-compatible provider
- Dark monochrome UI — server-rendered with Hono JSX, responsive CSS grid
- SQLite storage — WAL mode, deduplication, automatic pruning
- Single config file — YAML with environment variable support
bun install
cp config.example.yaml config.yaml
# edit config.yaml with your feeds
bun run devcp config.example.yaml config.yaml
docker build -t pace .
docker run -d -p 3000:3000 -v ./config.yaml:/app/config.yaml -v pace-data:/app/data paceSee config.example.yaml for all options.
| Type | Params |
|---|---|
rss |
urls: string[] |
hackernews |
stories: top|new|best, limit: number |
github-releases |
repos: string[] (owner/repo format) |
reddit |
subreddits: string[], sort: hot|new|top, limit: number |
Each adapter has a refresh_interval in minutes (default: 15, minimum: 1).
Supports any provider via @mariozechner/pi-ai — OpenAI, Anthropic, Google, Groq, Mistral, xAI, DeepSeek, or any OpenAI-compatible endpoint via base_url.
llm:
provider: openai
model: gpt-4o-mini
api_key: ${OPENAI_API_KEY}
digest:
max_length: 500
style: brief
focus_areas: [ai, programming]
interests: [artificial intelligence, typescript]layout:
panels:
- all # combined feed from all adapters
- rss # per-adapter panel
- hackernews
- digest # LLM-generated digestBun + Hono + SQLite + JSX server rendering. No client-side JavaScript.
MIT