Back to Blog

Building InstaUnfollowers for relationship analysis on Instagram

Emmanouil Athanasopoulos2 min read251 words
React NativeWebViewOAuthSocial Media

The Motivation Behind the Project

InstaUnfollowers was built around a simple question: who follows back, and who does not? The app turns that into a more structured workflow so users can review account relationships without doing the comparison manually.

Core Features and Design Goals

  • Non-follower detection: a direct way to identify one-sided follows.
  • Mass unfollow: a convenience feature for users cleaning up their account.
  • Smart login: an effort to make the sign-in flow easier to use repeatedly.
  • Relationship analysis: a more complete view of how the account network changes over time.

Technical Implementation

  • Implemented secure Instagram authentication via WebView that intercepts the OAuth redirect, extracts session cookies, and uses them to make authenticated API calls for follower/following list retrieval without storing raw credentials.
  • Built a set-difference algorithm that compares follower and following lists to identify non-followers, mutual follows, and fans — then presents results as categorized, scrollable lists with profile images and direct action buttons.
  • Designed a rate-limited mass unfollow system with configurable delays between requests to avoid triggering Instagram's abuse detection, using expo-keep-awake to prevent the screen from sleeping during long batch operations.

The Technology Stack

Built with Expo Router, React Native, and TypeScript. Authentication flows through a controlled WebView with cookie extraction, and the follower analysis engine runs client-side set operations on the fetched data. The app uses expo-keep-awake during batch operations and Expo Image for optimized profile picture rendering.

Final Reflections

The project is a good example of turning an awkward manual task into a much quicker workflow.