discoprint
CLI that classifies an artist's discography by theme, mood and lyrical complexity with Jev and shows a terminal dashboard.
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
| Type | Question | Answers |
|---|---|---|
| Choice | What is this song's main theme?(inferred) | — |
| Choice | What is this song's mood?(inferred) | — |
| Score | How complex are the lyrics?(inferred) | — |
How it works
- Resolve the artist and fetch the discography
- Classify each song with Jev
- Cache results locally
- 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.
ProjectprototypeTypeScriptMinimal FastAPI and React workbench where Jev picks metadata values such as genre for local audio files and writes them back.
ProjectprototypePythonPrivacy-first personal knowledge management system, listed as integrating Jev for document classification and tag routing.
PluginproductionTypeScriptCalibre plugin that asks Jev yes/no questions to suggest genre and subject tags for books, with per-tag thresholds and review.
PluginbetaPythonGoogle Apps Script Gmail classifier that applies your own plain-English labels with Jev and archives only high-confidence unwanted mail.
ServicebetaJavaScriptPi codemode tool that classifies whole project files with caller-defined Jev questions, returning paths and typed answers, not source.
AppbetaTypeScript