Rajgruha

A digital public infrastructure for India’s public libraries.

Role
Research, service design, prototype
Timeline
8 weeks at NID
Status
Live search, proposed service

The question

In a digital-first world, what is a physical public library for?

India has plenty of public libraries, and digital natives barely use them. eGranthalaya alone lists 5,380 libraries and 2.8 crore catalogue records. Of the 27 people I surveyed, 12 had ever used a government public library.

Systems mapping

Nothing faces the public. That’s the gap.

Money, laws and software all stop at the branch. None of it is built to reach readers. eGranthalaya is the one place where library records already exist, so that’s where a way in for readers could start.

Policy and money
Ministry of CultureFunding, strategy
RRRLFMatching grants
State governmentsLibrary Acts in 19 states
Local bodiesOperational control
Central grants
State budgets
Library cess
Platforms and data
MeitYDigital infrastructure
NIC, MeghrajPlatform, cloud
eGranthalaya 4.05,380 libraries, 2.8 crore records. Built for librarians.
76 clustersSeparate, searched one at a time
Other systemsState Koha networks, and more
NDLINational archive
NVLINational archive
Other digital corporaSubject and institutional collections
Archives: no link to any library’s shelves
Libraries
State and districtCentral libraries
City and wardMunicipal branches
Gram panchayatRural branches
LibrariansStaff login. Where shelves aren’t numbered, you ask them.
AcademicSchools, universities
InstitutionalGovernment, closed
CulturalForeign governments
PrivateCompanies, trusts
IndependentCommunity-run
Discovery layer
Open rails, and a public front on topOpen specifications from the government, with apps on top that reach every kind of library.
Readers
Digital natives27 surveyed
Bookstores, LibGen, AmazonWhere the habit is today
Policy andmoneyPlatformsand dataLibrariesDiscoverylayerReadersPublic librariesOther librariesNo link to any library’s shelvesOnly some branchesMinistry of CultureFunding, strategyRRRLFMatching grantsState governmentsLibrary Acts in 19 statesLocal bodiesOperational controlCentral grantsState budgetsLibrary cessMeitYDigitalinfrastructureNIC, MeghrajPlatform, cloudeGranthalaya 4.05,380 libraries, 2.8 crore records.Built for librarians.76 clustersSeparate, searchedone at a timeOther systemsState Kohanetworks, and moreNDLINationalarchiveNVLINationalarchiveOther digital corporaSubject and institutionalcollectionsState and districtCentral librariesCity and wardMunicipal branchesGram panchayatRural branchesDigital natives27 surveyedBookstores, LibGen, AmazonWhere the habit is todayLibrariansStaff login. Where shelves aren’t numbered, you ask them.AcademicSchools, universitiesInstitutionalGovernment, closedCulturalForeign governmentsPrivateCompanies, trustsIndependentCommunity-runOpen rails, and a public front on topOpen specifications from the government, with apps on top that reach every kind of library.ABCDE
  • Money
  • Records
  • Runs or hosts
  • Proposed
EasyEffortHardTinyLeverageMassiveAOpen rails, a frontThe direction I choseBA better eGranthalayaEasy, tiny leverageCPolicy and cessDBuildings and staffEA digital archive

eGranthalaya works as designed. It was designed for librarians.

NIC built it with a dream of “a single window access system … for government libraries”, and for librarians it is one. Readers were never part of the brief.

Research capture of the eGranthalaya portal with cluster selection and staff login.
An administrative entranceCluster selection and staff credentials came before a clear public starting point.
City Central Library catalogue capture with keyword, field and matching-rule search controls.
Readers had to know what to search forKeyword, field and matching rules helped exact searches. Undecided readers needed another way in.
Catalogue research capture showing bibliographic results and separate links to view holdings.
A record, then another stepBibliographic records led to holdings links. Finding a copy still needed a connected journey.

On the ground, one catalogue kiosk was dark and another was on but had no internet, the catalogue address had to be typed by hand, and a shared login was printed openly on a sign.

It isn’t only Bengaluru. A 2024 study of Maharashtra’s public-library catalogue found its search problems were “mainly relevant to the system”, not to the people searching. When Madhya Pradesh put 528 colleges on eGranthalaya at once, so few students registered that the state had to run a campaign.

A tall catalogue kiosk at City Central Library, Malleshwaram, showing the eGranthalaya home page, beside a staircase
Malleshwaram’s kiosk: switched on, but with no internet.
A printed sign at Malleshwaram giving the catalogue’s web address and a shared login, with the login values blanked
Malleshwaram’s catalogue address and shared login. I’ve blanked the login.
A grey catalogue kiosk with a dark screen beside wooden shelves at State Central Library
A catalogue kiosk at State Central, screen dark.

The insight

Two realistic options: redesign eGranthalaya, or open its records to everyone.

My first instinct was to redesign the portal. The map changed my mind: a better portal is still a staff tool, and every library stays an island. The records were never the problem. The missing piece was a layer that faces readers.

  • Redesign eGranthalayaEasy, and small. Still for librarians, still one cluster at a time, and only the libraries already on it.
  • Open rails, and a public frontHarder: it needs the government to agree. But every kind of library is reachable, and the records stay where they are.

Redesigning the portal would be a band-aid. Public libraries need surgery.

The libraries

So I went to all kinds of libraries.

First a library walk hosted by IIHS and the Goethe-Institut, then my own visits across Bengaluru, Delhi and Gurgaon, looking at the same three things: discoverability, digital readiness and ambience.

12 places, 3 cities. Pick a photo, a label or a city.

Every book has an address. You’re expected to know how to read it.

And it isn’t the same in every library.

Some libraries shorten the number, some add their own prefixes, and some don’t use Dewey at all. Learning one library’s system doesn’t help you in the next.

Every library breaks somewhere different.

You’re in the library and want one book. Instead of browsing the shelves or asking the librarian, you go through the catalogue. Here’s how far it gets you.

At Yelahanka, borrowing starts on paper.

A yellow Karnataka government borrower card from City Central Library, North Zone, Malleshwaram, picked up at Yelahanka, with blanks for a name, address and sample signature
The borrower card, on Malleshwaram’s lending terms.
A blank Application for Borrowing Books from City Central Library, North Zone, listing deposits of 50, 75 and 100 rupees for one, two and three books
The application: a deposit of ₹50 to ₹100, for one to three books.
The back of the application, listing who can recommend the applicant: members of Parliament and the state legislature, the District Central Library Authority, gazetted officers and heads of recognised institutions
Its back asks for a recommendation, and lists who can give one.

At Coforge, the number is inside the cover.

A row of identical pale green Penguin Modern Classics spines at Coforge Public Library
Identical from the shelf, and no number on the spine.
The first page of Cat’s Cradle with a number and LIT handwritten at the top corner
You open the book to find its number.
A shelf label reading Animals, search code ANI, with the Coforge Public Library logo
The shelf labels name a whole section.

Curation

Some spaces have what a catalogue can’t: curation and a wider world.

Champaca’s children’s library shelf with a handwritten signA wrapped book with its genre and year showing, above a Blind date signA poetry shelf with handwritten notes on yellow card
Champaca: curation notes, and categories like “Kannada Horror Books”.
Bright shelves at the Goethe-Institut libraryA group around a table at Alliance française
Goethe-Institut and Alliance française: cosmopolitan collections and event programming.

Events

And some give you a reason to walk in.

Two posters on a wooden door at Champaca for Sunday book discussions: Benyamin in conversation with Karthik Venkatesh, and Gautam Bhatia with the writers of Between Worlds
Champaca: authors in conversation, on Sundays.
Champaca’s door with a QR code to join its WhatsApp community and a poster for the Book Box subscription
A WhatsApp community, and a book box by subscription.
A Mayday poster for a six-day children’s theatre festival in Shadipur, 2025, with the schedule of plays
Mayday: a six-day children’s theatre festival.
Champaca’s noticeboard with a call for museum volunteers, a children’s activity flyer and Kathak classes
A noticeboard for the neighbourhood.

Readers

They love books. That doesn’t extend to public libraries.

I surveyed 27 digital natives and interviewed 4. Their libraries were the ones they were enrolled in: all of them had used a college library. Otherwise, reading moved online or to a shop.

Exploratory, from 27 people, 21 of them students. Not a population estimate.

Why? They don’t know what’s near, and don’t expect much of it.

Digital platforms didn’t help.

15 of 27 had never tried a government digital library, and those who had mostly rated it 2 or 3 out of 5. “Loading time, unable to download.” “Do pirating websites count T.T”

So I showed them Oodi.

A walkthrough video of Helsinki’s central library, then the question of what they’d use a place like it for.

Stated intent after a video. The 26 includes “maybe, if more comfortable or modern”.

What it indicated

What those three things indicated.

The opportunity

We live with information abundance, and yet we seem more lost and unsure than ever.

AI summaries give us confidence we haven’t earned. Language models are probabilistic, so a summary can’t be trusted until it’s verified, and the world is filling up with them. When 22 public broadcasters tested four AI assistants on the news, 45% of answers had a significant issue.

Libraries as the intellectual and epistemic backbone of society.

Maybe that’s the answer to the question I started with. But how do we operationalise it?

Build it like public infrastructure, not like an app.

India already has a model. UPI lets any bank account work in any app, and ONDC lets a seller listed once reach every buyer app. The G20 calls this digital public infrastructure: shared systems built from minimal, modular blocks. Libraries fit it well. The records already exist, and they’re publicly funded.

So the work splits in two. The government builds the rails, the way NPCI built UPI: open specifications for catalogue records, live holdings, a registry of libraries and a standard code for every book. On top sits something like BHIM: a reference app that proves the rails work, with room for anyone else’s beside it. The records stay where they are, and membership and lending stay with the branch.

Other governments already open their catalogues this way. Singapore’s National Library Board has a catalogue search API with live availability at its libraries, and Australia’s Trove lets anyone with a free key build on the national collection. eGranthalaya’s records leave only through a staff login. There’s no public API to build on, and no standard feed that national collections like NDLI could gather them from.

Enter Rajgruha

A name from Ambedkar’s library. A mark from Buddhist chaitya arches and open books.

DM Sans
BookmaniaSet in Bookmania: The promise of a library is to provide truth. It is the ultimate arbiter of knowledge, maintaining epistemic integrity in a society flooded with noise.
  • Events
  • Nearby
  • Search
  • Read
  • Profile
Archive blue#082391
Warm yellow#FCB918
Green#134F43
Terracotta#CB4221
Rose#B05380
Violet#8F6CD5

Rails from the government, Rajgruha on top.

One catalogue, next, is the rails: what the government would build once, for everyone. Satyashodhak, the feed and curation are Rajgruha’s own, built on top. OneQR is both: a standard on the rails, and a feature in the app.

One catalogue

First, the biggest problem: one catalogue out of 76.

Even NIC can’t agree on the count: 76 clusters on its home page, 74 at login and 77 on its dashboard. That’s why a registry of libraries is one of the rails.

  • ExtracteGranthalaya clusters by scheduled export, NDLI and NVLI by API, independents by CSV
  • TransformNormalised into one schema
  • LoadDuplicates merge into one master record, with libraries listed as holdings

Once that exists, two opportunities appear. One search across every library.

Search the network and find it at your nearest library. Simple and location-specific, so it joins the habit: alongside, or ideally instead of, Amazon or LibGen.

  1. 709Every library’s books, in one catalogueAll records
  2. 1“gatsby” finds one book, not a copy per library245 Title, 100 Author
  3. 4On a shelf right now, across 3 libraries852 Held at, live status
  4. 360 mNearest first, from where you areMalleshwaram, then Cubbon Park, then Yelahanka
  5. OnlineAnd a copy to read now856 Online

OneQR

OneQR takes the reader from screen to shelf.

You don’t have to learn Dewey. Enter the library and you’re shown where the book is, with guidance to the shelf. Or show the QR and the librarian finds it for you. It also means instant checkout. This depends on Dewey being implemented and digitised on the ground. And it only works if every branch reads the same code, so OneQR should be an open standard on the rails, not a feature of one app.

  1. 1Find the shelfA route to the 800s, then 843.914 CAM
  2. 2Or ask the librarianShow the QR, and they bring the book to you
  3. 3One scan, and it’s issuedShare your profile, they scan the book’s code. No form, no register.

Back to those four libraries.

Satyashodhak

How do we make libraries the de facto source of truth?

Satyashodhak quotes verified books instead of generating answers. It’s the second digital-native behaviour: just ask. It fetches excerpts from a vector index, so it can’t make up the text, and it surfaces material you’d never have found. This is retrieval-augmented generation (RAG) with the generation made optional, and the more it scales, the more useful it becomes as an alternative to today’s answer engines.

It started with one book, on my laptop.

The smallest test that could fail, all on my laptop. First, indexing: the book is cut into passages, a local embedding model turns each one into a vector, a list of numbers standing for its meaning, and a FAISS index stores them. Then retrieval: your question becomes a vector the same way, and FAISS returns the passages closest to it, with their pages. Nothing is written, so nothing can be made up.

Dashed: indexing, done once. Orange: retrieval, every question.
Early local book-search experiment with a question, retrieved passages and source links
Both results come from the one book. The 0.99 is how similar the text looks, not how true it is.

Where it fell short.

Then a whole collection, live.

The National Science Digital Library had no way to get inside its text and answer questions semantically. So: 553 books, 43,219 passages, every page. The passages become vectors once, ahead of time. When you ask, a small model in your browser does the same to your question, so a search doesn’t need a paid AI call. The server compares it with every passage, adds a small boost for shared keywords, and keeps some variety across books. Back in your browser, each sentence of those passages is checked against the question, because one sentence can answer what a whole page blurs. Because of the feedback on bare excerpts, a short Gemini summary can sit on top. The excerpts are never rewritten.

Confidence score, out of 100: how closely a passage’s best sentence matches your question

  • 80+80 and upLikely answers it
  • 60+60 to 79Related
  • <60Below 60Hidden
Dashed: done once. Orange: every question.
With the summary on. Ask your own question ↗
  • Soil depth: It varies with the landscape depending on the slope, weathering parent material and vegetation. Soil Erosion Depletion of the top layers of the soil from the land is called soil erosion . Water, wind, ice and anthropogenic activities are the main agents of soil erosion. Deforestation, industrialization, urbanization, roads and railway tract construction and poor agricultural practices are the anthropogenic activities that accelerate this process and make the land unfit for the growth of natural ecosystems as well as for cultivation. Consequeces of soil erosion • It reduces the productivity of land by reducing its fertility. • Economy of the country is affected. • It also affects the other natural resources as the sediment gets into the streams rivers and lakes; the aquatic habitat is affected resulting in reduced aquatic food production.

    Abiotic Factors, page 32. Narula, Laxmi Chakrabarty, Rina.Open the book

Future: answers made of excerpts.

I haven’t tried building this yet, but here’s what I’d want. Instead of a list, the answer is a layout made of the authors’ sentences. The agent never writes them: it sends the layout as data, the way A2UI does, and each quote is only a pointer to a sentence in a passage. Perplexity writes and cites; this would let the authors speak.

At scale: millions of books.

NSDL is short teaching modules; a real book is about 500 passages. If I took this to HathiTrust’s 17.6 million volumes, that’s around 9 billion passages, roughly 7 TB of vectors. When I worked it through, search wasn’t the hard part: DiskANN searched a billion vectors on one machine in under 3 ms, so that’s about nine machines. Judging what comes back is.

Built once beforehand: every book read in, with OCR for scans, then split and embedded.

That judge is where I’d experiment. System One models like Jev don’t write: they answer a question about an input with a probability, cheap enough for hundreds of candidates, and unable to reword an author. One recent paper found them no better than tuned rerankers, though Jev matched them, so it’s a test to run.

Using Rajgruha

First pass: a map of nearby libraries. It wasn’t the point.

It seemed less important than what people actually needed: which libraries are nearby, and the events that could lead them in. So: browse libraries and events, with a dynamic feed. It shows the libraries near you, their collections and what events they hold, along with distant but interesting ones.

The feed.
Nearby, and what’s on.

Discovery first. Search second. Three ways to reach the same book.

A dynamic feed and a hybrid curation system, inspired by contemporary libraries, Coursera and reading lists. Systematised as the third way in.

Curation.
A question.
A title.

Your reading life, across every library.

Every loan, every library you’ve been to and every book you’ve saved lands in one place, whichever branch it came from. That only works because membership is shared on the rails, not kept separately by each library.

Borrow, and it’s there.
Save, and it’s there too.

Making it real

First, talk to officials.

The proposal rests on agreements I haven’t secured yet, so the next step is to go and ask. Three conversations decide whether it can work, and each has a short list of questions.

Then one pilot, small enough to say yes to.

A pilot needs both sides working. Rajgruha exists as a prototype, but librarians need their own MVP too: holdings, checkout with OneQR, and their events. Then the department publishes the rails for one cluster in Bengaluru, and the pilot runs for twelve weeks. It tests the rails as much as the app: Rajgruha is simply the first thing built on them. It reads the records that already exist, so branches change nothing about how they lend.

What I’d test, and how I’d know.

And what policy would need to change.

A pilot can prove the rails. Making them the norm needs a few rules to change, most of them about records and money.

ChangeWhy
Publish open library rails: specifications for catalogue records, live holdings, a library registry and OneQR, open to anyone to build onUPI did this for payments. BHIM and every other app came after the rails, not instead of them.
A floor for every public library, down to the ward: a digitised catalogue and Dewey on the spineAt Yelahanka there was nothing to search and no numbers to follow. Finding a book was luck.
Library cess that reaches the shelf: remitted on time, and tracked in publicBengaluru’s civic body collected ₹397 crore of library cess and didn’t pass it on.
A library act, with dedicated funding, in every stateAbout 19 states have one, and only a few levy a cess.
Let branches earn and keep it: events, room hire, and partnerships with cultural centres and publishersThe cosmopolitan and independent libraries fill their rooms with programmes. Public branches have no budget or licence to.
Membership without a gatekeeper: sign up with an ID, without a recommendationThe form at Yelahanka, on Malleshwaram’s lending terms, asks for a deposit and a recommendation from an MP, an MLA or a gazetted officer.

The problem isn’t access. It’s structure, curation and trust.

I started with a catalogue interface, and the research widened the problem. The harder part was deciding which connections to share, which to keep local, and which part to build well enough to test. Still open: the librarian’s workspace, partner access to catalogue records, and a pilot with a real branch.