피드로 돌아가기
I Built a Tool to Find Out Who's Not Following You Back on Instagram (And It Lives in the Browser Console)
Dev.toDev.to
Frontend

Client-side Set Difference 기반의 Zero-Backend 팔로우 분석 도구 설계

I Built a Tool to Find Out Who's Not Following You Back on Instagram (And It Lives in the Browser Console)

Stanley Owen2026년 5월 15일4beginner

Context

기존 서드파티 앱의 과도한 권한 요구와 데이터 보안 취약점 해결 필요성 대두. 서버 기반 저장 방식에서 탈피하여 사용자 브라우저 내에서 모든 데이터 처리를 완결하는 아키텍처 지향.

Technical Solution

  • API 엔드포인트(/api/v1/friendships/) 직접 호출을 통한 실시간 데이터 수집 구조 설계
  • JavaScript Set 자료구조의 차집합 연산을 활용한 팔로우 미반환 계정 고속 필터링 로직 구현
  • Rate Limit 회피를 위한 요청 간 지연 시간(Configurable Delays) 및 주기적 일시 정지 메커니즘 도입
  • 데이터 외부 유출을 완전히 차단하기 위해 Backend 없이 Browser Console에서 실행되는 Overlay UI 인터페이스 구축
  • Instagram JSON Export 파일의 다양한 스키마 변동에 대응하는 유연한 Parser 레이어 구현
  • LocalStorage를 활용한 프로필 방문 상태 저장으로 상태 유지(State Persistence) 최적화

- 외부 API 사용 시 Rate Limit 방지를 위한 지수 백오프 또는 설정 가능한 지연 시간 도입 검토 - 개인정보 민감 데이터 처리 시 Backend를 배제한 Client-side Only 아키텍처 고려 - 대량의 리스트 비교 작업 시 Array filter보다 Set.has()를 통한 시간 복잡도 O(1) 최적화 적용 - 다양한 버전의 JSON 스키마를 처리하기 위한 전처리 Parser 패턴 도입

원문 읽기