Instalytics
Upload your Instagram data export and see who does not follow you back — processed entirely in your browser, with nothing sent anywhere.
- Role
- Solo developer
- Year
- 2026
- Stack
- HTML · CSS · JavaScript

Every tool that answers "who unfollowed me" wants your Instagram login, and handing your credentials to a third party to satisfy mild curiosity is a bad trade. Instagram already lets you export your own data, so Instalytics works from that export instead. There is no account, no OAuth, and no server.
You upload the followers and following JSON files from an Instagram data download and get three lists: accounts that do not follow you back, fans you do not follow, and mutuals. Each list is searchable, sortable by name or follow date, copyable, and exportable to CSV or JSON. Snapshots can be saved to localStorage so a later export can be compared against an earlier one to see what actually changed. The whole app is a single index.html with no dependencies and no build step, served as a static file.
The awkward part is that Instagram export format is not stable and large accounts get their followers split across numbered files. Rather than target one exact shape, the parser walks the JSON recursively and collects usernames from any of the three shapes Instagram has used, deduplicating as it goes, so multi-file uploads and format changes both fall out of the same code path.
Engineering notes
A parser that does not assume the export shape
Usernames are collected by recursively walking the parsed JSON and matching several known shapes rather than indexing a fixed path. A deduplicating set means multiple follower files can be dropped in together without double-counting.
Privacy as an architectural constraint
Files are read with FileReader and never leave the page, which is what makes the no-login promise verifiable rather than a claim. It also means the app can be hosted as a static file with no backend to secure.
Change tracking without an account
Snapshots of a previous export are kept in localStorage and diffed against the current upload to show follower, following and mutual deltas. Comparison over time normally needs a server storing your history; here it stays on the device.