Free ¡ Open Source ¡ No Sign-up

Read replies
without leaving
your timeline.

Hover any post on X and its replies appear instantly in the sidebar. No tab switching, no clicks, no loading screens.

Install for your browser

Loaded as a temporary extension · How it works ↓

x.com/home
▸ HOVERING
đŸĻŠ
Mia Chen @miachen
Hot take: tabs should be banned. Everything should open in a sidebar. Change my mind.
đŸ’Ŧ 142🔁 38â¤ī¸ 910
đŸģ
Dev Patel @devpatel
Just shipped a feature I've been putting off for 3 months. Feels incredible.
đŸ’Ŧ 24â¤ī¸ 204
đŸŒŋ
Lena H. @lena_builds
Why does dark mode always look better but feel worse at 2am? genuine question
đŸ’Ŧ 57â¤ī¸ 441
đŸ’Ŧ Replies
🐧
Kai R.
@kairobot
Agreed. Sidebars are the future and everyone's sleeping on them.
â™Ĩ 84
🌀
Sara M.
@saramagic
Counter-take: vertical tabs in Firefox already do this. The future is now 😌
â™Ĩ 31
⚡
Tom B.
@tombolt
Only if the sidebar has its own sidebar. Sidebarception.
â™Ĩ 12
What it does
đŸ–ąī¸

Hover to load

Hover over any post and replies appear in the sidebar. No clicks required.

đŸ§ĩ

Thread-aware

Replies are grouped into threads so conversations flow naturally.

â¤ī¸

Like from sidebar

Like any reply directly from the panel with optimistic UI updates.

â†Šī¸

Nested replies

Expand sub-replies inline to go deeper into any thread.

🔒

Your session only

Uses your existing X login. No tokens stored or sent anywhere.

⚡

Smart cache

Already-fetched replies are cached. Re-hovering is instant.

How it works
01

Hover a tweet on X

The extension watches for mouseover events on tweet cards. After a 400ms debounce, it reads the tweet ID from the timestamp link.

02

Fetches replies via X's GraphQL API

Calls TweetDetail using your existing browser session — no extra accounts or API keys.

GET /i/api/graphql/{queryId}/TweetDetail
03

Parses the response into threads

The raw JSON is traversed, deduplicated, and grouped into conversation threads — promoted content skipped.

04

Renders into X's own sidebar

The replies panel is injected into [data-testid="sidebarColumn"] — feels native, not bolted-on.