A social media dashboard sounds simple: pull data from APIs, display it nicely. In practice, it's one of the more complex things you can build - because the data is live, rate-limited, and owned by platforms that change their APIs without warning.

Decision 1: Real-time vs polling

For most dashboards, polling every 5-15 minutes is sufficient and dramatically simpler than WebSocket-based real-time. Reserve true real-time for genuinely time-sensitive data like live comment feeds or active campaign monitoring. The complexity cost of real-time is high - only pay it when the benefit is clear.

Decision 2: What to store

Cache aggressively. Fetch fresh data from the API on a schedule and store it in your own database. Never query social APIs directly on page load - you'll hit rate limits immediately and your UX will suffer. Your database is fast. Social APIs are not.

Decision 3: Multi-account architecture

Build multi-tenancy in from day one, even if your first client only has one account. Retrofitting it later is painful, expensive, and often requires a near-complete rewrite of your data model.

Platform notes

The platforms we integrate most commonly are Meta (Facebook & Instagram), LinkedIn, X (Twitter), and TikTok. Each has its own authentication flow, rate limits, and data structure. Treat them as completely separate integrations, not variations of the same thing. The developer who assumes they're all similar will waste weeks discovering why they're not.