01CHALLENGE
What the project had to solve.
Instagram's native stats are shallow. They show "right now" — no history, no "better or worse than last month" comparison, no breakdown of what actually worked. An SMM manager or creator looks at reach and can't tell WHY one Reel did 50K while the next did 800.
Then comes the manual work. Export the numbers into a spreadsheet, roll them up by day, try to remember which Reel pulled what, eyeball the pattern. For a single client that's hours every week; across a roster of clients it's a dedicated hire.
And above all: stats don't explain the content. The whole point of a Reel sits in the script — in the hook, in the first few seconds, in HOW it's said. A reach number can't see that. We built a tool that can.
02SOLUTION
What we built and why.
Nine tabs. The first half is the analytics Instagram doesn't give you. The second is an AI layer that works on your real data, not on generic advice.
Analytics with context. Overview — KPIs with a period selector (7 / 30 / 90 days / all time) and a comparison against the previous period: you get the answer "better or worse than before," not just an absolute. Audience — real demographics down to the city level. Followers — daily growth marked with the days Reels went out and a "views → growth" correlation. Posts and Insights — a full table with search, filters, ER badges, and breakdowns by day of week.
AI that works on your data. The Whisper transcript decodes the speech of every Reel via OpenAI Whisper — without the script text there's nothing to analyze in the content. Patterns crunch the specifics on the transcripts: script length vs views, whether the hook contains a question, magnet words. The generator writes a new Reel script in your style based on your top transcripts. AI tips (GPT-4.1) are tied to your numbers: content, format, timing, audience.
How it works. The dashboard pulls data through the official Instagram Graph API, caches it for 10 minutes, and shows it instantly. The AI part runs through OpenAI on your own key. The Instagram token and OpenAI key are entered right in the interface — no redeploy, no code.
How we built it: self-hosted (data never goes to a third-party server, everything sits behind an admin login, pages are noindexed), no external database (transcripts and config in a file on a Docker volume), three ways to run (locally / Docker+Traefik with a single command / turnkey). The repo ships with an AGENTS.md — an AI agent installs the dependencies and launches it itself. The core implementation was led by AI-assisted development under engineer supervision.