{"id":58,"date":"2026-10-08T20:17:29","date_gmt":"2026-10-08T20:17:29","guid":{"rendered":"https:\/\/wordpress.theicealphawolfden.com\/?p=58"},"modified":"2026-10-08T20:17:30","modified_gmt":"2026-10-08T20:17:30","slug":"my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself","status":"publish","type":"post","link":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/","title":{"rendered":"My Custom Audiobook Metadata Manager A Full Library System I Built Myself"},"content":{"rendered":"\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>ORIGINAL PROJECT \u00b7 PUBLISHED 19 NOVEMBER 2025<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">I needed a library I could make sense of.<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">More than 400 audiobooks. Long fantasy series. Hundreds of reviews. A collection I had spent years building and an overview that still made me feel lost.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I could open Audible and listen. I could open Goodreads and record a book. What I needed was a clear view of my own collection: the series, the books I had, the ones I had finished, and the reviews I had actually written. Eventually, I built an audiobook manager around those questions.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>400+ AUDIOBOOKS<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The collection I described at the time.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>3,543 GOODREADS ENTRIES<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">A mixture of books I owned and books I wanted to read.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>300+ WRITTEN REVIEWS<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Writing I wanted to find again, alongside the right book.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#bdcfd6\">These are the figures from my original account of the project, rather than live statistics from the program.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">Why Audible and Goodreads were frustrating me<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I had used Audible for years, and it remained a major part of my listening. The trouble started when I tried to use its library as the complete record of that listening. I had books whose status did not match what I remembered finishing, progress that seemed not to sync properly, and too much time spent correcting or searching through the overview.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Yes, I could manually mark a book as finished. My frustration was having to keep checking whether the record matched what I had done. When I had spent hours with a story, I wanted a dependable way to see that I had completed it and where it belonged in a series.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">A finished-book view also did not answer every question I had. Which volume came next? Did I have the whole series? Had I only rated this book, or had I written one of my longer reviews? With hundreds of titles, I needed those answers to be visible.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Goodreads helped me record reading and publish reviews, but its edition-based catalogue did not always give me the audiobook-centred view I wanted. Covers, formats, repeated readings, and edition choices could make the record harder to follow. The view I wanted put the audiobook and its place in my collection first.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I wanted the collection arranged around the questions I kept asking. A long list of titles was not enough for the way I worked. I needed a system that made the next useful detail easy to find.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">Losing my tracking record made it personal<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">In 2024, I accidentally deleted much of my Goodreads tracking data. My written reviews remained, and my audiobooks were still in Audible. The record of the journey\u2014the entries, dates, and history I had built around those books\u2014was what I had to rebuild.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I began adding books again and listening back through my collection. Relistening gave me a way to rebuild that record carefully and make sure I really had been through the books. It also made me think harder about the information I wanted to keep for myself.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I do better when I can see structure in front of me. A recognisable cover, a series name, a number, and a clear completion marker help me find my place. I wanted to spend my attention on the story instead of trying to hold an entire catalogue in my head.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>\u201cIf the tools I use cannot give me the overview I need, I will build my own.\u201d<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">That was the point where frustration became a project.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">The original manager: a visual home for my collection<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The first screen made the idea visible: choose the library I wanted to work with, then scan it. My original screenshots show separate <strong>Audible Books<\/strong> and <strong>Fanfiction Audiobooks<\/strong> categories, with my own wolf artwork giving them a familiar face.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/6c5nMLk8\/Original-2025-screenshot-01.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:1178px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/6c5nMLk8\/Original-2025-screenshot-01.png\" alt=\"Original 2025 Audiobook Manager library-selection screen showing Audible Books, Fanfiction Audiobooks, Back and Scan All controls.\" width=\"1178\" height=\"872\" style=\"display:block;width:100%;max-width:1178px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The original library selector, with Audible Books and Fanfiction Audiobooks categories and a Scan All control. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/6c5nMLk8\/Original-2025-screenshot-01.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The file-management side worked with the audiobook files in my selected local library folders. The 400+ figure described my audiobook collection; it was not a count of 400 files imported in the screenshot. I continued using Audible for listening while building a place where I could organise files and keep my own record.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Inside a library, the program grouped the books and showed cover cards with useful details beside them. I could recognise a series, open its books, inspect their information, mark completion, and save a link to my review. That was the sort of overview I had been missing.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>A quick guide to the labels<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The old interface uses <strong>album<\/strong> and <strong>track<\/strong> language inherited from audio metadata. In the examples below, an album groups a series and the individual track cards represent audiobook entries. The expected count is a value I maintain for the collection.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">What I built into that version<\/h2>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">1. Metadata I could inspect and edit<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The book cards put the information where I could actually see it. In the original screenshot, <em>Mana Master<\/em> and <em>Mana Beast<\/em> by Bruce Sentar appear together under <em>A Mage\u2019s Cultivation<\/em>, with their cover art, positions, tags, lengths, read buttons, and review links.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/1GyG6Jcv\/Original-2025-screenshot-02.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:735px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/1GyG6Jcv\/Original-2025-screenshot-02.png\" alt=\"Original 2025 book cards for Mana Master and Mana Beast by Bruce Sentar, with title, artist, album, year, genre, track, bitrate, length, review URL, Read and Edit Metadata controls.\" width=\"735\" height=\"903\" style=\"display:block;width:100%;max-width:735px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">Original book cards for Bruce Sentar\u2019s Mana Master and Mana Beast: covers, metadata, read controls, and saved review links in one view. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/1GyG6Jcv\/Original-2025-screenshot-02.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I could edit the metadata instead of accepting whatever a file happened to contain. The important fields included the title, author, series grouping, track number, year, genre, and comments. The display also showed properties such as bitrate and length, which helped me inspect the audio files.<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\" style=\"margin:28px 0\"><div style=\"overflow-x:auto;border:1px solid #3d5965;border-radius:10px\"><table style=\"width:100%;min-width:530px;border-collapse:collapse;font-size:0.95em;line-height:1.55\"><thead><tr><th scope=\"col\" style=\"padding:14px 16px;text-align:left;background:#24444c;color:#f4f8fa;border-bottom:1px solid #507078\">Field in the old interface<\/th><th scope=\"col\" style=\"padding:14px 16px;text-align:left;background:#24444c;color:#f4f8fa;border-bottom:1px solid #507078\">How I used it<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:14px 16px;vertical-align:top;background:#142c36;color:#e6eef2;border-bottom:1px solid #3d5965\">Title<\/td><td style=\"padding:14px 16px;vertical-align:top;background:#142c36;color:#e6eef2;border-bottom:1px solid #3d5965\">The name of the audiobook.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;background:#1a343f;color:#e6eef2;border-bottom:1px solid #3d5965\">Artist \/ album artist<\/td><td style=\"padding:14px 16px;vertical-align:top;background:#1a343f;color:#e6eef2;border-bottom:1px solid #3d5965\">The author grouping used in this setup.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;background:#142c36;color:#e6eef2;border-bottom:1px solid #3d5965\">Album<\/td><td style=\"padding:14px 16px;vertical-align:top;background:#142c36;color:#e6eef2;border-bottom:1px solid #3d5965\">The series or collection grouping.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;background:#1a343f;color:#e6eef2;border-bottom:1px solid #3d5965\">Track<\/td><td style=\"padding:14px 16px;vertical-align:top;background:#1a343f;color:#e6eef2;border-bottom:1px solid #3d5965\">The entry\u2019s position in that grouping.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;background:#142c36;color:#e6eef2;border-bottom:1px solid #3d5965\">Genre, year and comment<\/td><td style=\"padding:14px 16px;vertical-align:top;background:#142c36;color:#e6eef2;border-bottom:1px solid #3d5965\">Additional information I could keep with the entry.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;background:#1a343f;color:#e6eef2;border-bottom:1px solid #3d5965\">Review<\/td><td style=\"padding:14px 16px;vertical-align:top;background:#1a343f;color:#e6eef2;border-bottom:1px solid #3d5965\">A link to the written review I wanted to find again.<\/td><\/tr><\/tbody><\/table><\/div><figcaption style=\"color:#bdcfd6;font-size:0.88em;margin-top:12px\">These mappings describe my original setup. They do not mean every audio player gives the fields the same audiobook-specific meaning.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Saving proper tags into supported audio files made the information useful beyond one screen. It also made the naming and grouping more consistent, because I was working from the information I chose rather than guessing from a filename.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">2. Covers I could choose myself<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Artwork mattered because I use it to recognise a book quickly. A missing image or an unfamiliar edition made the overview less useful. The cover editor let me choose a replacement image and embed it into the MP3.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/Nd8Q4B6m\/Original-2025-screenshot-03.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:604px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/Nd8Q4B6m\/Original-2025-screenshot-03.png\" alt=\"Original cover-editing screen with Mana Master artwork, a Change Cover label, and a Choose File control.\" width=\"604\" height=\"358\" style=\"display:block;width:100%;max-width:604px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The original cover editor offered a file chooser and described embedding the replacement artwork into the MP3. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/Nd8Q4B6m\/Original-2025-screenshot-03.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Choosing the artwork myself gave the overview a more consistent look and helped me recognise the entries. It was a small feature with a real effect on how comfortable the collection felt to browse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">3. Companion PDFs beside the audio<\/h3>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/Pvc01J5T\/Original-2025-screenshot-04.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:276px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/Pvc01J5T\/Original-2025-screenshot-04.png\" alt=\"Original Pirateaba album view showing The Wandering Inn, two tracks, and an Open PDF button.\" width=\"276\" height=\"320\" style=\"display:block;width:100%;max-width:276px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The Wandering Inn album card in the original manager, with a visible Open PDF button. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/Pvc01J5T\/Original-2025-screenshot-04.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>KEEP THE EXTRAS WITH THE BOOK<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Some audiobooks include maps, illustrations, or companion material. I wanted to find those extras from the same place as the audio.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The original <em>The Wandering Inn<\/em> screenshot shows the <strong>Open PDF<\/strong> button on the album card.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The system handled PDF companions alongside the audiobook files, including naming them consistently and offering a clickable link in the interface. A PDF was easier to remember when it was visible next to the book it belonged to.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">4. A series count that showed the gaps<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I wanted to compare what was in my collection with the count I expected for a series. That made a missing entry visible instead of leaving me to count covers every time. The original <em>Dungeon Diving<\/em> card shows <strong>8\/9<\/strong>; the <em>Dragon\u2019s Justice<\/em> example shows <strong>9\/9<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/0j1sJZcy\/Original-2025-screenshot-05.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:192px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/0j1sJZcy\/Original-2025-screenshot-05.png\" alt=\"Original Dungeon Diving series card showing 8\/9 and 8 tracks, with the count circled in blue in the supplied screenshot.\" width=\"192\" height=\"254\" style=\"display:block;width:100%;max-width:192px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">Dungeon Diving in the earlier interface: eight entries against an expected count of nine. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/0j1sJZcy\/Original-2025-screenshot-05.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/Y4B4mdpR\/Original-2025-screenshot-06.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:199px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/Y4B4mdpR\/Original-2025-screenshot-06.png\" alt=\"Original Dragon\u2019s Justice series card showing 9\/9, 9 tracks, and a green checkmark circled in blue in the supplied screenshot.\" width=\"199\" height=\"244\" style=\"display:block;width:100%;max-width:199px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">Dragon\u2019s Justice in the earlier interface: a 9\/9 count and a green completion marker. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/Y4B4mdpR\/Original-2025-screenshot-06.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The expected count was something I could change as the collection changed. It was not an automatic audit of an author\u2019s complete publication history. A written series and its available audiobook releases can have different counts, so the value needed to reflect the collection I was tracking.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">5. A visible record of finishing a book<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Each book card had a <strong>Read<\/strong> or <strong>Mark as Read<\/strong> control. Marking an entry updated its status in my manager, and the green checkmarks gave me a quick visual signal. The series view could also show completion when its entries were marked read.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">That helped me keep two different questions clear: having an entry in the collection and finishing it. A full collection count did not, by itself, mean I had listened to every book.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">6. Review links attached to the right entry<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">My written reviews were another part of the library I wanted to keep organised. The book cards had a review-link field and a save control, so I could attach the Goodreads review URL to the entry and return to it later.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">That made the writing easier to find. Clicking a star and writing a full review are different actions; keeping the actual review link gave me a more useful record of the work I had published. Goodreads could still host the review, while my manager helped me find it.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/v6dwJP7P\/Three-book-questions.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:1600px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/v6dwJP7P\/Three-book-questions.png\" alt=\"Diagram connecting a book record to three distinct questions: do I have it, have I finished it, and did I write a review. It distinguishes library inventory, read status and saved review links.\" width=\"1600\" height=\"1080\" style=\"display:block;width:100%;max-width:1600px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The organising idea: collection inventory, completion status, and a written-review link answer different questions about the same book. This is an explanatory diagram, not an application screenshot. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/v6dwJP7P\/Three-book-questions.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">7. Scanning the folders again<\/h3>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/bj4RPnK0\/Original-2025-screenshot-08.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:209px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/bj4RPnK0\/Original-2025-screenshot-08.png\" alt=\"Original library-view navigation buttons labelled Back and Scan Library.\" width=\"209\" height=\"100\" style=\"display:block;width:100%;max-width:209px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The Back and Scan Library controls from the original library view. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/bj4RPnK0\/Original-2025-screenshot-08.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>SCAN ALL \/ SCAN LIBRARY<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The library-selection screen offered <strong>Scan All<\/strong>, while the individual library view had <strong>Scan Library<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">These controls let me rebuild the overview after changing the files or their information.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The scanner brought the selected folders, file information, and available artwork back into the manager\u2019s view. The earlier workflow also included cleaning up empty folders left by reorganisation. The point was to keep the record connected to the files I was actually working with.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">8. More consistent file and folder names<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The program used the metadata I set to organise names for files and folders, with covers and PDF companions handled alongside the audio. That helped me replace anonymous names such as <code>track01.mp3<\/code> with something I could recognise.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/kVJSjd35\/Original-2025-screenshot-09.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:905px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/kVJSjd35\/Original-2025-screenshot-09.png\" alt=\"Original file-manager view of A Mage\u2019s Cultivation audio files and companion images, with numbered MP3 and NFO files, Folder.jpg and expected.txt.\" width=\"905\" height=\"510\" style=\"display:block;width:100%;max-width:905px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The original folder view, showing numbered MP3s, matching artwork and information files, a folder cover, and expected.txt. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/kVJSjd35\/Original-2025-screenshot-09.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The original folder screenshot shows numbered MP3 files, matching artwork and information files, a folder cover, and an <code>expected.txt<\/code> file. It shows how the library existed on disk as well as inside the interface.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Consistent naming made it easier to see the order and keep related material together. The names came from the metadata I supplied, so correcting that information was part of keeping the collection useful. Automation took care of the repetitive work after I had set the details.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">9. Cleaner files for the players I used<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I wanted the organised audio and its artwork to be useful with Plex, Jellyfin, Smart Audiobook Player, and other compatible players. That was a reason to improve the underlying files, rather than keeping every useful detail only inside my own interface.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Embedded metadata helps where a player supports it. <a style=\"color:#a9dd8a\" href=\"https:\/\/support.plex.tv\/articles\/200381093-identifying-music-media-using-embedded-metadata\/\">Plex documents using embedded tags in music libraries<\/a>, and <a style=\"color:#a9dd8a\" href=\"https:\/\/jellyfin.org\/docs\/general\/server\/media\/books\/\">Jellyfin documents reading audiobook metadata from audio-file tags<\/a>. Library settings, supported formats, and a scan or metadata refresh still affect what another player displays.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>Tags and listening status do different jobs<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Clean tags can help a player identify and organise a file. The <strong>Read<\/strong> marker in my manager records completion in my manager. A tag edit alone does not establish that listening progress, read status, or review records are synchronised across Audible, Goodreads, Plex, and Jellyfin.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">What made it worth building<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The payoff was being able to look at my collection and understand it. I could see a series instead of an endless scroll. I could inspect a book\u2019s details, recognise its cover, find its PDF, see my completion marker, and return to the review I had written.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The program solved the problems I kept running into. I wanted clear information, familiar visual structure, and control over the record of my own listening. Having those things in one place made the effort worth it.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Like my photography scripts and other automation projects, this grew out of a practical need. I kept asking for a particular kind of overview. Eventually, I sat down and built the one I wanted.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>My collection. My record. A system I could understand.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">That was what the original audiobook manager gave me: a place where the stories, the files, and my own progress felt connected again.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>The follow-up comes next<\/strong><\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">This post documents the earlier Audiobook Manager originally published on <strong>19 November 2025<\/strong>. A separate follow-up will cover the newer version and the changes that came after this project.<\/p>\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#bdcfd6\">The application screenshots are from the original post. The three-questions diagram explains the organising idea; it is not an application screenshot. Book-cover artwork shown inside the screenshots belongs to its respective rights holders.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ORIGINAL PROJECT \u00b7 PUBLISHED 19 NOVEMBER 2025 I needed a library I could make sense of. More than 400 audiobooks. Long fantasy series. Hundreds of reviews. A collection I had spent years building and an overview that still made me feel lost. I could open Audible and listen. I could open Goodreads and record a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":60,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAow86rODA:productID":"","footnotes":""},"categories":[510,511],"tags":[470,474,471,469,472,473,479,509,476,496,475,488,480,477,482,494,485,483,478,495,486,491,484,487,508,507,481,492,506,499,489,500,498,493,505,504,503,490,501,502,497],"snowpaw_game":[],"class_list":["post-58","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-audiobooks","category-php-audibook-program","tag-audible-limitations","tag-audiobook-covers","tag-audiobook-library","tag-audiobook-management","tag-audiobook-metadata","tag-audiobook-pdfs","tag-audiobook-system","tag-audiobook-tracker","tag-audiobook-workflow","tag-audiobooks","tag-book-series-tracking","tag-book-tracking","tag-book-review","tag-books","tag-custom-metadata-system","tag-custom-software","tag-digital-library-management","tag-digital-organisation","tag-diy-software-project","tag-file-renaming","tag-folder-organization","tag-goodreads-alternative","tag-home-library","tag-jellyfin-audiobooks","tag-m4b-metadata","tag-media-automation","tag-media-server-tools","tag-metadata-automation","tag-metadata-correction","tag-mp3-tagging","tag-organisation-tools","tag-personal-library","tag-personal-project","tag-plex-audiobooks","tag-python-project","tag-reading","tag-reading-tracker","tag-self-built-tools","tag-self-hosted-media","tag-smart-audiobook-player","tag-tagging-system"],"snowpaw":{"managed":true,"game_id":"","game_ids":[],"games":[],"review_game_ids":[],"cover_sizes":[{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek-300x169.png","width":300},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/60-ec6baa80fc0f-480.webp","width":480},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/60-ec6baa80fc0f-768.webp","width":768},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek-1024x576.png","width":1024},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/60-ec6baa80fc0f-1200.webp","width":1200}]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>My Custom Audiobook Metadata Manager A Full Library System I Built Myself - The Ice Alpha Wolf Den<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"My Custom Audiobook Metadata Manager A Full Library System I Built Myself - The Ice Alpha Wolf Den\" \/>\n<meta property=\"og:description\" content=\"ORIGINAL PROJECT \u00b7 PUBLISHED 19 NOVEMBER 2025 I needed a library I could make sense of. More than 400 audiobooks. Long fantasy series. Hundreds of reviews. A collection I had spent years building and an overview that still made me feel lost. I could open Audible and listen. I could open Goodreads and record a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/\" \/>\n<meta property=\"og:site_name\" content=\"The Ice Alpha Wolf Den\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-08T20:17:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-08T20:17:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kiba Snowpaw\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kiba Snowpaw\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/\"},\"author\":{\"name\":\"Kiba Snowpaw\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"headline\":\"My Custom Audiobook Metadata Manager A Full Library System I Built Myself\",\"datePublished\":\"2026-10-08T20:17:29+00:00\",\"dateModified\":\"2026-10-08T20:17:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/\"},\"wordCount\":2178,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Mit-skraeddersyede-lydbogsbibliotek.png\",\"keywords\":[\"Audible limitations\",\"audiobook covers\",\"audiobook library\",\"audiobook management\",\"audiobook metadata\",\"audiobook PDFs\",\"audiobook system\",\"audiobook tracker\",\"audiobook workflow\",\"audiobooks\",\"book series tracking\",\"book tracking\",\"book-review\",\"books\",\"custom metadata system\",\"custom software\",\"digital library management\",\"digital organisation\",\"DIY software project\",\"file renaming\",\"folder organization\",\"Goodreads alternative\",\"home library\",\"jellyfin audiobooks\",\"M4B metadata\",\"media automation\",\"media server tools\",\"metadata automation\",\"metadata correction\",\"MP3 tagging\",\"organisation tools\",\"personal library\",\"personal project\",\"plex audiobooks\",\"python project\",\"reading\",\"reading tracker\",\"self-built tools\",\"self-hosted media\",\"smart audiobook player\",\"tagging system\"],\"articleSection\":[\"Audiobooks\",\"PHP Audibook Program\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/\",\"name\":\"My Custom Audiobook Metadata Manager A Full Library System I Built Myself - The Ice Alpha Wolf Den\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Mit-skraeddersyede-lydbogsbibliotek.png\",\"datePublished\":\"2026-10-08T20:17:29+00:00\",\"dateModified\":\"2026-10-08T20:17:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Mit-skraeddersyede-lydbogsbibliotek.png\",\"contentUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Mit-skraeddersyede-lydbogsbibliotek.png\",\"width\":1672,\"height\":941},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"My Custom Audiobook Metadata Manager A Full Library System I Built Myself\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#website\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/\",\"name\":\"The Ice Alpha Wolf Den\",\"description\":\"Game reviews, photography and audiobooks\",\"publisher\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\",\"name\":\"Kiba Snowpaw\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"caption\":\"Kiba Snowpaw\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\\/\\\/theicealphawolfden.com\"],\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/author\\\/admin2183\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"My Custom Audiobook Metadata Manager A Full Library System I Built Myself - The Ice Alpha Wolf Den","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/","og_locale":"en_GB","og_type":"article","og_title":"My Custom Audiobook Metadata Manager A Full Library System I Built Myself - The Ice Alpha Wolf Den","og_description":"ORIGINAL PROJECT \u00b7 PUBLISHED 19 NOVEMBER 2025 I needed a library I could make sense of. More than 400 audiobooks. Long fantasy series. Hundreds of reviews. A collection I had spent years building and an overview that still made me feel lost. I could open Audible and listen. I could open Goodreads and record a [&hellip;]","og_url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/","og_site_name":"The Ice Alpha Wolf Den","article_published_time":"2026-10-08T20:17:29+00:00","article_modified_time":"2026-10-08T20:17:30+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek.png","type":"image\/png"}],"author":"Kiba Snowpaw","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kiba Snowpaw","Estimated reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#article","isPartOf":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/"},"author":{"name":"Kiba Snowpaw","@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"headline":"My Custom Audiobook Metadata Manager A Full Library System I Built Myself","datePublished":"2026-10-08T20:17:29+00:00","dateModified":"2026-10-08T20:17:30+00:00","mainEntityOfPage":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/"},"wordCount":2178,"commentCount":0,"publisher":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"image":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#primaryimage"},"thumbnailUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek.png","keywords":["Audible limitations","audiobook covers","audiobook library","audiobook management","audiobook metadata","audiobook PDFs","audiobook system","audiobook tracker","audiobook workflow","audiobooks","book series tracking","book tracking","book-review","books","custom metadata system","custom software","digital library management","digital organisation","DIY software project","file renaming","folder organization","Goodreads alternative","home library","jellyfin audiobooks","M4B metadata","media automation","media server tools","metadata automation","metadata correction","MP3 tagging","organisation tools","personal library","personal project","plex audiobooks","python project","reading","reading tracker","self-built tools","self-hosted media","smart audiobook player","tagging system"],"articleSection":["Audiobooks","PHP Audibook Program"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/","url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/","name":"My Custom Audiobook Metadata Manager A Full Library System I Built Myself - The Ice Alpha Wolf Den","isPartOf":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#primaryimage"},"image":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#primaryimage"},"thumbnailUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek.png","datePublished":"2026-10-08T20:17:29+00:00","dateModified":"2026-10-08T20:17:30+00:00","breadcrumb":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#primaryimage","url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek.png","contentUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Mit-skraeddersyede-lydbogsbibliotek.png","width":1672,"height":941},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/my-custom-audiobook-metadata-manager-a-full-library-system-i-built-myself\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wordpress.theicealphawolfden.com\/"},{"@type":"ListItem","position":2,"name":"My Custom Audiobook Metadata Manager A Full Library System I Built Myself"}]},{"@type":"WebSite","@id":"https:\/\/wordpress.theicealphawolfden.com\/#website","url":"https:\/\/wordpress.theicealphawolfden.com\/","name":"The Ice Alpha Wolf Den","description":"Game reviews, photography and audiobooks","publisher":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress.theicealphawolfden.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1","name":"Kiba Snowpaw","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","caption":"Kiba Snowpaw"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g"},"sameAs":["http:\/\/theicealphawolfden.com"],"url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/author\/admin2183\/"}]}},"_links":{"self":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":1,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":61,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/58\/revisions\/61"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/media\/60"}],"wp:attachment":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/tags?post=58"},{"taxonomy":"snowpaw_game","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/snowpaw_game?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}