Skip to content

Viz apps in Gleam: second brain graph and more, from the repo's own data #64

Open

Description

@h0ffmann

Ideas for growing the Gleam codebase with real visualisation apps, built from data the repository already has. The thinkers' timeline (#63) is the pattern: tools/fabric <cmd> draws a deterministic SVG at build time, --check runs in just check, and the site inlines it with Lustre where it needs interaction.

The pattern each one follows

  • Data from the repo, never typed into site/src: parse the Markdown/TSV that already exists, through tools/fabric content.
  • Pure Gleam, no JS chart library: SVG strings built in tools/src/fabric/<name>.gleam, with unit tests for the layout logic, like timeline_test.gleam.
  • Scoped styling: classes prefixed (tl- style), rules under one #id, the site's tokens, light and dark. The book's colours, picasso's line manner.
  • Accessible: focusable marks with aria-label, keyboard first, hover states that also work on focus and tap, a text alternative.
  • A skill per app (like ouro-timeline), and the PR shows a screenshot of the last iteration.

Ideas, roughly by value

  1. Second brain graph (notes/). The notes as nodes and the [[links]] as edges, coloured by status (verified, partial, open-question, approved), with Ouroboric notes in orange. Click a node to open the note. Hover shows its title and links. notes_check.gleam already parses every link. A layered or radial layout can be computed at build time, with no force simulation in the browser.
  2. Who is read where (500AUTHORS.md, 50THINKERS.md, refs.bib). A bipartite map from authors to the papers, notes and essays that cite them. It would show which of the 50 thinkers still have nothing read.
  3. The book's progress (50THINKERS.md). 50 slots of two pages each, filled by status (open, proposed, chosen, written) and grouped by area. One glance shows how far the 100 pages are.
  4. From notes to essays (DERIVATION.md, essays/). A tree from fleeting to permanent notes to the essay, with each step's status.
  5. Citation scores over time (CITATION_SCORES.md, git history). Small multiples or sparklines per README of scripts/citation-score.sh, coloured by the verdict bands.
  6. A works reader (works/, from ouro-get). The copied texts with line numbers, with marks where a note or essay quotes a line, and a link back to the note.
  7. Timeline, next layer (timeline/). Put each thinker's works on their life line, from works/index.md and BOOKS.md, and link each life to its notes.
  8. Releases and DOIs (RELEASES.md, .zenodo.json). The versions and DOIs on one line.
  9. The Ouroboric loop (OUROBORIC.md). The factory loop and the REA pattern (Read, Evaluate, Adopt) as one diagram, kept in step with the digest.

Done when

  • Each idea we keep has its own issue with a scope, the data it reads, and a sketch.
  • The first one (suggested: second brain graph) is on the site, with its --check in just check.
  • A short site/ or tools/ doc names the shared pattern above, so each new viz follows it.

🤖 Generated with Claude Code

Activity

  1. added
    type/goalA tracking issue: an outcome with a "Done when" list, closed by many PRs
    area/notesnotes/: the Zettelkasten and SMART_NOTE_POLICY.md
    area/sitesite/: the Gleam page and GitHub Pages
    area/toolingscripts/, tools/, justfile, flake.nix, format/
    priority/mediumNext, when no high item is open
    on Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/notesnotes/: the Zettelkasten and SMART_NOTE_POLICY.mdarea/sitesite/: the Gleam page and GitHub Pagesarea/toolingscripts/, tools/, justfile, flake.nix, format/priority/mediumNext, when no high item is openstatus/triageNot examined yettype/goalA tracking issue: an outcome with a "Done when" list, closed by many PRs

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions