Case study · 2026

Feedpecker

See where an X feed comes from and filter it by country.

A browser extension that shows the geographic makeup of an X feed, adds reversible country and profile filters, and keeps its data, analytics, and history local.

View source on GitHub
Role
Product · Browser extension engineering
Platform
WebExtension APIs · JavaScript · IndexedDB
Core stack
JavaScript · WebExtension APIs · IndexedDB · X APIs
Feedpecker dashboard showing profile geography and country filtering on an interactive world map
04 / FeedpeckerFeedpecker dashboard showing profile geography and country filtering on an interactive world map
01

The product

What it is.

Feedpecker is a browser extension that shows where accounts in an X feed are located and lets users filter posts by country or profile. It resolves incomplete location data, changes the live feed, and keeps filters, analytics, history, logs, and backups in the browser.

02

Technical

Technical overview.

  • JavaScript
  • HTML5
  • CSS
  • Chrome
  • Firefox
01

Extension runtime

JavaScript content scripts monitor X’s dynamic interface, identify accounts, and update matching posts as the feed changes.

02

Location resolution

Reads available profile and X response data, normalizes locations into countries or regions, and reuses cached results.

03

Local storage

IndexedDB and extension storage hold profiles, settings, filters, analytics, history, logs, and backups.

04

Filtering

Country, region, and profile rules hide posts with a staged transition while keeping hiding separate from account blocking.

05

Rate limits

A shared request budget slows lookups near X’s limit, keeps a safety reserve, and pauses after an authoritative limit response.

06

Dashboard

A local interface provides the map, analytics, country controls, filtered profiles, diagnostics, settings, backup, and restore.

03

Highlights

Project highlights.

01

No remote data service

Profiles, filters, analytics, logs, and backups remain in the browser; there is no shared profile database or telemetry endpoint.

02

Controlled location lookups

Caching and a shared request budget improve location coverage over time without exhausting X’s available requests.

03

Reversible filtering

Country rules, profile overrides, and account blocking stay separate, and the dashboard makes every filtered profile easy to review or restore.