VenSoc product · Public beta
BooksCentral
A social network and ranking system for book lovers, built country by country.
In short
BooksCentral is a social network and ranking system for book lovers, built and owned by VenSoc. Readers build a virtual bookshelf, rate and review titles, follow authors and correct catalogue pages themselves. The platform runs one country at a time, each with its own catalogue and weekly rankings on its own address. Pakistan is the first country, now in public beta.
- Built
- 2026, ground up
- Status
- Public beta — Pakistan is the first country
- Model
- One country per site, one account across all
- Rankings
- Weekly BookMARK and AuthorMARK, computed per country
- Revenue model
- Affiliate links, Author Pro and reader Premium subscriptions, sponsored placements
- Stack
- FastAPI and SQLAlchemy 2 on MySQL 8; React Router v7 with SSR
- Tested
- 157 backend and 157 frontend tests, 13 end-to-end journeys
- Accessibility
- WCAG AA, checked at four widths, mirrored for right-to-left
What is in it
- Catalogue
- Book and author pages that members create and correct themselves, with every edit passing through a moderation queue, full revision history, and a route for authors to claim their own page.
- Reading life
- Virtual shelves, ratings, reviews, author follows, friends, recommendations to friends, an activity feed and notifications — the social layer that turns a catalogue into somewhere a reader returns.
- Rankings
- Weekly BookMARK and AuthorMARK charts, computed in each country's own timezone from page views, shelf adds, reviews and follows, with a Bayesian prior so a handful of votes cannot top the chart.
- Bestseller lists
- Country editors upload each week’s bestseller list as CSV, and entries are matched to existing catalogue pages by ISBN or by title, so the list links through to real book pages.
- Revenue surfaces
- Affiliate buy links with click tracking, an Author Pro subscription, a reader Premium subscription, and sponsored placements with an advertising fallback — all present from the first release.
What does running one country at a time actually mean?
Running one country at a time means each country gets its own catalogue, its own weekly bestseller list, its own rankings and its own address, such as pk.bookscentral.org. A single account works across all of them, so a reader signed in on one country site is already signed in on the rest.
The alternative — one global catalogue with a country filter — fails on the thing readers care about most, which is relevance. A bestseller list that mixes markets is nobody's bestseller list, and a ranking dominated by the largest market makes every smaller country a rounding error. Separating them means a Pakistani reader sees Pakistani rankings, computed in Pakistani time.
The usual cost of that separation is operational: a new country becomes a deployment project. BooksCentral avoids that by choosing the country database from the hostname before any application code runs, so opening a country is a subdomain, a database and one admin form rather than a release.
Why do the weekly rankings need a Bayesian prior?
The weekly rankings need a Bayesian prior because raw averages reward obscurity. A title with a handful of five-star ratings from friends would otherwise outrank a title with hundreds of ratings and a strong average, and the chart would stop meaning anything within a week of launch.
The prior pulls every score toward the population mean in proportion to how little evidence stands behind it, so a title has to earn sustained attention rather than a burst of it. Rankings draw on page views, shelf adds, reviews and follows rather than one signal, because any single signal is trivially gamed, and they are computed in each country's own timezone so a week means the reader's week.
A ranking’s credibility is invisible when it works and obvious the moment it fails. A chart that a small coordinated group can capture loses reader trust immediately, and trust is the only asset a ranking has.
What does BooksCentral demonstrate for a client project?
BooksCentral demonstrates multi-tenant SaaS engineering that many firms describe and few have shipped: a separate database per tenant selected at the edge of the request, single sign-on across subdomains, and an interface that meets WCAG AA and mirrors for right-to-left languages.
The tenancy model is the transferable part. One codebase serves every country, one identity database holds accounts and billing, and middleware picks the country database from the hostname before any handler runs. That shape applies directly to any product sold per region, per franchise or per white-label partner, and it is far cheaper to design in at the start than to retrofit once a second tenant exists.
The rest is ordinary discipline made visible: 157 backend tests run against both MySQL and MariaDB, a matching 157-test frontend suite, 13 end-to-end browser journeys, and automated accessibility checks at four screen widths. VenSoc builds client systems the same way — BooksCentral is simply the one where the entire codebase is ours to show.
Common questions
- Is BooksCentral available to license?
- No. BooksCentral is a destination VenSoc owns and runs, not a platform sold to operators, and there is no plan to change that. The engineering underneath it is another matter — the multi-tenant architecture, the ranking engine and the moderation workflow are all patterns VenSoc builds for clients as bespoke work.
- When do other countries open?
- Pakistan is the first country and is in public beta, which is deliberately the slow part. Opening a country is a subdomain, a database and an admin form technically, but it also needs a seeded catalogue, an editor to maintain the bestseller list and enough members for a ranking to mean something. Further countries follow once those are proven in Pakistan rather than on a fixed date.
- Does a reader need a separate account for each country?
- No. One account works everywhere. A single session cookie is scoped to the parent domain, so signing in on one country site signs the reader in on all of them, and signing out ends every session at once. The home page is a world map: pick a country and you arrive already signed in.
