Organizing

A hundred games get browsed; a thousand get organized. The browser answers two separate questions, and it pays to keep them apart: where am I? — that’s the sidebar — and what am I narrowing down? — that’s the toolbar.

One place at a time

The sidebar lists places. Only one is active: clicking a place replaces the previous one, exactly as in Finder or Mail. Two filing systems can never quietly intersect again.

SectionPlaces
All games — your local library and the feed from your online accounts, merged
Online games — the feed of the accounts ticked in the Accounts menu, only
LibraryMy library (everything saved), Without folder, then one place per folder
Tagsone place per tag
Saved viewsone place per view

The section heading states the scope: a folder and a tag file saved games, so they only ever show local ones. It’s written down — nothing disappears without an explanation any more.

One more place shows up at the top of the list now and then: Position, the result of a position search. It is temporary — it exists only while the search is armed, and clears away with it.

Folders and tags

Folders file things by hand — “March tournament”, “Annotated games”. A game moves into one by drag and drop or through the context menu, and Without folder gathers everything not yet filed anywhere.

Tags, colored, mark across the board: the same game can carry “review later” and “miniature”. You create and color them on the fly from a game’s context menu. To assign one, two gestures: the context menu, or drag the games onto the tag in the sidebar — a whole selection at once, with a confirmation at the bottom of the window.

Drag and drop also works for online games: dropping a game from the online feed onto a tag or a folder first adds it to My games, then files it — and if it’s already in the library, the tag applies to the existing one, never creating a duplicate. Spot, drag, filed.

The Tags column of the table is the visual cue: each game shows the colored dots of its tags — beyond three, a “+N” sums up the rest, and the detail appears on hover.

Saved views

A saved view is a saved search that fills itself, continuously, according to its criteria — opening (ECO codes), period, result, time control, opponent, required tags, analyzed games only, color played… A few telling examples:

ViewCriteria
”My Sicilian losses”ECO B20–B99 · result: loss · color: White
”This month’s blitz”time control: blitz · period: last 30 days
”To show the coach”tag: coach · analyzed only

Every newly imported game that matches the criteria appears there without a single gesture.

A view is used like any other place: you click it, you see its games. Its criteria are not copied into the toolbar — instead, a discreet line above the table carries the view’s name and spells its criteria out (“Caro-Kann · White · Blitz”), with an Edit… button that opens the full editor. A line to read, not a panel to dismiss.

Creating one from your filters

The most direct way starts from what’s already in front of you. Filter the library by hand — pick a month, restrict time controls or results, type in the search — then click Save this view in the toolbar.

A small popover opens, with a name already suggested from your filters: confirm, and the view appears in the sidebar. Nothing more. To go beyond what the toolbar exposes — ECO codes, opponent, color played — Edit the criteria… opens the full editor, on request only.

The toolbar filters

The filters narrow down whichever place you’re in. Switching places leaves them untouched.

ControlWhat it sets
Month”All months”, or one archive loaded in a single block
FiltersTime controls (bullet, blitz, rapid, classical) · results (won, lost, drawn) · Analysis: all, analyzed, not analyzed · not imported only · in analysis or queued
SearchLive, by player or by opening

The button carries a badge — Filters (3) — as soon as a filter is set: the reminder that prevents inexplicably empty lists.

Sorting has two entrances, whichever you prefer: clicking the column headers, as in any macOS table, or the Sort section of the View menu — Recently added, Game date, Player (A→Z). The same menu handles the columns shown and the row density.

When the list is empty

An empty list is never a mystery: the screen names the cause and offers the matching way out.

The screen saysWhat it offers
No active online accountConnect an account, or look up a username for one session
This folder is empty · This tag isn’t on any gameThe gesture that fixes it — drag games from the list onto the folder or the tag
No game loadedRefresh, or Load more to go further back in time
No games match this viewEdit the criteria…, to loosen a view that’s too strict
No games matchReset filters
Empty libraryImport a PGN, or connect an account

One detail that matters: Reset filters doesn’t move you. You stay exactly where you are, and you finally see what the place really holds. And if the list was narrowed from the statistics, a separate button — Clear the Statistics filter — lifts that particular constraint.

Training on a folder’s opening

A folder of games is more than storage: it’s a corpus. Right-click a folder — or a saved view — → Train on the opening merges the openings of all its games into a single tree, and starts a regular training session on it: at each position, find the move; the corpus’s most played move is the expected answer, another corpus move counts as an alternative (amber), a move outside the corpus as a miss. After each correct answer, the move’s statistics appear — “273 games, 61% for White”.

Two rules shape the tree: the merge stops around move ten, and a move seen only once is discarded — that’s the end of theory; an anecdote is not opening knowledge.

On 1,000 games by a master, it becomes a training mode of its own: answer like they did. And a saved view acts as the filter — “player: Bacrot, colour: Black” gives you a session on their Black repertoire only.