Skip to main content
RRaphaël Raclot
BlogGear
▾
Select your preferred language

    © 2026 Raphaël Raclot. All rights reserved.

    Back to blog
    DevelopmentDaily Life🇬🇧English
    9 March 20264 min

    Capybook: the reading app I built for myself

    Introducing Capybook, a free web app for tracking your reading life that I built with Next.js. From concept to launch, the story of a side project born from a reader's frustration.

    #Capybook#Next.js#React#Side Project#Reading
    Capybook, a reading tracking application

    Capybook: the reading app I built for myself

    You know that feeling? You finish an incredible book, someone recommends three more right away, you tell yourself "I'll remember those"… and two weeks later, it's all gone. The title, the author, the person who recommended it — everything. Or you're standing in a bookstore, unable to remember whether you've already read that book or not.

    That's exactly what kept happening to me. For months, I tried notebooks, phone notes, existing apps. Nothing really stuck. Either it was too complex, missing a key feature, or the interface made me want to run away.

    So I thought: what if I built my own tool?

    The result is Capybook — a free reading tracker web app, designed by a reader, for readers.


    What is Capybook?

    Capybook in one sentence

    Capybook is a free web app that lets you track your reading, organize your library, rate your books and discover new recommendations — all in a clean and pleasant interface.

    In practice, it's your digital reading companion. You can add every book you're reading, want to read, or have already read. You track your progress, leave reviews, set goals. And because reading is also about sharing, there's a community aspect that makes the experience even richer.

    Capybook interface showing a book page

    Feature tour

    Personal library & book search

    The heart of Capybook is your library. You can search for any book using the built-in search bar and add it to your collection in one click. Books are organized by status: currently reading, to read, finished.

    Book search in Capybook

    Reading progress tracking

    For each book you're currently reading, you can log where you are. It's satisfying to see your progress bar move forward, and it motivates you to keep going. No pressure, no judgment — just a visual tracker of your progress.

    Reviews, ratings & statistics

    Once you finish a book, you can rate it and leave a review. Over time, you build a real history of your reading life with statistics: how many books read this month, this year, which genres you prefer…

    Reading challenges & daily recommendations

    For the more motivated readers, Capybook offers reading challenges — goals that make reading even more engaging. And every day, you get personalized recommendations so you're never short on inspiration.

    Community & sharing

    Reading is often a solitary activity, but sharing your discoveries with other passionate readers is what makes it even richer. Capybook includes a social dimension for exchanging around books and reading.

    What Capybook lets you do

    • Search and add books to your library
    • Organize your reads by status (reading, to read, finished)
    • Track your reading progress
    • Rate and review your books
    • View your reading statistics
    • Take on reading challenges
    • Get daily personalized recommendations
    • Share and interact with the community

    Why I built Capybook

    Existing apps didn't cut it

    I've tried quite a few reading tracker apps. Goodreads is the giant in the space, but its interface feels dated and the user experience leaves much to be desired. Other apps look pretty but are too limited, or stuffed with unnecessary features that bury the essentials.

    What I wanted was something simple, fast and pleasant — a tool I'd actually enjoy opening to update my reading, not another chore.

    The joy of building something you use yourself

    As a developer, there's nothing more rewarding than building a tool you use every single day. Every feature in Capybook was born from a real need, a personal frustration. No useless features added "because it looks good" — every element has a purpose.

    It's also the best way to grow technically. When you're both the developer and the user, you don't let anything slide. Every bug annoys you personally, every improvement brings you joy.

    Why a capybara?

    You might be wondering why the mascot is a capybara. The answer is simple: the capybara is the most relaxed animal in the animal kingdom. Calm, chill, takes its time. That's exactly the vibe I wanted for this app — reading is a moment of calm and relaxation, not a race against the clock.

    And let's be honest, a capybara with a book is just adorable.

    Advice for developers: build for yourself

    If you're looking for a side project idea, start with a problem you face every day. You'll be your own most demanding tester, you'll know the requirements inside out, and you'll have the motivation to finish because you genuinely want to use it. That's the recipe for the best side projects.


    Under the hood

    Technical section

    What follows is for curious developers. If code isn't your thing, feel free to skip straight to the conclusion — Capybook works perfectly fine without understanding what's behind it!

    The tech stack

    Capybook is built with Next.js (App Router), providing a performant web application with excellent SEO and a smooth user experience. The app is also a PWA (Progressive Web App), meaning you can install it on your phone just like a native app.

    Next.js was a natural choice: Server Components for pages that don't need client-side interactivity, API Routes for the backend, and the file-based routing system that greatly simplifies the architecture.

    Book search

    One of the key features is book search. The idea is that you can type a book title and find it instantly with its cover, author and description.

    // Simplified example of the book search
    async function searchBooks(query: string) {
      const response = await fetch(
        `https://www.googleapis.com/books/v1/volumes?q=${encodeURIComponent(query)}&maxResults=10`
      );
      const data = await response.json();
     
      return data.items?.map((item: GoogleBookItem) => ({
        title: item.volumeInfo.title,
        author: item.volumeInfo.authors?.join(", "),
        cover: item.volumeInfo.imageLinks?.thumbnail,
        description: item.volumeInfo.description,
        pageCount: item.volumeInfo.pageCount,
      })) ?? [];
    }

    Responsive and PWA

    Something I put a lot of work into is the responsive design. Capybook needs to be just as pleasant to use on mobile as on desktop — and in practice, most users use it on their phone, often to update their progress right after a reading session.

    Being a PWA adds a layer of comfort: the app installs on your home screen, launches like a native app and works even with limited connectivity thanks to the service worker.

    Challenges faced & lessons learned

    The biggest challenge was finding the right balance between simplicity and features. It's tempting to keep adding more, but every addition adds complexity to the interface and risks drowning the user experience. I learned to say no to certain ideas — even good ones — to keep the app focused on what matters.

    The other challenge was book data management. Book APIs aren't perfect: missing covers, incomplete metadata, duplicates… I had to implement quite a bit of logic to deliver a clean experience despite sometimes chaotic data.


    Try Capybook

    Whether you devour three books a week or read one a month — Capybook is made for you. It's free, it's simple, and it's built with love by someone who uses it every day.

    No complicated sign-up, no intrusive ads, no data sold. Just a tool made to make your reading life a little more organized and a lot more fun.

    Key takeaways

    • Capybook is a free reading tracking app
    • Built with Next.js and available as a PWA
    • Library, progress, reviews, stats and challenges
    • Born from a passionate reader's personal need
    • Try it at capybook.app

    Table of Contents

    • Capybook: the reading app I built for myself
      • What is Capybook?
      • Feature tour
        • Personal library & book search
        • Reading progress tracking
        • Reviews, ratings & statistics
        • Reading challenges & daily recommendations
        • Community & sharing
      • Why I built Capybook
        • Existing apps didn't cut it
        • The joy of building something you use yourself
        • Why a capybara?
      • Under the hood
        • The tech stack
        • Book search
        • Responsive and PWA
        • Challenges faced & lessons learned
      • Try Capybook
    Share:

    About the author

    Raphaël Raclot is a French full stack developer passionate about cybersecurity and modern web technologies. He specializes in React, Next.js, and TypeScript, and shares his discoveries, projects, and insights here.

    Learn more about Raphaël
    PreviousPixora: my personal travel blog, built with Astro

    Related articles

    Screenshot of the Pixora website, a personal travel blog
    DevelopmentTravel
    🇬🇧

    Pixora: my personal travel blog, built with Astro

    Why I created Pixora, a travel blog separate from my developer portfolio, using Astro and Tailwind CSS. 47 countries, 156 articles, 30,000+ photos and practical tips for travelers.

    9 Mar 20262 min
    Illustration of the brain and dopamine facing social media
    PsychologyDaily Life
    🇬🇧

    Dopamine and Social Media: How Tech Hijacks Your Brain

    Discover how apps and social media exploit your dopaminergic system, and concrete strategies to take back control.

    7 Mar 202610 min
    Cybersecurity illustration with key terms
    DevelopmentCybersecurity
    🇬🇧

    10 cybersecurity terms every developer should know

    Discover 10 essential cybersecurity terms every developer should know to protect their applications and data from online threats.

    6 Mar 20265 min