Show HN: Vibe coding a bookshelf with Claude Code

(balajmarius.com)

157 points | by balajmarius 2 hours ago

39 comments

  • nithinbekal 4 minutes ago
    > 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.

  • spicyusername 2 hours ago
    These 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.

    • pigpop 0 minutes ago
      Or you can apply software architecture methods that are designed to help humans with exactly the same type of problems.

      Once your codebase exceeds a certain size, it becomes counter-productive to have code that is dependent on the implementation of other modules (tight coupling). In Claude Code terms this means your current architecture is forcing the model to read too many lines of code into its context which is degrading performance.

      The solution is the same as it is for humans:

      > "Program to an interface, not an implementation." --Design Patterns: Elements of Reusable Object-Oriented Software (1994)

      You have to carefully draw boundaries around the distinct parts of your application and create simple interfaces for them that only expose the parts that other modules in your application need to use. Separate each interface definition into its own file and instruct Claude (or your human coworker) to only use the interface unless they're actually working on the internals of that module.

      Suddenly, you've freed up large chunks of context and Claude is now able to continue making progress.

      Of course, the project could continue to grow and the relatively small interface declarations could become too many to fit in context. At that point it would be worthwhile taking a look at the application to see if larger chunks of it could be separated from the rest. Managing the number and breadth of changes that Claude is tasked with making would also help since it's unlikely that every job requires touching dozens of different parts of the application so project management skills can get you even further.

    • cube2222 2 hours ago
      I agree with you as far as project size for vibe-coding goes - as-in often not even looking at the generated code.

      But I have no issues with using Claude Code to write code in larger projects, including adapting to existing patterns, it’s just not vibe coding - I architect the modules, and I know more or less exactly what I want the end result to be. I review all code in detail to make sure it’s precisely what I want. You just have to write good instructions and manage the context well (give it sample code to reference, have agent.md files for guidance, etc.)

    • mellosouls 58 minutes ago
      Engineering code now is not just binary, it's a spectrum from vibe-coding through copilot-style (design and coding assistance) to your help-with-design-only to no-AI.

      The capabilities now are strong enough to mix and match almost fully in the co-pilot range on substantial projects and repos.

    • pranavm27 40 minutes ago
      Reminds me of Ken Miles saying 7000 rpm quote. At what size do you think this happens? Whatever is the most relevant metric of size for this context.
    • aurareturn 1 hour ago

        These are the perfect size projects vibe coding is currently good for.
      
      So far... it's going to keep getting better to the point until all software is written this way.
      • __MatrixMan__ 55 minutes ago
        It seems like it's approaching a horizontal asymptote to me, or is at the very least concave down. You might be describing a state 50 years from now.
        • anthonypasq 26 minutes ago
          sonnet 3.7 was released 10 months ago! (the first model truly capable of any sort of reasonable agentic coding at all) and opus 4.5 exists today.
      • HarHarVeryFunny 44 minutes ago
        Sure, but that's basically the same as saying that we'll have human-equivalent AI one day (let's not call it AGI, since that means something different to everyone that uses it), and then everything that humans can do could then be done by AI (whether or not it will be, is another question).

        So, yes, ONE DAY, AI will be doing all sorts of things (from POTUS and CEO on down), once it is capable of on-the-job learning and picking up new skills, and everything else that isn't just language model + agent + RAG. It the meantime, the core competence of an LLM is blinkers-on (context-on) executing - coding - according to tasks (part of some plan) assigned to it by a human who, just like a lead assigning tasks to human team members, is aware of what it can and can not do, and is capable of overseeing the project.

      • croes 53 minutes ago
        Successfully building an IKEA shelf doesn’t make you a carpenter.
      • rvz 53 minutes ago
        Air traffic control software is not going to be vibe-coded anytime soon and neither is the firmware controlling the plane.
        • A4ET8a8uTh0_v2 13 minutes ago
          I will be perfectly honest. Given what I am seeing, I fully expect someone to actually try just that.
      • spzb 57 minutes ago
        I've got a bridge to sell you
    • solumunus 2 hours ago
      > make use of existing code, or be clever and replace a few lines of code with a few more lines of code

      You can be explicit about these things.

      • auggierose 1 hour ago
        Yes. It is called programming.
        • solumunus 59 minutes ago
          Using agents is programming. Programming is done with the mind, the tapping of keys isn’t inherent to the process.
          • batshit_beaver 13 minutes ago
            Unfortunately IDEs are not yet directly connected to our minds, so there's still that silly little step of encoding your ideas in a way that can be compiled into binary. Playing the broken telephone game with an LLM is not always the most efficient way of explaining things to a computer.
    • dfilppi 55 minutes ago
      [dead]
  • spzb 54 minutes ago
    I 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.
    • boplicity 39 minutes ago
      > Let's see something ground-breaking

      Why? People don't ask hammers to do much more than bash in nails into walls.

      AI coding tools can be incredibly powerful -- but shouldn't that power be focused on what the tool is actually good at?

      There are many, many times that AI coding tools can and should be used to create a "small program that already exists in multiple forms in the training data."

      I do things like this very regularly for my small business. It's allowed me to do things that I simply would not have been able to do previously.

      People keep asking AI coding tools to be something other than what they currently are. Sure, that would be cool. But they absolutely have increased my productivity 10x for exactly the type of work they're good at assisting with.

      • Teknomadix 7 minutes ago
        >People don't ask hammers to do much more than bash in nails into walls.

        “It resembles a normal hammer but is outfitted with an little motor and an flexible head part which moves back and forth in a hammering motion, sparing the user from moving his or her own hand to hammer something by their own force and by so making their job easier”

        https://gremlins.fandom.com/wiki/Electric_Hammer

      • ncallaway 28 minutes ago
        > People keep asking AI coding tools to be something other than what they currently are.

        I think it's for a very reasonable reason: the AI coding tool salespeople are often selling the tools as something other than what they currently are.

        I think you're right, that if you calibrate your expectations to what the tools are capable of, there's definitely. It would be nice if the marketing around AI also did the same thing.

        • onion2k 10 minutes ago
          AI sales seems to be very much aligned with productivity improvement - "do more of the same but faster" or "do the same with fewer people"). No one is selling "do more".
      • blauditore 26 minutes ago
        Because that's the vision of many companies trying to sell AI. Saying that what it can do now is actually already good enough might be true, but it's also moving the goalposts compared to what was promised (or feared, depending who you're asking).
        • simonw 6 minutes ago
          One of the many important skills needed to navigate our weird new LLM landscape is ignoring what the salespeople say and listening to the non-incentivized practitioners instead.
        • darkerside 24 minutes ago
          Can we get specific? What company and salesperson made what claim?

          Let's not disregard interesting achievements because they are not something else.

      • BobbyJo 29 minutes ago
        Yes! I can't tell you the number of times I thought to myself "If only there was a way for this problem to be solved once instead of being solved over and over again". If that is the only thing AI is good at, then it's still a big step up for software IMO.
        • fiyec30375 0 minutes ago
          Why is this getting down voted? It's true. Why should everyone look up the same API docs and make the same mistakes when AI can write it for you instantly and correctly.
      • boplicity 27 minutes ago
        To be clear, I see a lot of "magical thinking" among people who promote AI. They imagine a "perfect" AI tool that can basically do everything better than a human can.

        Maybe this is possible. Maybe not.

        However, it's a fantasy. Granted, it is a compelling fantasy. But its not one based on reality.

        A good example:

        "AI will probably be smarter than any single human next year. By 2029, AI is probably smarter than all humans combined.” -- Elon Musk

        This is, of course, ridiculous. But, why should we let reality get in the way of a good fantasy?

      • spzb 25 minutes ago
        > Why? People don't ask hammers to do much more than bash in nails into walls.

        No one is propping up a multi-billion dollar tech bubble by promising hammers that do more than bash nails. As a point of comparison that makes no sense.

    • anon7000 43 minutes ago
      You’re right, but at the same time, 99% of software people need has already been done in some form. This gets back to the article on “perfect software” [1] posted last week. This bookshelf is perfect for the guy who wrote it and there isn’t anything exactly like it out there. The common tools on the App Store (goodreads) don’t fit his needs. But he was able to create a piece of “perfect software” that exactly meets his own goals and his own design preferences. And it was very easy to accomplish with LLMs, just by putting together pieces of things that have been done before.

      This is still pretty great!

      1: https://outofdesk.netlify.app/blog/perfect-software

    • jungturk 46 minutes ago
      Much of the coding we do is repetitive and exists in the training data, so I think its pretty great if AI can eliminate that toil and liberate the meat to focus on the creative work.
      • SOLAR_FIELDS 20 minutes ago
        There’s a reason they call working at Google “shuffling protobufs” for the vast majority of engineers. Most software work isn’t innovative compression algorithms. It’s moving data around, which is a well understood problem
    • pranavm27 31 minutes ago
      Its good that way right? Let me as a human do the interesting thinking for which my brains are meant while you AI do what they chips were built for.

      I am happy as is tbh, not even looking for AGI and all. Just that the LLM be close enough to my thinking scale so that it does not feel "why am I talking with this robot".

    • belter 1 minute ago
      Every two months, I run a very simple experiment to decide whether I should stop shorting NVDA....Think of it as my personal Pelican on a Bike test. :-)

      Here is how it works: I take the latest state of the art model, usually one of the two or three currently being hyped....and ask it to create a short document that teaches Java, Python, or Rust, in 30 to 60 min, complete with code examples. Then I ask the same model to review its own produced artifact, for correctness and best practices.

      What happens next is remarkably consistent. The model produces a glowing review, confidently declaring the document “production ready”… while the code either does not compile, contains obvious bugs, or relies on outright bad practices.

      When I point this out, the model apologizes profusely and generates a “fixed” version which still contains errors. I rinse and repeat until I give up.

      This is still true today, including with models like Opus 4.5 and ChatGPT 5.2. So whenever I read comments about these models being historic breakthroughs, I can’t help but imagine they are mostly coming from teams proudly generating technical debt at 100× the usual speed.

      Things go even worst, when you ask the model to review a Cloud Architecture....

    • skrotumnisse 27 minutes ago
      I find this type of comment depressing. This is a time for exploration and learning new things. This is a prefect way to do so. It’s a small project that solves the problem. Better time spent vibe coding it then to evaluate existing alternatives.
    • SJMG 48 minutes ago
      https://thenewstack.io/how-deepminds-alphatensor-ai-devised-...

      Not either of the species of algorithms you've described, but still an advance.

      • spzb 28 minutes ago
        That's about as far removed from vibe coding as you can get. It's the result of an algorithm developed for a specific purpose by researchers at one of the most advanced machine learning companies.
    • zellyn 22 minutes ago
      trifling.org is an entire Python coding site, offline first (localstorage after first load), with docs, turtle graphics, canvas, and avatar editor, vibe coded from start to finish, with all conversations in the GitHub repo here: https://github.com/zellyn/trifling/tree/main/docs/sessions

      This is going to destroy my home network, since I never moved it off the little Lenovo box sitting in my laundry room beside the Eero waypoint, but I’m out of town for three days, so

      Granted, the seed of the idea was someone posting about how they wired pyiodide to Ace in 400 lines of JavaScript, so I can’t truly argue it’s non-trivial.

      As a light troll to hackernews, only AI-written contributions are accepted

      [Edit: the true inception of this project was my kid learning Python at school and trinket.io inexplicably putting Python 3 but not 2 behind the paywall. Alas, Securely will not let him and his classmates actually access it ]

    • MontyCarloHall 42 minutes ago
      Forget utterly groundbreaking things, I want to hear maintainers of complex, actively developed, and widely used open-source projects (e.g. ffmpeg, curl, openssh, sqlite) start touting a massive uptick in positive contributions, pointing to a concrete influx of high-quality AI-assisted commits. If AI is indeed a 10x force multiplier, shouldn't these projects have seen 10 years' worth of development in the last year?

      Don't get me wrong, AI is at least as game-changing for programming as StackOverflow and Google were back in the day. Being able to not only look up but automatically integrate things into your codebase that already exist in some form in the training data is incredibly useful. I use it every day, and it's saved me hours of work for certain specific tasks [0]. For tasks like that, it is indeed a 10x productivity multiplier. But since these tasks only comprise a small fraction of the full software development process, the rest of which cannot be so easily automated, AI is not the overall 10x force multiplier that some claim.

      [0] https://news.ycombinator.com/item?id=45511128

      • simonw 3 minutes ago
        > I want to hear maintainers of complex, actively developed, and widely used open-source projects (e.g. ffmpeg, curl, openssh, sqlite) start touting a massive uptick in positive contributions

        That's obviously not going to happen, because AI tools can't solve for taste. Just because a developer can churn out working code with an LLM doesn't mean they have the skills to figure out what the right working code to contribute to a project is, and how to do so in a way that makes the maintainers lives easier and not harder.

        That skill will remain rare.

        (Also SQLite famously refuses to accept external contributions, but that's a different issue.)

      • zwnow 39 minutes ago
        > Being able to not only look up but automatically integrate things into your codebase that already exist in some form in the training data is incredibly useful.

        Until it decides to include code it gathered from a stackoverflow post 15 years ago probably introducing security related issues or makes up libraries on the go or even worse, tries to make u install libs that were part of a data poisoning attack.

        • MontyCarloHall 34 minutes ago
          It's no different from supervising a naïve junior engineer who also copy/pastes from 15 year old SO posts (a tale as old as time): you need to carefully review and actually grok the code the junior/AI writes. Sometimes this ends up taking longer than writing it yourself, sometimes it doesn't. As with all decisions in delegating work, the trick is knowing ahead of time whether this will be the case.
          • spzb 32 minutes ago
            Naive junior engineers eventually learn and become competent senior engineers. LLMs forget everything they "learn" as soon as the context window gets too big.
            • MontyCarloHall 30 minutes ago
              Very true! I liken AI to having an endless supply of newly hired interns with near-infinite knowledge but intern-level skills.
      • anthonypasq 31 minutes ago
        the creator of claude code said on twitter he hasnt opened an ide in a month and merged 200 prs.
        • MontyCarloHall 24 minutes ago
          Might the creator of Claude Code have some … incentives … to develop like that, or at least claim that he does?

          As someone who frequently uses Claude Code, I cannot say that a year's worth of features/improvements have been added in the last month. It bears repeating: if AI is truly a 10x force multiplier, you should expect to see a ~year's worth of progress in a month.

          • simonw 2 minutes ago
            Opus 4.5 is just a few days over a month old. Boris would have had access to that for a while before its release though.
      • spzb 34 minutes ago
        curl in particular is being plagued by AI-slop security reports which are actively slowing development by forcing the maintainers to triage crap when they could be working on new features (or, you know, enjoying their lives) eg https://www.theregister.com/2025/07/15/curl_creator_mulls_ni...
    • Forgeties79 51 minutes ago
      And to add to this, for some reason people really bristle if you say that many LLM’s are just search with extra steps. This feels like an extension of that. It’s just reinventing the wheel over and over again based on a third party’s (admittedly often a solid approximation but still not exact) educated guess of what a wheel may be. It all seems like a rather circuitous way to accomplish things unless your goal isn’t to build a wheel but rather tinker and experiment with the concept of a wheel and learn something in the process. Totally valid, but I’m pretty sure that’s not what open AI et al are pitching lol
    • cube2222 24 minutes ago
      > If AI coding is so great and is going to take us to 10x or 100x productivity

      That seems to be a strawman here, no? Sure, there exist people/companies claiming 10x-100x productivity improvements. I agree it's bullshit.

      But the article doesn't seem to be claiming anything like this - it's showing the use of vibe-coding for a small personalized side-project, something that's completely valid, sensible, and a perfect use-case for vibe-coding.

    • dboreham 27 minutes ago
      This comment is wrong in two ways:

      1. Current LLMs do much better than produce "small programs that already exist in multiple forms in the training data". Of course the knowledge they use does need to exist somewhere in training data, but they operate at a higher level of abstraction than simply spitting out programs they've already seen whole cloth. Way higher.

      2. Inventing a new compression algorithm is beyond the expectations of all but the the most wild-eyed LLM proponents, today.

      • blauditore 23 minutes ago
        2. is not really true. There are famous people claiming that AI will fix climate change, so we as humans should stop bothering.
    • rvz 47 minutes ago
      > let's see it generate a new, highly efficient compression algorithm or a state-of-art travelling salesman solution.

      This is the "promise" that was being sold here and in reality, we yet haven't seen anything innovative or even a sophisticated original groundbreaking discovery from an LLM with most of the claims being faked or unverified.

      Most of the 'vibe-coding' uses here are quite frankly performative or used for someone's blog for 'content'.

    • fiyec30375 5 minutes ago
      [dead]
  • Tiberium 1 hour ago
    > 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 :)

    • AtreidesTyrant 1 hour ago
      This style of writing isnt human. Its AI.

      ^^ These dramatic statements are almost always AI influenced, I seem to always see them in people's emails now as well. "we didnt reinvent the wheel. we are the wheel."

      • TheChelsUK 39 minutes ago
        You are absolutely right. It’s not X that’s the give away, it’s A, and B — moreover it’s C that is the clincher.
      • skybrian 37 minutes ago
        AI is popularizing a writing style that has been common in advertising for quite some time. For example, Apple uses it a lot. Now everyone can imitate advertising copy.
      • Tiberium 1 hour ago
        Yeah, I know, I just feel like at this point it's useless to call that out.
      • delichon 1 hour ago
        We can learn useful rhetorical techniques from AI that can help us clearly communicate. We should separate those babies from the bathwater.
        • skydhash 8 minutes ago
          You can also just find a book on writing. I recommend "On Writing Well" by William Zinsser. Dense and quite informative.
        • estearum 1 hour ago
          So far, any "useful rhetorical technique" one could've learned from AI has become a dead giveaway of AI slop (lazy writing and lazy thinking).

          Seriously: what tool do you want to use that's immediately available to the absolute lowest common denominator "writers" on the Internet?

          "It's not X, it's Y" literally makes my stomach churn from seeing so much of it on LinkedIn.

        • F7F7F7 1 hour ago
          Rhetorical techniques that are so easily identifiable as AI now.
    • pranavm27 36 minutes ago
      I feel ya but it didn't get me on this one for some reason. But it gets me a lot on Linkedin - due to which I lost control and blasted off a post yesterday.

      I think it some kind of value - vibe dynamics that play in making the brain conscious about it being written with AI or otherwise.

  • m-hodges 1 hour ago
    > 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.

    • JKCalhoun 1 hour ago
      Agree. We've all had occasional hilarious results when interacting with an LLM. If 90% of the interactions produce positive results… that's an improvement over my what I've come to expect plowing through Google search results.
  • nindalf 1 hour ago
    This 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.

    • tharos47 45 minutes ago
      Do you have the code for your book library ? I wanted to do something similar to help me remember the books I read in a year too.
  • yoz-y 28 minutes ago
    At 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/

  • tahirk99 1 hour ago
    The 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.
  • felixding 2 hours ago
    Neat. 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

    • pixelmonkey 41 minutes ago
      Wow, this is cool. I had COMPLETELY forgotten about Delicious Library. That is such a nice look-and-feel for this sort of app.
    • dewey 1 hour ago
      I was about to post something about Delicious Library. That's one of my earlier Mac user memories and it always gave me joy to import / organize my books in there even if there's no real reason to do it.
  • dawnerd 25 minutes ago
    I’d love to see how much it cost though, particularly around the images.
  • wek 1 hour ago
    "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.

  • walthamstow 24 minutes ago
    > 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!

  • butlike 1 hour ago
    It'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.
  • pranavm27 44 minutes ago
    Love 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.

  • monerozcash 1 hour ago
    It'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.
  • ear7h 1 hour ago
    > 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.

  • cube2222 1 hour ago
    That’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.

  • samwho 2 hours ago
    I 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?

    • balajmarius 1 hour ago
      Thanks! Honestly, there’s no big utility behind it. I didn’t build it to optimize anything or track data, it just felt good to make.

      I want my website to slowly become a collection of things I do and like, and this bookshelf is just one of those pieces.

      • AtreidesTyrant 1 hour ago
        I like that it's fun, and that is what AI vibe coding should be.
  • zittur 1 hour ago
    I 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.
  • bhouston 2 hours ago
    Good 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...

  • godber 46 minutes ago
    “the cost of trying ideas had collapsed”

    This is a critical observation of the vibocene.

  • kgthegreat 2 hours ago
    While currently taste is what we are banking on the thing humans will continue doing but I don’t think that will last for long.
    • neogodless 2 hours ago
      It is easy to defer to the "taste" of the mathematically mixed up assessment of "all internet-recorded human taste" if you prefer. And many will choose that. But many others will choose to remain in charge of their own taste, as best they can, and request that the machines still produce output per their bidding.
      • MattRix 2 hours ago
        Well no, you just need to tune the taste of the model to produce things that humans find appealing. This has already happened with the image generation models. I don’t see any reason it can’t happen with these code generation models too.

        The whole thing feels a bit like god-of-the-gaps situation, where we keep trying to squeeze humanity into whatever remaining little gaps the current generation of AI hasn’t mastered yet.

    • micromacrofoot 2 hours ago
      yeah there's nothing special about taste most of the time, very few people even have a decent sense of it anyway

      you can tell by how many people earnestly share AI generated images, many are completely tasteless but people don't care

      • wiseowise 2 hours ago
        Author has a great taste, you can see it by just visiting their website.
  • ionicabizau 1 hour ago
    Wonderful 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!
  • TheChelsUK 42 minutes ago
    Please add an rss feed to your website/writing
  • kgthegreat 2 hours ago
    I wrote about how I think about the separation of intent and execution here : https://bikeshedding.substack.com/p/the-agency-continuum
  • pixelmonkey 1 hour ago
    Digitizing 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-fr33n0d3

    There 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!

  • vtemian 2 hours ago
    This nails what vibe coding actually is. The model handles execution, but intent and taste stay human. That’s where the real leverage is.
  • stanrunge 1 hour ago
    Very 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 :)
  • stevesearer 2 hours ago
    Great 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.

  • damnitbuilds 39 minutes ago
    I 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.

  • stevesearer 2 hours ago
    Sometimes 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.
  • guluarte 25 minutes ago
    one 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
  • mihaibalint 2 hours ago
    I Love the fact that the browser search functionality works in the bookshelf.
  • necromanc 2 hours ago
    This is a brilliant project—small, practical, and high-leverage.
  • asasidh 1 hour ago
    “Claude handled implementation. I handled taste.”

    This is the right mindset.

    • ikamm 1 hour ago
      This is an LLM-ism.
  • troupo 2 hours ago
    Speaking of SerpAPI: Why we’re taking legal action against SerpApi’s unlawful scraping https://news.ycombinator.com/item?id=46329109

    SerpAPI provides a very valuable programmatic access to search that Google are hell bent on never properly providing

  • kingkongjaffa 2 hours ago
    This 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 1 hour ago
    [dead]
  • xnx 1 hour ago
    Sounds 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