TurboStream Terminal UI

January 29, 2026 ยท View on GitHub

License: MPL 2.0

Keyboard-driven terminal interface for real-time data streaming with AI

A beautiful terminal UI built with Bubble Tea for monitoring high-velocity data streams and analyzing them with LLMs in real-time.


Quick Start Video

๐Ÿ“น Coming Soon: Watch our TUI demo and setup guide on YouTube


Get Started in 3 Steps

1. Start the Backend

The TUI connects to the TurboStream backend. Start it first:

# Clone and run the backend
git clone https://github.com/turboline-ai/turbostream.git
cd turbostream
cp .env.local.example .env.local
# Edit .env.local with your MongoDB and LLM credentials
go run ./cmd/server

Backend runs at http://localhost:7210 by default.

2. Clone & Run the TUI

git clone https://github.com/turboline-ai/turbostream-tui.git
cd turbostream-tui
go run .

3. Login & Start Monitoring

Enter your credentials (from backend user registration) and start streaming! ๐Ÿš€


Features

Real-Time Streaming

  • WebSocket connection with automatic reconnection
  • Token-by-token LLM response streaming
  • Live feed data monitoring
  • Sub-second latency

Observability Dashboard

Press d to toggle the dashboard:

๐Ÿ“น Coming Soon: Watch the dashboard tour video

Panels:

  • Stream Health - Connection status, throughput, reconnections
  • LLM Context - Memory usage, context size, eviction stats
  • Payload Stats - Size distribution, averages, histograms
  • LLM Performance - Token counts, TTFT, generation time

Visualization:

  • Sparkline charts for real-time metric trends
  • 60-second rolling windows
  • Color-coded indicators (green = good, red = issues)

For detailed metric definitions: DASHBOARD_METRICS_REVIEW.md

Feed Management

  • Browse available feeds
  • Subscribe/unsubscribe in real-time
  • Monitor multiple feeds simultaneously
  • Custom AI prompts per feed

Key Bindings

KeyAction
EnterSubmit / Execute action
dToggle dashboard view
qQuit application
โ†‘/โ†“Navigate feed list
cReconnect WebSocket
TabCycle through inputs
EscGo back / Cancel

๐Ÿ“น Coming Soon: Watch the keyboard shortcuts tutorial


Configuration

Environment Variables

VariableDescriptionDefault
TURBOSTREAM_BACKEND_URLBackend REST API URLhttp://localhost:7210
TURBOSTREAM_WEBSOCKET_URLWebSocket endpointws://localhost:7210/ws
TURBOSTREAM_TOKENPre-configured JWT tokenNone
TURBOSTREAM_EMAILPre-fill login emailNone

Example:

export TURBOSTREAM_BACKEND_URL=https://your-backend.railway.app
export TURBOSTREAM_WEBSOCKET_URL=wss://your-backend.railway.app/ws
go run .

Screenshots

Main Feed View

Feed View

Observability Dashboard

๐Ÿ“น Coming Soon: Dashboard walkthrough video


Development

Prerequisites

  • Go 1.24+
  • Running TurboStream backend

Build from Source

# Clone
git clone https://github.com/turboline-ai/turbostream-tui.git
cd turbostream-tui

# Install dependencies
go mod download

# Build
go build -o turbostream-tui .

# Run
./turbostream-tui

Project Structure

turbostream-tui/
โ”œโ”€โ”€ main.go              # Main application entry
โ”œโ”€โ”€ ws.go                # WebSocket handling
โ”œโ”€โ”€ pkg/
โ”‚   โ””โ”€โ”€ api/             # Backend API client
โ””โ”€โ”€ README.md

Running Tests

go test ./...

Troubleshooting

Can't Connect to Backend

Error: Connection refused or Failed to connect

Fix:

  1. Check backend is running: curl http://localhost:7210/health
  2. Verify TURBOSTREAM_BACKEND_URL is correct
  3. Check firewall settings

WebSocket Disconnects

Error: WebSocket connection closed

Fix:

  • Press c to reconnect manually
  • Check backend logs for errors
  • Verify network stability

Authentication Failed

Error: Invalid token or Auth failed

Fix:

  1. Register a user on the backend first
  2. Use correct email/password
  3. Check JWT token hasn't expired (7 days)

Need more help? GitHub Issues


Resources


Contributing

We welcome contributions!

Quick Start:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes
  4. Run tests: go test ./...
  5. Format code: go fmt ./...
  6. Submit a pull request

Code Style:

  • Use gofmt for formatting
  • Follow existing patterns
  • Keep functions focused and documented
  • Test your changes with the backend

License

Licensed under the Mozilla Public License 2.0 (MPL-2.0).

See LICENSE for details.


Built with Bubble Tea ๐Ÿซง

Made with โค๏ธ by Turboline AI

Copyright 2024-2025 Turboline AI. All rights reserved.