Main window

The main window is split into two halves, each with its own set of tabs. The left half is about chatters — the people in the chat. The right half is about the chat as a whole — charts, breakdowns, and channel info.

The main window at a glance.

The header strip

Centred above the metric strip, a thin header line identifies the current session:

[platform logo]  {Streamer name}  ·  {source file name}

For example, a Twitch capture of Streamer imported from preview_chat.txt shows the Twitch logo, the streamer name, a dot separator, and the filename. Each piece appears only when known:

The Overview header strip showing the imported log details.

Five stat tiles run along the top of the window and stay visible no matter which tab you're on:

StatWhat it means
CHATTERSDistinct chatters who met the import dialog's Minimum messages threshold. The small ≥N msgs subtitle is the threshold itself.
MESSAGESTotal messages, including emote-only ones (unless you discarded them at import). The N/hr subtitle is the average rate across the session.
DURATIONWall-clock time from first message to last (hh:mm:ss). The line underneath shows either the clock range (06:30 PM – 08:31 PM) for log/CSV imports or the VOD offset for VOD imports.
PEAK MINThe busiest one-minute window of the stream — {N} min is the offset, the ({M} msgs) subtitle is the message count for that minute.
AVG LENGTHAverage characters per message (excluding command messages). A quick proxy for conversational vs. hype chat.

Left half — chatter list

A list of every chatter who participated. Each row shows a single Chatter column in the format Username [messages] (share%) — for example StreamerBot [423] (15.2%). Rows are painted with a thin coloured left border that matches each chatter's assigned colour throughout the app. Hover any row for a tooltip that also shows their engagement tier.

Click any row to select that chatter and populate the Chatter Details tab on the right.

The header bar has a 🔍 button that toggles a search and filter panel:

Usernames are matched case-insensitively

John_Doe and john_doe are treated as the same chatter throughout the app. This matches how Twitch and Kick handle usernames and means a viewer who later changes the casing of their display name still appears as a single chatter in your stats.

Right half — chat overview

The right half holds a tab strip. The first three tabs are always present; the rest appear only when there's relevant data:

TabAlways shown?Shows
SummaryAlwaysSix sub-tabs: Overview, Chatter Share, Streamer Tags, Emote Usage, Top Words, Mention Network
Chatter DetailsAlwaysPer-chatter breakdown — see Chatter Details
EngagementAlwaysFour sub-tabs: Chatter Tiers, Chat Engagement, Chatter Velocity, Message Velocity
Channel DetailsIf streamer knownAvatar, follower count, account age, last broadcast
HighlightsIf detectedPeak-activity moments
EventsIf events presentRaids, subs, follows, and other markers
SearchAlwaysFull-log message search across all chatters

Each chart has its own dedicated page under Stats & Analysis.

The menu bar

Four top-level menus:

Right-click context menus

Right-click any message in any grid (Messages, Duplicates, Questions, Streamer Tags, Highlights, Events, Search) for quick actions:

Message grids support multi-select — hold Ctrl to toggle individual rows or Shift to select a range. When more than one row is selected, Copy to Clipboard copies every selected row (one per line, in display order), and the single-timestamp actions Copy Twitch Timestamp Link and Open in Browser are disabled.

The right click context menu.

Especially useful for editors compiling a shot-list — right-click a highlight, paste a timestamped link into Discord, and your editor jumps straight to the moment.

Grid interactions

A few affordances that apply across every grid in the app:


Next: Chatter Details →