Getting started with iFixedX

This tutorial walks through running iFixedX locally and loading your first For You timeline with Live X API (recommended).

What you need

  • Node.js 20+ and npm

  • A clone of the iFixedX repo (/srv/ifixedx on the dev box)

  • For Live timelines: X developer app (OAuth) — see Environment variables

  • For Pipetrix background fills: XAI_API_KEY on the API server (optional but recommended)

1. Configure the API server

cp .env.example .env
# Edit .env: TWITTER_CLIENT_ID, TWITTER_CLIENT_SECRET, callback URL, optional XAI_API_KEY

See Environment variables for every variable.

2. Start dev stack

From the repo root:

npm install
npm run dev
  • Client: Vite on port 5173 (proxies /api to the server)

  • API: Express on port 3847

Open http://127.0.0.1:5173/ (or your deployed host).

3. Enter the app and sign in

  1. Continue past the landing screen (or sign in with X).

  2. Open Home → set Timeline source to Live X API (sign-in) — recommended.

  3. Confirm the URL uses ?home=live (not home=xai unless you are testing Grok-only refresh).

4. Load and verify the pipeline

  1. Click Refresh For You timeline once (or let auto-bootstrap run on an empty DB).

  2. You should see a single-column post list (classic layout), not old two-column masonry tiles.

  3. Open Ranking lab — confirm Refresh source matches Home.

  4. Optional: enable topic categories under More → Category settings so The Pipetrix background ticks run.

5. Confirm local persistence

  1. Reload the page — posts should rehydrate from ifixedx_local.posts without clicking Load again.

  2. To reset: Ranking lab → Wipe offline IndexedDB & reload.

Next steps