Instagram Automation and Analytics Platform
A platform for operating more than 200 brand Instagram accounts from one place and collecting engagement data across all of them.
This project is a platform for running a large network of brand Instagram accounts from one place and collecting engagement data across all of them. It manages more than 200 accounts and tracks their impressions and audience metrics so performance can be compared account by account.
The code runs live brand operations, so I cannot open source the full project. A published portion of the work is linked below.
Account management at scale
Every account lives as a record in a PostgreSQL database with its own connection status and metadata. Accounts connect individually through Meta’s OAuth flow, and their access tokens are stored encrypted with AES-256-GCM. A scheduled refresh job renews any token nearing expiry across the whole network, so hundreds of accounts stay connected without manual work. The operator dashboard lists every account with search and filtering, which keeps managing 200+ accounts practical.
Content generation and publishing
Content is generated through API integrations with more than one large language model, using different models for writing captions and for creating the images. Publishing works as a fan out job: one campaign expands into a separate task per targeted account, each with its own content, status, and retry handling. A worker builds the media, waits for it to be ready, publishes it, and records the result, retrying on failure so a single error never stops the whole run.
Data and impressions collection
For every account the platform pulls audience and engagement metrics through the Instagram Graph API, including impressions, reach, profile views, follower and following counts, likes, comments, shares, and other interactions. Each measurement is saved as a time stamped snapshot, so the data builds into a history that can be tracked over time and compared across the full network of 200+ accounts.
Reliability and security
Access tokens are encrypted at rest, the OAuth flow is protected against request forgery, admin access is authenticated, and every state changing action is written to an audit log. Rate limiting guards the content generation endpoints so the platform stays within API limits even while serving hundreds of accounts.