<- Back
Comments (139)
- spicyusernameThese are the perfect size projects vibe coding is currently good for.At some point you hit a project size that is too large or has too many interdependencies, and you have to be very careful about how you manage the context and should expect the llm to start generating too much code or subtle bugs.Once you hit that size, in my opinion, it's usually best to drop back to brainstorming mode, only use the llm to help you with the design, and either write the code yourself, or write the skeleton of the code yourself and have the llm fill it in.With too much code, llms just don't seem able yet to only add a few more lines of code, make use of existing code, or be clever and replace a few lines of code with a few more lines of code. They nearly always will add a bunch of new abstractions.
- spzbI am yet to see a vibe coded success that isn't a small program that already exists in multiple forms in the training data. Let's see something ground-breaking. If AI coding is so great and is going to take us to 10x or 100x productivity let's see it generate a new, highly efficient compression algorithm or a state-of-art travelling salesman solution.
- Tiberium> What I needed was not a better app, but a way to tolerate imperfection without the whole system falling apart.> Claude did not invent that idea. It executed it.> Claude handled implementation. I handled taste.This style of writing always gets me now :)
- nithinbekal> Four hundred and sixty books is not a scale problem. Knowing when to delete working code is not something an AI can decide for you.This is such a key thing I remind myself when I build apps like this for myself. I have a similar app that has a page with 900-odd ratings, and another with 550 owned books. I decided that I won't bother with infinite scroll or complex search and filtering until my browser can no longer handle rendering that data. "Find in page" works well enough for me for now.
- m-hodges> I decided that 90 percent accuracy was enough.So many systems are fault-tolerant, and it’s great to remember that in a world where LLMs introduce new faults. Kudos to OP for this mindset; more anti-AI posters would benefit from sitting with the idea from time to time.
- nindalfThis is such a coincidence. I had the same idea a few days ago and also vibe coded a library using Claude. https://nindalf.com/books. The original version of this was meant to encourage me to read more, and I'm pleased to say it succeeded. I hit my goal for the year after a couple of lean years. I also like looking at my highlights and notes and this UI makes it easier to read them.My experience with Claude was mostly very good. Certainly the UI is far better than what I'd come up with myself. The backend is close to what I'd write myself. When I'm unhappy I'm able to explain the shortcomings and it's able to mostly fix itself. This sort of small-scale, self-contained project was made possible thanks to Claude.Other times it just couldn't. The validation for the start and end dates it decided was z.string().or(z.date()).optional().transform((val) => (val ? new Date(val) : undefined)). It looked way too complex. I asked if it could be simplified, Claude said no. I suggested z.date().optional(). Claude patiently explained this was impossible. I tried it anyway, it worked. Claude said "you're absolutely right!". But this behaviour was the exception rather than the rule.
- tahirk99The size boundary point is real. Once projects get past a few thousand lines, you stop vibe coding and start managing intent and context again. At that stage the LLM becomes more of a fast junior than a magic wand.
- oleggromovGood project, nice write-up.However, to me as a person with an anti-library as well, this kind of defies the purpose of having it in the first place. I can't say I browse my books too often but when I want to find something, I'd rather browse physical things on a shelf rather than some out-of-date UI with fetched thumbnails. Of course the organization happens in physical space too: this is why we have shelves, labels and such.Obviously no judgement or criticism for the author, just sharing thoughts.
- felixdingNeat. I also used to make a simple "bookshelf" web page each year for the books I read, but mine were fully static HTML and nowhere near as fancy as this.Side note: I once wrote about recreating Delicious Library: https://dingyu.me/blog/recreating-delicious-library-in-2025
- butlikeIt's nice that the project probably helps cut down on accidentally re-buying already owned books. I would hope the project doesn't remove the joy of randomly rediscovering joyous books in your own collection from time to time.
- aboardRat4I found a printable book shelf poster generator (which is itself a fork).https://gitlab.com/Lockywolf/bookshelf
- anonundefined
- wek"The gap between intention and execution was small, but it was enough to keep the project permanently parked in the someday pile." Well said!This is my experience with agents, particularly Claude Code. It supplies sufficient activation energy to get me over the hump. It makes each next step easy enough that I take it.
- yoz-yAt some point I also made a virtual bookshelf but for a different reason: I found that I often didn’t remember what I read about. So I started taking notes while reading and also making pixel art covers for the books I’ve written about. I feel that writing down ideas makes it easier to revisit them.https://yozy.net/books/
- phyzix5761How do you search if a book is in there? They don't seem to be in any predictable order.
- monerozcashIt's a shame the blog post had to be written by AI too. If you're going to use AI to rewrite your text, you could at least ask it to keep the changes minimal.
- cube2222That’s really cool, and a great use-case for vibe coding!I’ve been vibe-coding a personalized outliner app in Rust based on gpui and CRDTs (loro.dev) over the last couple days - something just for me, and in a big part just to explore the problem space - and so far it’s been very nice and fun.Especially exploring multiple approaches, because exploring an approach just means leaving the laptop working for an hour without my attendance and then seeing the result.Often I would have it write up a design doc with todos for a feature I wanted based on its exploration, and then just launch a bash for loop that launches Claude with “work on phase $i” (with some extra boilerplate instructions), which would have it occupied for a while.
- samwhoI love this, the end result looks so good.Something you don’t really mention in the post is why do this? Do you have an end goal or utility in mind for the book shelf? Is it literally just to track ownership? What do you do with that information?
- ear7h> I own more books than I can read.> I started asking for things I did not need.For a community that prides itself on depth of conversation, ideas, etc. I'm surprised to so much praise for a post like this. I'll be the skeptic. What does it bring to you to vibe code your vibe shelf?To me, this project perfectly encapsulates the uselessness of AI, small projects like this are good learning or relearning experience and by outsourcing your thinking to AI you deprive yourself of any learning, ownership, or the self fulfillment that comes with it. Unless, of course, you think engaging in "tedious" activities with things you enjoy have zero value, and if getting lost in the weeds isn't the whole point. Perhaps in one of those books you didn't read, you missed a lesson about the journey being more important than the destination, but idk I'm more of a film person.The only piece of wisdom here is the final sentence:> Taste still does not [get cheaper].Though, only in irony.
- pranavm27Love it, only issue on my mobile is the scroll surface overlaps. I would want that shelf to be perfect fitting on my screen before I start scrolling.Vibe coded a library last month for my website however its much simpler and has Antilibrary section for all the stuff I have not read.
- dawnerdI’d love to see how much it cost though, particularly around the images.
- walthamstow> I started asking for things I did not need ... Knowing when to delete working code is not something an AI can decide for you.Very relatable!
- bhoustonGood job!I wonder if you could develop this as an add on to Hardcover.app - you could fetch people's books, images, and display the bookshelf.All the data seems to be there:https://hardcover.app/@BenHouston3D/books/read?order=owner_l...
- zitturI really love how the bookshelf display looks. Most sites just use a standard grid for books, which can feel a bit cookie-cutter. The way you’ve mixed in stacked and bookend-style arrangements is a breath of fresh air, it really stands out.
- kgthegreatWhile currently taste is what we are banking on the thing humans will continue doing but I don’t think that will last for long.
- ionicabizauWonderful project, Marius! :) I shared it with my brother who has a lot of books and tracks them in his own little app. Keep up the great work! So happy to see you around!
- kgthegreatI wrote about how I think about the separation of intent and execution here : https://bikeshedding.substack.com/p/the-agency-continuum
- godber“the cost of trying ideas had collapsed”This is a critical observation of the vibocene.
- vtemianThis nails what vibe coding actually is. The model handles execution, but intent and taste stay human. That’s where the real leverage is.
- TheChelsUKPlease add an rss feed to your website/writing
- pixelmonkeyDigitizing my physical bookshelf was one of the first fun “vibe coding” projects I did with ChatGPT4o in 2024.First, I took photographs of all my physical books simply by photographing the bookshelves such that the book spines were visible.Then passed the photographs with a prompt akin to, "These are photographs of bookshelves. Create a table of book title and book author based on the spines of the books in these photographed shelves." ChatGPT4’s vision model handled this no problem with pretty high accuracy.I then vibe-coded a Python program with ChatGPT4 to use the Google Books API (an API key for that is free) to generate a table, and then a CSV, of: book title, book author, and isbn13. Google Books API lets you look up an ISBN based on other metadata like title and author easily.Finally, I uploaded the enriched CSV into a free account of https://libib.com. This is a free SaaS that creates a digital bookshelf and it can import books en masse if you have their ISBNs. You can see the result of this here for my bookshelf:https://www.libib.com/u/freenode-fr33n0d3There are some nice titles in there for HN readers! My admin app for Libib (the one at https://libib.com) is more full-featured than the above public website showcases. It's basically software for running small lending libraries. But, in my case, the “lending library” is just my office’s physical bookshelf.I also added a Libib collection there that is a sync of my Goodreads history, since I read way more Kindle books than physical books these days. That was a similarly vibe-coded project. But easier since Goodreads can export your book collection, including isbn13, to a file.As for my actual physical bookshelf, it is more a collection of books I either prefer in print, or that are old, or out-of-print, or pre-digital & never-digitized.I liked the Libib software so much I end up donating to it every year. I originally discovered it because it is used for Recurse Center’s lending library in the Recurse Center space in Brooklyn, NY (https://recurse.com).Also, Libib has a Android, iPhoneOS, and iPadOS apps -- these are very basic but they do allow you to add new books simply by scanning their ISBN barcode, which is quite handy when I pick up new items.I did enjoy reading the OP writeup, it’s a fun idea to vibe-code the actual digital bookshelf app, as well!
- stevesearerGreat project!Vibe coding has really helped me explore skills outside of my comfort zone which can then be applied in combination with other existing skills or interests in new ways.In the case of your project, I imagine that now that you can gather data such as books from an image of a bookshelf, you can do something similar in infinite other ways.
- stanrungeVery very cool. It's surprisingly difficult to find applications for organizing reading material, and also to actually read them. My current "good enough" solution is just Apple Books, but I've been meaning to make a similar application for this :)
- kaizenb"Execution keeps getting cheaper. Taste still does not." yes yes yes!
- stevesearerSometimes when I’m vibe coding I feel like Ender from Ender’s Game and even though I’m making a stupid web app, I’m actually somehow actually winning a battle across the universe.
- mihaibalintI Love the fact that the browser search functionality works in the bookshelf.
- damnitbuildsI am glad more people think book spines are important.I wish book archive sites like archive.org scanned and stored the book spines as well as the covers, but AFAICT none do.
- necromancThis is a brilliant project—small, practical, and high-leverage.
- asasidh“Claude handled implementation. I handled taste.”This is the right mindset.
- guluarteone thing i use the models for is shopping, do my shopping list in a .txt, copy it and send it to gpt/claude and tell it to organize by shelves, get out of the store in less than 10 minutes lol
- troupoSpeaking of SerpAPI: Why we’re taking legal action against SerpApi’s unlawful scraping https://news.ycombinator.com/item?id=46329109SerpAPI provides a very valuable programmatic access to search that Google are hell bent on never properly providing
- kingkongjaffaThis is lovely, claude code is a great tool for creating software for a user of 1. Personal software that runs locally (or on your own website in your case) and works exactly you want without it doing anything you don't want.One-off scripts and single page html/css/js apps that run locally are fantastically accessible now too.As someone who doesn't code for a living, but can write code, I would often go on hours/day long side quests writing these kind of apps for work and for my personal life. I know the structure and architecture but lack the fluency for speedy execution since I'm not writing code everyday. Claude code fills that speed gap and turned my days/hours long side quests into minutes for trivial stuff, and hours for genuinely powerful stuff at home and at work.
- k4rnaj1k[dead]
- xnxSounds like the author did thing the hard way when he probably could've uploaded a few seconds of video to Gemini and said "make a virtual bookshelf app" https://fedi.simonwillison.net/@simon/111971103847972384