Note
WIP Notice: This tool is currently in early testing version.
Privacy-first analytics for your Mastodon account. No data stored on servers - all processing happens locally in your browser.
- OAuth authentication with read-only permissions only
- Instance autocomplete powered by Mastodon's peer search API
- Dashboard with follower/following/post counts
- Most boosted and most favorited posts
- Posting activity over time
- Engagement charts (boosts and favorites)
- Posts by day of week and hour of day
- Post types breakdown (original, replies, with media)
- Follower count change tracking with percentage
- Time range filtering (7 days to all time)
- FAQ section explaining privacy and permissions
This app is designed with privacy as the top priority:
- Read-only access - We only request
read:accountsandread:statusesscopes - No backend server - Everything runs in your browser
- No data collection - Your data never leaves your device
- No tracking - No analytics, no cookies, no fingerprinting
- Open source - Verify the code yourself
Your access token is stored only in your browser's localStorage and is never transmitted anywhere except directly to your Mastodon instance.
- Node.js 18+
- npm
git clone https://github.com/ronilaukkarinen/mastodon-user-analytics.git
cd mastodon-user-analytics
npm installnpm run dev # Start development server
npm run build # Build for production
npm run clean # Clean build artifacts| Package | Purpose |
|---|---|
| Parcel | Build tool and dev server |
| SCSS | Styling with variables |
| ApexCharts | Charts and visualizations |
- Enter your Mastodon instance (e.g.,
mastodon.socialoruser@instance.tld) - Authorize read-only access via OAuth
- The app fetches your posts directly from your instance's API
- All statistics are calculated in your browser
- Nothing is sent anywhere except API requests to your own instance
To revoke this app's access to your account:
- Go to your Mastodon instance's settings
- Navigate to Account > Authorized apps
- Find "Mastodon user analytics" and click Revoke
You can also click "Logout" in the app to clear your local session.