Monitor developer blogs, extract insights, and build a knowledge base.
go install github.com/julienpequegnot/blogmon@latestOr build from source:
git clone https://github.com/julienpequegnot/blogmon
cd blogmon
go build -tags sqlite_fts5 -o blogmon .Note: The sqlite_fts5 build tag is required for full-text search support.
# Initialize configuration and database
blogmon init
# Add blogs to monitor
blogmon add https://jvns.ca
blogmon add https://fasterthanli.me
blogmon add https://brooker.co.za
# Fetch posts
blogmon fetch
# List posts
blogmon list
# Show post details
blogmon show 1| Command | Description |
|---|---|
blogmon init |
Initialize config and database |
blogmon add <url> |
Add a blog to monitor |
blogmon fetch |
Download new posts from feeds |
blogmon extract |
Extract insights from posts using LLM |
blogmon score |
Calculate community/relevance/novelty scores |
blogmon link |
Build concept graph by linking related posts |
blogmon discover |
Discover new blogs from references |
blogmon trends |
Show trending topics |
blogmon list |
List posts (--sort: date/score/source) |
blogmon show <id> |
Show post details |
blogmon sources |
List monitored sources |
blogmon search <query> |
Full-text search across posts |
blogmon daemon |
Run in daemon mode for auto-fetching |
blogmon reindex |
Rebuild full-text search index |
Config is stored in ~/.blogmon/config.yaml
interests:
- topic: "distributed-systems"
weight: 1.0
- topic: "rust"
weight: 0.9
scoring:
community: 0.3
relevance: 0.4
novelty: 0.3
apis:
llm_provider: "ollama"
llm_model: "llama3.2"
fetch:
concurrency: 5
timeout_seconds: 30
daemon:
interval_hours: 6Pipeline architecture:
fetch → extract → score → link → search
↑ ↓
daemon (scheduled) query results
- fetch: Download posts from RSS feeds
- extract: Parse content, extract insights using LLM
- score: Calculate community/relevance/novelty scores
- link: Build concept graph linking related posts
- search: Full-text search with BM25 ranking
- Project setup
- init command
- add command (with RSS feed auto-discovery)
- fetch command (with concurrent fetching)
- list command (with styled output)
- show command
- sources command
- LLM-powered insight extraction (Ollama)
- Community scoring (HN API)
- Relevance scoring (keyword matching)
- Novelty scoring (TF-IDF)
- Concept graph (topic-based post linking)
- Blog discovery (from references)
- Trend detection (topic trending analysis)
- Full-text search (SQLite FTS5 with BM25 ranking)
- Daemon mode (scheduled background processing)
- Search command with ranked results
- Reindex command for index maintenance
- Enhanced list command with sorting