Skip to content

discoprint

CLI that classifies an artist's discography by theme, mood and lyrical complexity with Jev and shows a terminal dashboard.

Appprototype

Overview

discoprint takes an artist's name, fetches their discography, and classifies each song with Jev by theme, mood and lyrical complexity, then renders the results as a colourful terminal dashboard. It can run via npx without installing.

It is a light, fun example of using a decision model for batch labelling of creative content. If no TypeSafe key is set, it prompts for one, uses it for that run only and never writes it to disk. Flags control song limits, inclusion of singles and live albums, re-classification and verbose progress; cached classifications let the dashboard be re-rendered without network calls. By default it classifies albums and EPs only, with flags to include singles, live albums and compilations, limit the number of songs, force re-classification or print per-step progress.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat is this song's main theme?(inferred)—
ChoiceWhat is this song's mood?(inferred)—
ScoreHow complex are the lyrics?(inferred)—

How it works

  1. Resolve the artist and fetch the discography
  2. Classify each song with Jev
  3. Cache results locally
  4. Render the terminal dashboard

Strengths

  • Cached results allow offline re-rendering
  • Key is never stored on disk
  • Runs via npx

Caveats

  • Novelty tool
  • Requires a TypeSafe key for classification

Getting started

npx discoprint "Bon Jovi" (prompts for TYPESAFE_API_KEY if unset).

At a glance

Type
App
Status
prototype
Language
TypeScript
Runtime
Node CLI
Has code
yes

Use cases and integrations

How curated lists describe it

  • Classify an artist's discography by theme, mood, and lyrical complexity with Jev (TypeSafe AI), and view it as a colorful terminal dashboard.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev classify?

Each song's theme, mood and lyrical complexity.

Is my key saved?

No, an interactively entered key is used for that run only.

Can I re-view results offline?

Yes, discoprint visualize re-renders cached data without network calls.

Related projects

  • Web app that sorts large playlists by each song's main singing language using Jev, in batches of 100 with four in parallel.

    ProjectprototypeTypeScript
  • Minimal FastAPI and React workbench where Jev picks metadata values such as genre for local audio files and writes them back.

    ProjectprototypePython
  • Privacy-first personal knowledge management system, listed as integrating Jev for document classification and tag routing.

    PluginproductionTypeScript
  • Calibre plugin that asks Jev yes/no questions to suggest genre and subject tags for books, with per-tag thresholds and review.

    PluginbetaPython
  • Google Apps Script Gmail classifier that applies your own plain-English labels with Jev and archives only high-confidence unwanted mail.

    ServicebetaJavaScript
  • Pi codemode tool that classifies whole project files with caller-defined Jev questions, returning paths and typed answers, not source.

    AppbetaTypeScript