X History - Chrome Extension

Chrome extension that tracks and saves X (Twitter) posts you view, with full-text search, masonry grid layout, and offline caching. Built with React 19, TypeScript, and Manifest V3.

Duration: 3 weeks
Team: Solo project
Role: Extension Developer

Project Overview

A Chrome extension that automatically tracks and saves X (Twitter) posts you view. Built with React 19, TypeScript, and Manifest V3, all data stays completely local in your browser.

The extension uses Chrome's webNavigation API to monitor posts you view, storing URLs in chrome.storage and caching enriched post data in IndexedDB. Post content is fetched from the FxTwitter API (no authentication required) and includes media, engagement stats, and metadata. Users can view their history in a masonry grid or list layout, with full-text search across cached posts.

The architecture uses three storage layers: chrome.storage for URL tracking, IndexedDB for searchable post caching, and localStorage for tweet metadata to minimize API calls. Built with Vite 7 and @crxjs/vite-plugin for fast development with HMR.

Designed for "load unpacked" distribution rather than Chrome Web Store - users can inspect and modify the code.

Installation Instructions

This extension is distributed as "load unpacked" for maximum privacy and control. Follow these steps to install:

  1. 1

    Download the Extension

    Click the download button to get the pre-built extension package.

    Download Extension
  2. 2

    Extract the ZIP File

    Unzip the downloaded file to a location on your computer where you want to keep the extension.

  3. 3

    Open Chrome Extensions

    Navigate to chrome://extensions/ in your Chrome browser.

  4. 4

    Enable Developer Mode

    Toggle the "Developer mode" switch in the top right corner of the page.

  5. 5

    Load the Extension

    Click "Load unpacked" and select the extracted folder containing the extension files.

  6. 6

    Start Using

    Pin the extension to your toolbar and start browsing X.com to automatically track posts!

Privacy Note: All data stays completely local in your browser. No external servers, no tracking, no authentication required.

Key Features

  • Automatic post tracking as you browse X.com
  • IndexedDB caching with offline access
  • Full-text search by content and username
  • Masonry grid and list view modes
  • History manager with infinite scroll pagination
  • Dark/light theme support
  • Import/export for data backup
  • Post enrichment via FxTwitter API (media, engagement stats)
  • 100% local storage

Project Gallery

/x-history-extension.zip
/x-history-extension.zip
/x-history-extension.zip

Technical Challenges & Solutions

Challenge 1

Standard Twitter widget API was slow to render, lacked dark mode support, and had limited UI customization

Solution

Switched to FxTwitter API which provides raw post data (text, media, engagement stats) without authentication. Built custom TweetCard components with shadcn/ui for full control over styling, dark mode support, and faster rendering.

Challenge 2

Managing dual storage systems (chrome.storage + IndexedDB) efficiently

Solution

Built a two-tier storage system: chrome.storage holds lightweight URLs for tracking, while IndexedDB caches enriched post data from FxTwitter API. Added localStorage caching layer for tweet data by post ID to minimize API calls.

Results & Impact

Automatic tracking of X posts during browsing

Full-text search across cached posts

Masonry grid and list view layouts

100% local data storage

Fast HMR development workflow with Vite + @crxjs

Technologies Used

React 19
TypeScript
Vite 7
Chrome Manifest V3
IndexedDB
Tailwind CSS
shadcn/ui
Lucide React

Project Links

Interested in this project?

Let's discuss how I can help with your similar requirements.

Get in Touch

Similar Projects