A reading analytics dashboard for Matter. Connects to your Matter account, fetches your reading history, and visualizes it with charts and stats.
- Reading rhythm — weekly reading time and session counts over your history
- AI categorization — articles are automatically grouped into thematic categories using embeddings
- Author & source leaderboards — see who and where you read most
- Progress distribution — how far you get through saved articles
- Favorites showcase — your starred articles in one place
- Full library browser — search, filter, and sort your entire reading list
- Node.js 20.9+
- A Matter account and API token (find it at web.getmatter.com/settings)
- (Optional) An OpenRouter API key for AI-powered article categorization
git clone https://github.com/fletcheralderton/matterstats.git
cd matterstats
npm install
cp .env.example .env.localEdit .env.local and add your OpenRouter API key if you want AI categorization.
npm run devOpen http://localhost:3000 and enter your Matter API token.
npm run build
npm start- You enter your Matter API token in the browser (stored in session/local storage)
- The token is sent to the app's server API routes, which fetch your items and reading sessions from the Matter API
- If an OpenRouter API key is configured on the server, article titles, excerpts, and author names are sent for AI categorization
- Data is processed and displayed as interactive charts
- Your Matter token is stored in your browser (session storage by default, local storage if you opt in) and sent only to this app's server and to Matter's API — never to OpenRouter or any other third party
- Article titles, excerpts, and author names are sent to OpenRouter for categorization if configured — no other data is shared
- No analytics, tracking, or telemetry
- Next.js 16 with App Router
- React 19
- Recharts for data visualization
- Tailwind CSS v4
- OpenRouter for AI categorization (optional)




