Making 100 Songs Later

“Between March and October 2026 I made about seven hundred songs with AI. This page is the story of turning a hundred of them into a printed book I can hold, read and scribble on, so I can choose the fifty worth making better.”

36 screenshotsAgents: SKILL.mdPrint this page for a paper copy.

Why a printed book?

I started making songs in late February with Google's Lyria model in Gemini. The very first one was a song about my kids. Within days I had moved to Suno, and from March to October I kept going: kitchen horror-comedies, Tamil street slang set to classical forms, dawn ragas about hostel laundry, birdsong remixes, village funeral drums, konnakol. By October there were about seven hundred recordings, including repeats, alternate takes and revisions.

A hundred songs felt like a milestone worth marking. I wanted something I could hold: a book I can sit with, lyrics in my hands while the audio plays, a pen in the margin. It is a commemorative longer cut, not a release. The plan is to read it, listen again, and choose roughly fifty songs to improve into a tighter compilation. The book is the working copy for that next step.

Three things mattered from the start:

The ten days at a glance

WhenWhat happened
Aug 16–22Claude backs up liked songs 1–343 from Suno into numbered folders, then switches to Suno's own data feed for clean metadata.
Aug 30–Sep 4Tharai Local Studio goes online: albums, lyrics, a per-song link for every track, then the full 343-song archive.
Oct 23Inventory grows to 716 liked songs. A first book proposal and a Top 50 list are drafted.
Oct 24, 1 amOne curation prompt goes to five agents: Claude, Codex (ChatGPT), Gemini, Grok and Muse Spark.
Oct 24Codex and Gemini each compare all five. Grok writes a notebook reading Gemini's pass. Gemini's 8-album master draft becomes the book. Claude downloads the priority songs within Suno's monthly limit.
Oct 24–25Codex builds a LaTeX songbook workbench: 28 trial builds in one morning.
Oct 25Gemini amends the draft. Tharai Local Studio v1.5 and v1.6 add 44 songs and the book's 100-song playlist.
Oct 26–27LaTeX is set aside for an HTML edition with prompt-based editing. ChatGPT builds three editor versions; the last one stalls.
Oct 27–28Claude reviews the handoff, rebuilds the workbench in a new folder, finishes both editions, the reading view and the PDFs, and publishes them (Tharai Local Studio v1.7).

Phase 1: Getting the songs out

1. Backing up the liked songs

Everything starts with the songs living somewhere I control. Suno keeps them online; I wanted each one on my own Mac. Claude, working in my Chrome browser with access to the Mac's files, made one numbered folder per song with three things inside:

The first sessions read the page the way a person would, clicking and copying. Midway, Claude found a much better way: asking Suno's own data feed for each song from inside my logged-in browser. One request returned the title, style, full lyrics, date, model and the large cover image, with nothing truncated. That one change made the metadata reliable enough to print later.

A spreadsheet tracks every song by number. Folder numbers are permanent, so the same number means the same song everywhere: in the folder name, on the website, in the book's index and in its QR codes. Two lessons stuck. Compare songs by their Suno ID, never by title, because one append once re-added 37 songs that were already captured. And write a handoff document, because each chat session starts with no memory of the last; the backup workflow doc let a fresh agent resume exactly where the previous one stopped.

The sixty-a-month limit

By October Suno allowed only about sixty downloads a month. 343 songs were already backed up; the inventory listed 716. So downloading became a priority list rather than a bulk job: a Top 50, then the songs the curators chose. Some chosen songs are still not downloaded. Instead of leaving them out, the book gives them their permanent number now (see section 2).

2. Tharai Local Studio, the listening room

Tharai Local Studio is my own small website for listening: albums, lyrics with line numbers, a mini player, and a direct link for every song in the form ?song=001. It sits behind an access word and asks search engines not to index it. Version 1.0 had 109 songs in four albums. By version 1.5 on October 25 it held 387 songs across 22 playlists, with the new tracks encoded on the Mac and checked before publishing. Version 1.6 added a playlist of exactly the book's hundred songs under its eight album headings, and version 1.7 put the book itself online.

The front door of the listening room on a phone. It is a courtesy gate for a private archive, not real security.

Because of the download limit, 11 of the book's hundred songs are not on the site yet. Every one of them still has its Tharai Local Studio link and QR code printed in the book, using its permanent song number. When the audio is downloaded and added later, the printed code starts working with nothing reprinted. The book's data marks these as reserved, so nobody mistakes them for broken links in the meantime. Each page's Suno code works today regardless.

Phase 2: Choosing the hundred

3. One prompt, five curators

Choosing a hundred from seven hundred is the hardest part, and I didn't want one opinion. Claude wrote a single curation prompt, I attached the 716-song catalogue, and at about 1 am on October 24 I sent the same prompt to five agents: Claude, Codex (ChatGPT), Gemini 4 Argon, Grok and Muse Spark. The brief, in short:

Propose exactly 100 songs, grouped into 8 to 16 albums you name yourself. Choose from the catalogue only; don't invent songs, lyrics or facts. Aim for range and a clear arc, not simply the most played. Pick the best take when a song has several. Write the liner notes modestly, in my voice. Then tell me what you cut, the songs you are least sure about, and the one thing that surprised you.

Each agent returned a hundred songs, a one-page summary and a playlist I could play straight through.

Gemini 4 Argon: 10 albums, from the March kitchen songs to the konnakol experiments.

Codex (ChatGPT): 10 albums.

Claude: 16 albums, the most finely divided.

Grok: 12 albums.

Muse Spark: 12 albums.

1 / 5Five one-page curations from the same prompt

4. Gemini's book wins

Next I asked two of the agents to compare all five. The counts were sobering. Across 500 slots the five chose 283 different songs. Only three songs were picked by everyone: the court poet and royal scholar duet (#067), the Bhairavi voice-and-violin dialogue (#096), and Hermit Thrush Kaatrin Mozhi (#272). Seventeen more had four votes. Codex's comparison advised against crowning any list yet. Gemini's said the group was about 72 percent of the way to a final hundred.

Grok wrote the most useful document of the round: a dated notebook reading Gemini's pass against its own. Two things in it decided the matter for me. First, many disagreements were the same idea in a different take (#33 and #34, the hostel underwear crisis, are one premise), so our tastes overlapped more than the raw counts suggested. Second, Gemini justified each pick with the line from the lyric that proves it. As Grok put it, a reason plus four lines of lyric beats a paragraph of adjectives.

So Gemini's became the book: a studio journal of 100 songs in 8 albums, from The Beginning & Everyday Absurdities to Konnakol, Solkattu & Spoken Fury, with liner notes and a note-to-self opening. On October 25 Gemini also amended it, replacing five instrumental tracks with sung songs from the same sessions, because a lyric book needs lyrics. Everything later builds on that amended draft. The selection itself never changed; only display titles were shortened for the index, and two songs later moved between albums for page rhythm (section 11).

Phase 3: Building it with ChatGPT

5. First mockups

Before the selection was final, I tried a few shapes for the book: an 8×11 "song sketchbook" proposal, Word documents of the hundred songs from a Claude chat, and the spread blueprint that came with Gemini's draft. They helped me decide what I didn't want: portrait pages, two-page spreads per song, and anything that cut lyrics short.

The first proposal (Oct 23): a portrait sketchbook with several songs per spread.

Its intro spread: "Somewhere between a song and a sketch."

The spread blueprint that came with Gemini's master draft: a plan of featured lyric spreads and QR companions.

1 / 3Early shapes for the book

6. The LaTeX attempt

For the real book I started with Codex (ChatGPT's coding agent) and LaTeX, the typesetting system used for academic books. On paper it was the right tool: precise pages, proper fonts, real PDF output. Codex built a local songbook workbench around XeLaTeX with Tamil font checks, a page planner for 10×10 and 12×12 editions, and QR codes for both links. The 10×10 version alone went through 28 trial builds on the morning of October 25, in five colour schemes: saffron, jade, rose, olive and terracotta.

LaTeX build, saffron: The Biscuit Conversation and Dancing Pencil Rebellion.

The Borderless Jukebox album.

Late-night songs.

Birdsong, olive: the lyrebird and the hermit thrush.

Village songs.

1 / 5Five LaTeX review spreads, Oct 25

The pages looked good. Working with them didn't. What went wrong:

After a day of that, I stopped. The overhead of the typesetting system was larger than the book.

7. Switching to HTML and prompts

The new plan was to drop LaTeX and lay the book out as a web page: each page a 10×10 square in the browser, edited by asking for changes in plain language and seeing them right away. A browser already handles Tamil, Bengali and Kannada, wraps long instructions on its own, and can export each page as an image. ChatGPT built this HTML edition on October 26 and 27, and it settled most of the design that the final book still uses:

The HTML workbench: page list on the left, the index and keyword spread in the middle.

Revising the song header on the dark Slang Lab pages.

Bylines and metadata under the artist notes.

Shorter display titles so the index stops wrapping.

1 / 4ChatGPT's HTML edition, Oct 26–27

This was the right decision, and it is the foundation everything after it stands on. Prompt-based editing in a live page beat compile-and-wait.

8. Where it stalled

The trouble started with the editing controls. ChatGPT made three editor versions in a day, each one patched on top of the last. By the evening of October 27 the page carried hundreds of style rules overriding each other, and each fix moved something else. Its own status line read "100 pages need fit review". I wrote a handoff document of what had been agreed and what still had to pass, and went looking for help.

The last ChatGPT editor: three rows of controls across the top and a long page list. The status line says 100 pages need fit review.

The reading view it published as a sample to the website.

1 / 2The editor at the point it stalled

I want to be fair to ChatGPT here. It did a lot: the Tharai Local Studio releases, the LaTeX workbench, the move to HTML and most of the page design. But the last stretch went in circles, and I was at a dead end on the print project, so I moved the work to Claude.

Phase 4: Finishing it with Claude

9. A review, then a clean start

I gave Claude the handoff document and asked for a review. Claude checked it against the actual files and ran the page-turning logic in a simulation, then reported three bugs that failed the document's own checklist:

It also found the handoff pointed at the wrong code files, and that the old style sheet was about 250 rules of patches. When I asked it to take over, the rule was the same one that worked on the podcast project: build beside the old version, never over it. Claude put the earlier fixes back, so ChatGPT's version stayed exactly as it was, and started a new workbench in its own folder that reads the same book data, cover art, QR codes and fonts.

The new workbench. Pages on the left, the spread in the middle, and an inspector on the right with Page, Book and Export tabs. The page list shows each song's printed lyric size.

The same workbench switched to the 5×5 proof. Each edition keeps its own settings.

1 / 2The Claude workbench

The redesign of the controls was mine to ask for: one inspector instead of a toolbar, overrides that visibly belong to the selected page, a reset button beside anything changed, and text overrides kept per edition. Lyrics cannot be edited in it at all.

10. Real print sizes and the 5×5 proof

The biggest change was underneath. Every size became a real print measurement: type in points, margins and QR codes in millimetres, separately for each edition. The 5×5 is a true scaled prototype of the 10×10 rather than a shrunken picture of it. Headers, notes and QR codes keep sensible physical sizes, and the lyrics get what remains.

11. Page rhythm and even albums

In the expanded layout each album opens with a two-page spread: full-page artwork on the left and the introduction on the right. That only works if every album starts on a left page, and that is only true when each album has an even number of songs. Four albums had 13.

I suggested a rule: if an album's artwork would land on a right-hand page, skip the artwork and carry on, so no page is wasted on a blank. Claude built that rule and showed it would cost half the albums their artwork. It also proposed two small moves that fixed the counts: Biriyani Soup (#141), a kitchen disaster, moved from the late-night love songs to close Everyday Absurdities; and Lotus in the Quiet (#007), a whispered meditation, moved from the birdsong album to close Morning Ragas after the sunset raga. Both moves read as natural fits. Now every album is even, all eight artworks land on the left, and the expanded book is exactly 119 pages: two 60-page Chatbooks volumes.

An album spread: artwork on the left facing the introduction and track list.

The song index and keyword guide. Page numbers come from one page map, so they stay right when songs move.

A 5×5 song spread: 14 mm QR codes, lyrics balanced across columns, line numbers in the gutter.

1 / 3Spreads in the finished layout

12. Small fixes that mattered

Language aids

For the Bengali and Kannada songs I can't read the script, so the 5×5 now prints the pronunciation and the English meaning only, in two side-by-side column pairs. The 10×10 master keeps the original script too. French keeps its original, since it is already readable.

Before: two narrow columns down the page and tiny type.

After: pronunciation and meaning flowing as two column pairs, at a readable size.

1 / 2Language aids on the 5×5, before and after

Line numbers

On those pages I noticed the numbers looked squished. Two-digit numbers were breaking onto two lines, and blank lines were showing half-hidden numbers. Both are fixed.

Before: "11" stacked as two ones, and stray numbers above each section label.

After: clean numbers that match the source lines, skipping blank lines.

1 / 2Line numbers, before and after

Breathing room in the header

The song artwork and the QR codes were touching the rule under the header. A small gap fixed it on every page.

The header after the fix: artwork and QR codes clear the line, on the dark Konnakol pages too.

13. Cover and the note to self

For the cover I chose the artwork of Nerungi Vaa, one of my favourite songs: a hooded dancer in a neon corridor. The best source image is 1024 pixels, which prints well across a 5×5 and a little soft across a 10×10, so a dark overlay helps and also keeps the title readable. The title stays on one line. The 5×5 cover says it is a scaled prototype of the 10×10 book, and the only other text at the bottom is REV1 · OCT 2026.

The first page, "A note to self", now tells how this started: the first song I ever generated was a song about my kids, with a QR code to that song on YouTube. Claude mocked up four placements for that code; I picked a slim column on the right. The credits sit at the bottom of the same page: songs curated by Gemini, typesetting by ChatGPT and Claude.

The 5×5 cover: the Nerungi Vaa dancer, the digital-copy QR, and the prototype label.

The thumbnail version I compared it with.

Four placements for the first-song QR. I chose A, the right rail.

1 / 3Cover and opening page

14. Reading view and PDFs

The address printed on the cover now opens a reading view of the book itself: the cover first, a 10×10 / 5×5 switch in the middle of the top bar, arrows and swipes to turn pages, a PDF button for the edition on screen, and an Edit link into the workbench. It sits behind the studio password, like the rest of the songbook.

The reading view at the printed address, opening on the cover.

For quick printing there is one PDF per edition, each under the hosting limit of 25 MB: 16.7 MB for the 10×10 and 19.6 MB for the 5×5, 120 pages each. They are true PDFs with sharp text and QR codes, printed by Chrome straight from the same pages as the preview. Two things went wrong on the way and are worth remembering. The first 5×5 PDF split every page across two sheets, because Chrome planned page breaks from each page's size before shrinking it. Fixing that changed the text widths slightly, which clipped the cover title, so the pages are now fitted at their final print size before printing.

Ten pages of the 5×5 PDF: cover, note to self, index, keywords, album art, an album opener, Tamil Slang art, Bengali, French and Gibberish song pages.

The same ten pages from the 10×10 PDF.

1 / 2Contact sheets from the two PDFs

The full-resolution page images for Chatbooks stay on my Mac, exported from the workbench in two batches of 60, numbered in reading order with creation times a minute apart so the upload keeps its order.

Lessons learned

What's next

For agents: where things are

Credits

Songs, direction, choices and the note to self: the owner (jrb20). Songs made with Suno, the first song with Google Lyria in Gemini. Song backup and metadata: Claude in Chrome. Curation: Claude, Codex (ChatGPT), Gemini 4 Argon, Grok and Muse Spark; the book follows Gemini's selection, with Grok's notebook and the comparisons by Codex and Gemini. Tharai Local Studio releases v1.5 and v1.6, the LaTeX workbench and the first HTML edition: Codex (ChatGPT). Final workbench, both editions, reading view, PDFs, Tharai Local Studio v1.7 and this page: Claude.

↑ Top