A lightweight Node.js dashboard for monitoring weekly social performance across Instagram, Facebook, and respond.io.
It provides a fast home view for headline follower counts, a comparison view for week-over-week analytics, and an AI summary layer powered by either OpenAI or local Ollama.
- Live follower monitoring for Instagram and Facebook
- Weekly comparison view for reach, impressions, interactions, CTR, and follower growth
- respond.io weekly contact tracking
- AI-generated week-over-week summary
- OpenAI support for hosted AI summaries
- Ollama support for local AI summaries without API billing
- Simple Express backend with static frontend pages
- Node.js
- Express
node-fetch- Meta Graph API
- respond.io API
- OpenAI Responses API
- Ollama local API
.
├── public/
│ ├── index.html
│ └── comparison.html
├── data/
│ └── respondio-stats.json
├── Screenshots/
├── server.js
├── package.json
└── README.md
The home page shows the current Instagram and Facebook follower counts in a minimal monitoring layout.
Route:
/
The comparison page shows two selected weeks side by side and includes:
- Instagram KPIs
- Facebook KPIs
- respond.io weekly contacts
- week-over-week delta table
- comparison charts
- AI Insights summary
Route:
/comparison.html
npm installCreate a .env file in the project root.
Required for Meta analytics:
META_ACCESS_TOKEN=your_meta_or_user_access_token
IG_USER_ID=your_instagram_business_user_id
FB_PAGE_ID=your_facebook_page_idRequired for respond.io weekly contacts:
RESPOND_ACCESS_TOKEN=your_respond_io_api_tokenOptional Meta token override:
USER_ACCESS_TOKEN=your_user_access_token
FB_ACCESS_TOKEN=your_facebook_page_access_tokenOptional AI configuration:
OPENAI_API_KEY=your_openai_api_key
OPENAI_MODEL=gpt-4.1-mini
OLLAMA_MODEL=qwen2.5:7bOptional manual channel counts:
LINKEDIN_FOLLOWERS=
TIKTOK_FOLLOWERS=
YOUTUBE_SUBSCRIBERS=
INSTAGRAM_CHANNEL_MEMBERS=
TELEGRAM_SUBSCRIBERS=
WHATSAPP_CHANNEL_FOLLOWERS=Optional webhook secret:
RESPONDIO_WEBHOOK_SECRET=your_secretnpm startOpen:
If OPENAI_API_KEY is set, the app uses OpenAI for the AI summary.
If OPENAI_API_KEY is not set, the app falls back to Ollama.
Install and pull a local model:
ollama pull qwen2.5:7bFor a smaller local model:
ollama pull phi3:miniThen optionally set:
OLLAMA_MODEL=qwen2.5:7bGET /api/meta/summaryGET /api/respondio/summaryGET /api/respondio/weekly-contactsPOST /api/respondio/webhookGET /api/marketing/channelsGET /api/ai/summaryPOST /api/ai/summary
- Weekly metrics are calculated on a Sunday-to-Saturday UTC range.
- Facebook insights may require a Page Access Token depending on permissions.
- The AI summary is intentionally constrained to reduce hallucinated explanations.
- Ollama is the recommended option for local testing when OpenAI billing is unavailable.
This project is private unless you choose to add a license.

