
"Part of my personal libraryThe gap between intention and execution was small, but it was enough to keep the project permanently parked in the someday pile. By the end of 2025, I had been working with AI agents long enough that this kind of project finally felt possible. Not because they made things more impressive, but because they removed the part I always stalled on. Execution."
"I tried the obvious tools first. ISBN scanner apps failed on Romanian editions, and Goodreads could not identify obscure publishers or antiquarian finds. Anything even slightly nonstandard came back incomplete or wrong. Partial data felt worse than no data at all, so every attempt ended the same way: a few entries filled in, followed by abandonment. What I needed was not a better app, but a way to tolerate imperfection without the whole system falling apart."
"One afternoon, I photographed every book I own: spines, covers, duplicates, and the occasional blurry thumb. Four hundred and seventy photos in total. Once the images were on my laptop, I opened Claude. 470 shots, one afternoonThe first steps were mechanical. Renaming files. Converting HEIC to JPG. Then I asked for something real: a script that sends each image to OpenAI's vision API, extracts author, title, and publisher, normalizes names, resizes images to avoid wasting tokens, and writes everything to a JSON file."
A personal library grew to around 500 books, exceeding memory as a catalog. Attempts to catalog using ISBN scanners and Goodreads failed on nonstandard Romanian editions and antiquarian finds, leaving incomplete data that led to abandonment. The owner photographed every book — 470 images — then used an AI assistant to automate the workflow. A script sends each image to OpenAI's vision API, extracts author, title, and publisher, normalizes names, resizes images to save tokens, and writes entries to a JSON file. The key requirement was tolerating imperfect data and automating execution rather than finding a perfect app.
Read at Balajmarius
Unable to calculate read time
Collection
[
|
...
]