igstats membaca berkas followers dan following dari ekspor data Instagram — sebagai JSON, sebagai teks yang ditempel, atau sebagai satu ZIP utuh — lalu menghitung mutual, akun yang Anda ikuti tetapi tidak balik mengikuti, dan pengikut yang tidak Anda ikuti, masing-masing bertanggal dari stempel waktu di dalam ekspornya. Tidak ada yang disimpan: aplikasinya tidak mendefinisikan model basis data apa pun, dan unggahannya dibaca di memori lalu dibuang bersama permintaannya.
Instagram bersedia menyerahkan data Anda sendiri, lalu ekspornya berupa dua berkas JSON yang tidak ingin dibaca siapa pun. Yang ini mengerjakan aritmetika himpunannya: following dikurangi followers, followers dikurangi following, dan irisannya, lengkap dengan tanggal tiap hubungan dimulai yang ditarik dari stempel waktu yang disertakan ekspornya.
Anda bisa menyerahkan ZIP-nya langsung dari ekspornya, kedua berkas JSON-nya satu per satu, atau menempelkan isinya. Jalur ZIP-nya mencari kedua nama berkas di kedalaman mana pun di dalam arsip, karena tata letak foldernya berpindah-pindah antar versi ekspor.
Aplikasinya tidak mendefinisikan model apa pun. Bukan "modelnya tidak dipakai" — modul model-nya kosong, jadi tidak ada tabel tempat sebuah unggahan bisa mendarat. Arsipnya dibuka di memori, kedua berkasnya diurai, hasilnya dirender ke dalam respons, lalu permintaannya berakhir. Satu-satunya yang dibawa cookie sesinya adalah pilihan bahasa.
Untuk sebuah alat yang seluruh masukannya adalah daftar orang yang diikuti seseorang, sifat itulah produknya. Ia juga jenis klaim yang hanya layak dibuat kalau pembaca bisa memeriksanya, dan itulah alasan repositorinya publik.
Instagram sudah merevisi bentuk ekspornya setidaknya dua kali, dan ekspor lama masih ada. Pada berkas yang lebih awal, username-nya berada di kolom value; pada yang lebih baru kolom itu hilang dan username-nya menjadi judul entrinya. Ketika keduanya tidak ada, ia masih bisa dipulihkan dari URL profilnya — dan URL itu sendiri punya dua bentuk, satu dengan handle biasa dan satu dengan segmen jalur perantara.
Karena itu, ekstraksi username mencoba empat sumber secara berurutan dan mengembalikan yang pertama menghasilkan sesuatu. Itu tidak elegan, tetapi alternatifnya adalah memberi tahu pengunjung bahwa ekspornya yang sepenuhnya valid tidak bisa dibaca.
Delapan bahasa, dipilih lewat parameter eksplisit, lalu sesinya, lalu header Accept-Language peramban, lalu nilai bawaannya. Varian regional dipetakan turun ke bahasa yang benar-benar diterjemahkan, sehingga pengunjung yang meminta salah satu varian Tionghoa atau Spanyol tidak diam-diam dijatuhkan kembali ke bahasa Inggris.