← Documentation Home πŸš€ Try the App

Technical Specification - Instagram Unfollow Tracker

1. Project Overview

Goal

A privacy-focused, local web application that analyzes Instagram Data Download (ZIP) files to provide insights into follower relationships without requiring Instagram authentication or sending data to external servers.

Core Features

Privacy Principles

2. Technical Architecture

Frontend Stack

Data Storage & Caching

Performance Optimizations

Testing & Quality

3. Data Structure & Processing

Input Format

Instagram Data Download ZIP files containing JSON data:

connections/followers_and_following/
β”œβ”€β”€ following.json          # Accounts you follow
β”œβ”€β”€ followers_1.json        # Your followers (may be split)
β”œβ”€β”€ followers_2.json        # Additional follower files
β”œβ”€β”€ close_friends.json      # Close friends list (optional)
β”œβ”€β”€ pending_follow_requests.json  # Pending requests (optional)
β”œβ”€β”€ recently_unfollowed_profiles.json  # Recently unfollowed (optional)
└── restricted_profiles.json  # Restricted accounts (optional)

Data Schema

interface InstagramExportEntry {
  title: string;
  string_list_data: InstagramListItem[];
  media_list_data: unknown[];
}

interface InstagramListItem {
  href: string;        // Profile URL
  value: string;       // Username
  timestamp?: number;  // Optional timestamp
}

Core Calculations

4. User Interface Design

Layout Structure

Responsive Design

Accessibility Features

5. State Management

Zustand Store Structure

interface AppState {
  // Upload state
  uploadStatus: 'idle' | 'loading' | 'success' | 'error';
  uploadError: string | null;
  
  // Data state
  accounts: AccountBadges[];
  filterCounts: Record<BadgeType, number>;
  
  // UI state
  selectedFilters: BadgeType[];
  searchQuery: string;
  sortBy: 'username' | 'date';
  sortOrder: 'asc' | 'desc';
}

Persistence

6. Performance Specifications

Processing Targets

Optimization Strategies

7. Error Handling

Error Categories

Error Recovery

8. Browser Compatibility

Supported Browsers

Required Features

9. Security Considerations

Client-Side Security

Data Privacy

10. Deployment & Distribution

GitHub Pages Deployment

Build Process

npm run build    # TypeScript compilation + Vite build
npm run test     # Run test suite
npm run preview  # Local preview of production build

Environment Configuration

11. Development Workflow

Code Organization

src/
β”œβ”€β”€ components/     # React components
β”œβ”€β”€ hooks/         # Custom React hooks
β”œβ”€β”€ lib/           # Core business logic
β”œβ”€β”€ core/          # Data processing and types
β”œβ”€β”€ data/          # Static data and constants
β”œβ”€β”€ types/         # TypeScript type definitions
└── ui/            # Main application component

Testing Strategy

Code Quality

12. Future Technical Considerations

Scalability

Advanced Features

Performance Monitoring


This technical specification is a living document that evolves with the project. It serves as the foundation for development decisions and architectural choices.