Full Stack
RIGtracker
Social analytics platform
Historical social analytics, built as a real full-stack product.
- Role
- Product design and full-stack development.
- Status
- MVP with a fictional-data demo
- Year
- 2026

01
The problem
Social analytics tools often hide how they know what they know, or lean on scraping. I wanted to build the product properly: historical observations, metrics that stay null when the data is missing, and a clear line around what is and is not supported.
02
My contribution
I designed and built it end to end: the domain model and analytics, the provider adapters, the API with authentication, CSRF protection and rate limits, the scheduler and notification engine, and the dashboard.
- Next.js
- TypeScript
- PostgreSQL
- Redis
- Recharts
03
How it works
Observe
A provider adapter returns normalised profile and media snapshots. A mock provider supplies fictional fixtures, and a Meta adapter covers authorised Instagram Login.
Store
Versioned PostgreSQL migrations hold snapshots, field-change events, media and metrics. Development runs on embedded PGlite.
Diff
Each refresh is diffed against the last snapshot into events for username, bio, avatar and count changes, keyed on stable provider IDs.
Monitor
A worker claims due trackers with durable leases, retries with backoff and raises in-app notifications.
04
Engineering details
Null-aware analytics
Engagement and growth are computed only from real observations. Missing operands stay null instead of becoming a flattering zero, and the UI states the sample coverage.
Durable scheduling
The worker claims trackers with FOR UPDATE SKIP LOCKED and a 10-minute lease, so claims survive crashes and multiple workers cannot take the same one.
Security basics done properly
Opaque hashed session tokens, HTTP-only cookies, Origin and CSRF checks, workspace-scoped repositories, AES-256-GCM token encryption, and CSV export that neutralises spreadsheet formulas.
Capability boundaries in the open
A capability matrix documents what the official API can and cannot do. Unsupported features return an explicit unsupported state rather than a fake success.
Tested end to end
Domain and database integration tests run against an in-memory PostgreSQL engine, and Playwright covers the main user journeys on desktop and mobile.
05
Results & limitations
The demo workspace lets you search the fictional profiles, explore their history and media analytics, compare accounts, set up trackers and read notifications, all backed by a real database, API and scheduler.
1,830
generated demo snapshots
366 daily snapshots for each of 5 fictional demo profiles.
0
real Instagram profiles shown
All demo data is fictional. RIGtracker does not scrape Instagram or collect passwords, cookies or hidden contact details.
240
fictional media items
48 per demo account, for the media analytics and comparison views.
Limitations and honest caveats
- The public demo data is entirely fictional. It is not scraped Instagram data.
- Anonymous access to arbitrary Instagram profiles is not supported, and was never the goal.
- A Meta-authorised Instagram Login path exists, but live field-level acceptance has not been established without credentials, so I make no claim of live Instagram coverage.
- It is an MVP, not an audited commercial deployment.
06
Gallery

The same dashboard on a phone.