๐•
๐Ÿ› Debug Console (0)

๐Ÿ“‹ Core Architecture & Setup

Auto-Load + Cross-device Sync: localStorage + Google Sheets. Connect Google to keep post statuses and notes on your devices.
Per-handle tabs: Each X account gets its own tab (for example TW-@I_Am_The_ICT) inside one spreadsheet.
Logged-in X Browser Collector (free companion)
๐Ÿ“‹ Tampermonkey Collector Setup (assisted scrolling)
1. Install Tampermonkey

Install the Tampermonkey browser extension.

2. Allow Chrome to execute userscripts โ€” required

Right-click the Tampermonkey toolbar icon โ†’ Manage extension โ†’ turn on Allow User Scripts. On Chrome 138+, an installed/enabled script can silently do nothing until this is enabled. If that toggle is unavailable, open chrome://extensions and enable Developer mode. Also set Tampermonkeyโ€™s site access to On all sites or allow x.com.

Tampermonkeyโ€™s official permission instructions โ†—

3. Install or update the collector

Open collector.user.js and approve Install/Update. The current script version is 1.1.0.

4. Reload X after installation

Click the ๐• toolbar button to open @I_Am_The_ICT Posts & replies, log in normally, then perform a hard reload with Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (macOS). A userscript is not injected retroactively into a tab that was already open before installation.

5. Verify the floating panel

A dark ๐• ICT Collector panel must appear at the bottom-right of the X page. If it does not, click Tampermonkey and run Show / reopen ICT Collector panel. In DevTools Console, a successful injection also logs [daggerok X Collector] userscript v1.1.0 loaded.

6. Collect and transfer

Press Start + Auto for slow assisted scrolling, or Start Manual and scroll yourself. Keep the tab visible. When finished, press Copy New JSON, return here, and press the purple ๐Ÿ“‹ toolbar button. You can alternatively download JSON and use the ๐Ÿ“„ import dialog.

What is collected: only tweet cards rendered in the visible X pageโ€”post ID/URL/time/text, author, visible reply/repost context, visible metrics, and media URLs. Classification is heuristic because the web page exposes less metadata than an API.
Panel still missing? Check these in order
  1. Tampermonkeyโ€™s global status says Enabled.
  2. The collectorโ€™s own toggle is green.
  3. Allow User Scripts is enabled in Chromeโ€™s Tampermonkey extension details.
  4. Tampermonkey site access permits https://x.com/*.
  5. You installed/updated collector version 1.1.0.
  6. You hard-reloaded the X tab after installation.
  7. Try the Tampermonkey command Show / reopen ICT Collector panel.
Important: Xโ€™s Terms prohibit scraping without express permission. Assisted scrolling can also trigger anti-automation limits. Use conservative settings, stop if X warns or rate-limits you, and proceed only if you accept the account/Terms risk.
โœ“ No paid X data API and no proxy

Collection happens locally in the already logged-in X tab. The dashboard receives only the JSON you explicitly copy or import. Google Sheets authentication remains separate and uses Googleโ€™s OAuth popup.

Google Sheets Sync (Cross-device)
๐Ÿ“‹ Google Sheets Setup (per-channel tabs)
1. Create or select a Google Cloud project

Open console.cloud.google.com. Create a project (or select one), then open APIs & Services โ†’ Library, find Google Sheets API, and click Enable.

2. Configure the OAuth consent screen

Open Google Auth Platform โ†’ Branding / Audience. Choose External for a personal Gmail account, complete the required app fields, keep the app in Testing, and add your Google email under Test users. Add the scopes for Google Sheets, openid, email, and profile if Google asks.

3. Create the Web OAuth Client ID

Open APIs & Services โ†’ Credentials โ†’ Create credentials โ†’ OAuth client ID. Select Web application and add these Authorized JavaScript origins:

  • https://daggerok.github.io
  • http://localhost (only for local testing)

Copy the Client ID ending in .apps.googleusercontent.com. No client secret is used by this browser-only app.

4. Connect a spreadsheet

Paste the Client ID below. Either paste an existing Google Spreadsheet URL/ID and choose Attach / Ensure Tabs, or choose Create new Spreadsheet. Allow the requested permissions in Googleโ€™s popup.

5. Use per-handle tabs

One spreadsheet stores every tracked X account in a separate tab named TW-@handle. Statuses and notes sync after you connect. Keep the sheet private unless you intentionally want to share it.

Security: Only the public OAuth Client ID and Spreadsheet ID are kept in localStorage. Googleโ€™s access token is held in memory and disappears when the page closes.
Not connected to Google Sheets.
One spreadsheet holds tabs for all tracked X accounts.
Current handle tab (auto): TW-@I_Am_The_ICT

Install the collector, capture posts on X, then paste its JSON here.

The default profile is @I_Am_The_ICT. Imported posts cache locally and can sync to a per-handle Google Sheets tab.