instagram/iglistkit

A data-driven UICollectionView framework for building fast and flexible lists.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 35 minutes ago
Added to GitGenius on September 4th, 2026
Created on September 7th, 2016
Open Issues & Pull Requests: 63 (+0)
GitHub issues: Enabled
Number of forks: 1,541
Total Stargazers: 13,066 (+0)
Total Subscribers: 323 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 84.2 days
Mean response time: 759.4 days
90th percentile: 2278.6 days
Tracked items: 122

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 1% of issues opened in the past year have been closed. Three people close 94% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 8
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 917 days
Stale 30+ days: 5
Stale 90+ days: 5

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • question (28)
  • bug (5)
  • missing-info (5)
  • enhancement (4)
  • help wanted (2)
  • breaking API change (1)

Most active issues this week

Detailed Description

IGListKit is a data-driven UICollectionView framework for building fast and flexible lists in iOS applications.

The framework solves the problem of managing complex, dynamic list updates in UICollectionView by eliminating the need to manually call performBatchUpdates or reloadData. It uses a decoupled diffing algorithm to automatically compute and apply changes to collection views based on data model updates. The architecture separates concerns through reusable cells and components, allowing developers to build collections containing multiple data types without tight coupling between data and presentation logic.

Developers should choose IGListKit when building list-based interfaces that require frequent updates or contain heterogeneous content types. It suits projects where maintainability and performance are priorities, particularly those with complex feed-like layouts similar to Instagram's own use case. The framework is written in Objective-C with full Swift interoperability, making it accessible to teams using either language. It works across iOS, tvOS, and macOS platforms, with the diffing algorithm components available on macOS even without full UICollectionView support.

The project is actively maintained and used in the Instagram app itself. Development includes comprehensive unit test coverage and a documented, extensible API that allows customization of diffing behavior for specific model types. The framework provides example projects and getting started guides to support adoption, and the codebase demonstrates production-grade engineering practices suitable for large-scale applications.