CASE STUDY
What if the weekly social media report just wrote itself?
Every week, someone had to manually check Facebook and Instagram across two markets, pull the numbers, write a summary, and have it ready before the meeting. This system replaced that entire process with an automated pipeline that fetches real data from the Meta API, runs it through AI analysis, and surfaces everything in a live dashboard — ready before anyone wakes up on Friday.
Live Dashboard + Video Walkthrough
Password protected — request access. Walkthrough shows the full pipeline end to end.
THE PROBLEM
Manual weekly checks across four accounts, two markets, before every meeting
The brand runs Facebook and Instagram pages for both Singapore and Malaysia. Tracking organic performance meant logging into Meta Business Suite for each account, pulling reach, engagement, follower changes, and post performance separately, then writing a summary by hand before the Friday meeting.
There was no single view across markets. No record of which posts actually performed. No automatic analysis of patterns. And for the brand owner, no visibility into what was happening without waiting for a report someone prepared.
HOW IT WORKS
One n8n workflow. Four API endpoints. AI analysis. Dashboard live by Friday morning.
Schedule trigger fires every Friday at 7am
n8n workflow kicks off automatically. No manual trigger needed. Runs before the weekly team meeting.
Hits Meta Graph API across four accounts
Facebook Page Insights (fans, engagement), FB Posts (reactions, comments, shares, permalink), Instagram Insights (reach, followers, profile views, interactions), and Instagram Media (likes, comments, permalink) — all fetched for the prior 7 days, for both SG and MY pages.
Scores posts, finds best and worst
Each post gets a score based on total engagement. The top post and lowest-engagement post per platform per market are extracted with caption, score, and a direct link to the post.
Writes all metrics to Google Sheets in long format
One row per metric per week. Market, platform, metric name, value. The sheet becomes the persistent data layer the dashboard reads from — no database needed.
Passes the week's numbers to GPT-4o-mini
AI generates a market-level summary, wins, concerns, a content recommendation based on best vs worst post patterns, and one thing to focus on next week. Lands in a separate AI Insights tab.
Dashboard reads the sheet via Sheets API
React + Vite frontend fetches both tabs on load, parses long-format rows into a structured object, and renders KPI tiles, 8-week sparklines, post cards, and the AI insight panel. Refreshes every 5 minutes. Password protected.
WHY IT MATTERS
Built for two audiences at once
The Agency
Walks into Friday's meeting already knowing what to act on. No manual analysis, no staring at spreadsheets. The brief is written before anyone opens a tab.
The Brand Owner
Sees real data, not a filtered report someone prepared. What performed, what didn't, and what's being done about it — every week, automatically.
WHAT IT SHOWS
Facebook and Instagram side by side, per market, per week
KPI Tiles
Page fans, posts, reach, followers, engagement, interactions — with WoW delta when prior week data exists
Post Cards
Top post and lowest-engagement post per platform: caption, score, and a direct link to the original post
8-Week Sparkline
Engagement trend (FB) and reach trend (IG) build up over time as weeks accumulate
AI Insight Panel
GPT-generated summary, wins, what to watch, content recommendation, next week focus — per market, per week
Market Toggle
Switch between SG and MY at the top. Facebook and Instagram always shown side by side within the selected market
Week Selector
Navigate to any past week once multiple weeks of data exist
STACK
No backend. The Google Sheet is the database. The n8n workflow is the ETL pipeline. The React dashboard is a static Vite build on Vercel that reads directly from the Sheets API. The AI analysis runs inside the same n8n workflow via OpenAI — no separate AI infrastructure needed.
Want this for your brand?
If your team is manually pulling social numbers before every meeting, I can automate the entire pipeline — data collection, analysis, and a live dashboard your client can check anytime. One call is enough to scope it.