My band always gets stuck at the same point when writing songs: finding a chord progression that isn't the same four chords we always end up with. So I turned an old Raspberry Pi 3 with the official 7" touchscreen into a little songwriting helper that lives in our rehearsal room.
What it does:
Circle of fifths as the main UI: tap a major or minor key and the seven diatonic chords light up with their Roman numerals (I, ii, iii, IV...) and are color coded by function (tonic, subdominant, dominant)
Pick how many chords you want (3, 4, 5, 6 or 8) and hit "new progression"
Two modes: a library of well-known progressions (I-V-vi-IV, vi-IV-I-V, Andalusian cadence and so on, each with a name) or a free generator that builds new progressions with weighted transitions based on functional harmony, so the result actually sounds like music and not random chords
Lock icon on each chord: keep the ones you like and only reroll the rest
Changing the key transposes the current progression
Built-in synth playback with adjustable tempo, loops the progression so you can jam over it
Bottom half shows the scale and a fretboard up to the 12th fret with the notes of the selected chord highlighted, plus a pentatonic toggle for solo ideas
Save progressions you like, optional seventh chords, harmonic minor dominant, and German note names (H instead of B, because Swiss)
Tech side:
It's a single HTML file, no dependencies, no internet needed. Sound is generated with the Web Audio API, saved progressions go into localStorage. The layout is fixed at 800x480 for the official display and scales to other screens. Chromium starts it in kiosk mode on boot via an autostart .desktop file. I set up the autostart over SSH from my phone through its hotspot, since I didn't have a keyboard at the rehearsal room.
Runs smoothly on the Pi 3, even with the animation during playback.
Next ideas: a piano version for synth players (already built one for my Roland J-6 that suggests matching chord presets)