My Google Summer of Code 2025 Journey: Building Lenny with the Internet Archive

September 26, 2025 (5d ago)

by ~ Roni Bhakta

The Problem: The End of Digital Ownership

Have you ever "bought" an ebook on a major platform and wondered if you truly own it? The publishing industry is rapidly shifting from ownable physical books to digital content that we can only rent. This trend eliminates the fundamental rights of ownership that allow libraries to build and preserve diverse collections for the future. It affects us all. In 2019, when Microsoft closed its ebook store, millions of readers lost access to the books they had purchased. This raises a critical question: what is a library that doesn't own any books?

Roni Bhakta

My name is Roni Bhakta, and I'm a full-stack developer from Maharashtra, India. In my hometown, finding technical mentorship can be a challenge. That's why being selected for Google Summer of Code 2025 with the Internet Archive was a transformative opportunity. It connected me with a global community dedicated to a mission I deeply believe in: universal access to knowledge. Inspired by pioneers like Aaron Swartz, I was excited to contribute to the future of digital libraries.

Our Contribution: The Lenny Prototype

During GSoC, I had the privilege of working with Michael E. Karpeles (Mek) and the Open Library team to build a project from scratch called Lenny.

Lenny is our answer to the problem of digital ownership. It's an open-source, self-hosted bookshelf that empowers libraries and individuals to securely store and lend the digital books they own. Think of it like a personal sidewalk library, but for your online books.

Lenny Project Mascot

Our Technical Approach and Strategy

Building a project with such long-term potential required sharp focus. Instead of trying to build a massive, two-sided marketplace from day one, we defined our minimum viable prototype by asking five key questions:

  1. Who is our audience, and what are they trying to do?
  2. Which of their problems are we positioned to solve?
  3. What missing feature would cause the project to fail?
  4. What components would have the biggest impact on the broader BookServer ecosystem?
  5. How will our audience actually use this system?

This process led us to a critical realization: before a marketplace can thrive, libraries need an affordable, easy-to-use system for managing the digital books they already have access to, like the thousands of high-quality open-access books available online.

Challenge 1: Storing Books Without Cloud Dependencies

Our goal was for Lenny to run anywhere—from a Raspberry Pi to a personal computer—without requiring deep knowledge of cloud services. To achieve this, we built a containerized system using a carefully selected open-source stack:

Challenge 2: Making Installation Effortless

A great tool that's difficult to install will never be used. The initial setup required manual configuration, which was a significant barrier. Our solution was to create a one-step installation script that handles everything:

You can try it yourself with a single command:

curl -fsSL [https://raw.githubusercontent.com/ArchiveLabs/lenny/refs/heads/main/install.sh](https://raw.githubusercontent.com/ArchiveLabs/lenny/refs/heads/main/install.sh) | sudo sh

Enhancing the User Experience With the core infrastructure in place, we focused on the reading experience. We integrated Thorium Web, an in-browser EPUB reader, allowing users to read books directly without separate apps. We also built a modern front-end, Lenny-app, using Next.js, Tailwind CSS, and TypeScript to provide a simple interface for browsing and borrowing.

Results and Impact Throughout GSoC, I made contributions across the entire ecosystem:

One of the most exciting outcomes was an unexpected "extra win." By prototyping with Thorium Web for Lenny, we were able to launch a new service on Archive.org called the Public Readium Service, which makes open-access EPUBs readable directly in the browser for everyone.

Key Lessons Learned This journey was an immense learning experience. My key takeaways include:

What's Next? The GSoC period may be over, but the work on Lenny continues. We are now focused on finalizing lending configuration tools, exploring purchase integrations, and working towards the grand vision of allowing Lenny instances to register directly with the Open Library catalog.

This project has been an opportunity to not only build software but to contribute to a model for the library of the future. My sincere gratitude goes to my mentor, Mek, and the entire Internet Archive community for their guidance.

If you're a developer, librarian, or anyone who believes in open access to knowledge, I invite you to join us.

Explore the project at the Lenny for Libraries website Here.

Check out our progress on GitHub.

To learn more about my work, visit my portfolio, connect with me on LinkedIn, or explore my contributions on GitHub.