Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 2070Tools index

Previous survey · No. 2065 ·

Pricing
Open Source
Type
TOOL
Builder
badlogic
GitHub
7 stars
Date

About

Raspberry Pi extension for X (Twitter) broadcast live chat.

What it does

Connect it to a public X broadcast URL or identifier. It retrieves the existing conversation, then listens for new messages over a WebSocket. Recent posts appear in a compact terminal widget, while a keyboard-controlled overlay exposes the complete loaded history. Profile handles become terminal hyperlinks.

Why it's ranked here

This is a focused, useful companion for watching broadcast reactions without leaving a Pi session. History loading, live updates, duplicate filtering and reconnection form a coherent workflow. The verdict is tempered by reliance on undocumented X and Periscope endpoints, plus development configuration tied to the author's machine.

What's good

It needs no X login for public broadcasts. History pages are deduplicated and sorted before display, while live messages receive the same duplicate protection. Disconnects trigger fresh credentials and reconnection attempts. The overlay preserves bottom-following behavior, supports several navigation keys and wraps ANSI-styled text correctly.

Tradeoffs

The integration depends on a bundled web bearer token and unofficial service endpoints, so upstream changes could break access. It only handles public broadcasts and consumes chat rather than posting messages. State stays in memory and is cleared on session lifecycle events. Type checking requires hard-coded aliases to a local Pi checkout.

How to use it well

Use it when a developer already works inside Pi and wants broadcast reactions beside the editor, or needs a quick terminal transcript from a replay. Start with the compact widget, then open the overlay for context. It does not replace chat participation, moderation, durable archiving or private-broadcast access.

Technical notes+

index.ts registers the two Pi commands, owns an abortable WebSocket loop and refreshes bootstrap credentials after connection failures. twitter-chat-api.ts activates an X guest token, resolves broadcast metadata, exchanges the chat token through the Periscope service, paginates history up to 200 pages and parses nested kind-1 payloads. state.ts deduplicates by UUID and sorts chronologically. widget.ts renders three messages; overlay.ts supplies the scrollable log; links.ts emits OSC 8 profile links. twitter-chat-dump.ts provides the standalone history command. twitter-chat-ws-test.ts and twitter-chat-poll-test.ts are manual diagnostic programs. tsconfig.json contains absolute aliases into the author's local pi-mono checkout.

Observed

License
MIT
Primary language
TypeScript
Package shape
Private ECMAScript module with Pi packages declared as peer dependencies
Install surface
Pi can run or permanently install the extension directly from its GitHub URL
Interfaces
Two Pi terminal commands plus a standalone npm history-dump command
Platform support
Public X live broadcasts and replays, without an X login
Testing structure
Two manual diagnostic scripts are present, but package.json defines no test script

Read from README.md, package.json, index.ts, links.ts, state.ts, types.ts, widget.ts, overlay.ts, twitter-chat-api.ts, twitter-chat-dump.ts, twitter-chat-ws-test.ts, twitter-chat-poll-test.ts, tsconfig.json.

What it can do

  • Stream live chat messages to Twitter/X

    Chat messages from usersLive Twitter/X broadcast stream

  • Connect Raspberry Pi to Twitter/X platform

    Raspberry Pi device and Twitter/X API credentialsActive connection to Twitter/X services

  • Capture real-time chat data

    Live chat session or messagesFormatted chat data for broadcasting

  • Broadcast chat content as live tweets

    Chat messages and contentLive tweet stream on Twitter/X

  • Control Twitter broadcast from Raspberry Pi

    User commands and chat dataManaged Twitter/X broadcast session

Tags

twitterraspberry-pilive-chatbroadcast

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.