Version 1.0 · Windows desktop

A quiet home for
the books you own.

Rafaki is a local-first personal library for Windows. Catalogue your shelves, track what you are reading, and keep every page of it on your own machine — no account, no cloud, no subscription.

Rafaki-Setup-1.0.0.exe 93 MB installer Windows 10 & 11, 64-bit

Free forever MIT open source Works fully offline No sign-up
0
Accounts to create
100%
Stored on your machine
6
Built-in themes
MIT
Open source licence
Everything it does

A complete catalogue, not a to-read list.

Rafaki is built for the books already on your shelves — what you own, where it sits in your reading, and what the collection actually looks like.

Grid and list views

Browse covers on a shelf or scan a dense list with status, category and language at a glance. A hundred books read as easily as ten.

Add a book by ISBN

Type the ISBN and Rafaki fills in title, author, publisher, year and cover from Google Books, falling back to Open Library when it needs to.

Reading status

Mark each book Read, Reading or Unread, with an optional finished date that feeds straight into your yearly totals.

Categories you define

Create, colour, rename and delete your own categories — then filter the shelf down to just one of them. Six sensible starters are there on day one.

Language tracking

Badges and filters for English, Greek, Spanish, Italian, Chinese and Japanese, so a multilingual shelf stays legible. Adding another language is one line of config.

Search, filter, sort

Find by title, author or ISBN. Narrow by status, category and language. Sort by title, author, date added or date finished.

Duplicate detection

Rafaki recognises a book you already own by ISBN — or by title and author when there is no ISBN — before it lands on the shelf twice.

Statistics dashboard

Totals, reading progress, books by category and language, books finished per year, and your most recent additions — all computed locally.

Import, export, backup

Full lossless JSON for moving between machines, CSV for spreadsheets, and one-click backup and restore of the whole library.

Six personalities

Pick the room your library lives in.

Every theme is a full design-token set — colour, type, corner radius, borders, texture. The layout and behaviour never change; only the character does. Try them here.

Currently previewing Modern Minimalclean, calm and contemporary. Neutral colours and gentle shadows. Your choice is saved locally and restored the next time the app opens.

Local-first, genuinely

Nothing leaves your computer.

  • One file holds your whole library

    A standard SQLite database in your Windows user-data folder. Copy it, back it up, or open it with any SQLite tool — it is your file.

  • No account, no sign-in, no telemetry

    There is nothing to register for and nothing being counted. Rafaki has no analytics, no crash reporting and no usage tracking of any kind.

  • One optional network call, ever

    Looking up an ISBN queries Google Books, then Open Library. That is the only request Rafaki makes, only when you ask for it, and the result is cached locally.

  • Fully usable offline

    No dev server, no open port, no console window. Every feature except ISBN lookup works with the network unplugged — and lookup fails gracefully when it is.

where your data lives
# the entire library, one portable file
%APPDATA%\rafaki\rafaki.db

# created automatically on first launch
# survives app updates
# removed only when you remove it
what touches the network
ActivityLeaves your machine
Your books, notes and categoriesNever
Reading statisticsNever
Theme and settingsNever
Usage analyticsNone collected
ISBN lookup you triggerThe ISBN only
Three steps

Installed in about a minute.

No Node.js, no npm, no terminal, no database server. A normal Windows installer and a normal Windows uninstall.

  1. Download the installer

    Grab Rafaki-Setup-1.0.0.exe — 93 MB, 64-bit, Windows 10 and 11.

  2. Run the wizard

    Choose an install folder or accept the default. Rafaki installs for the current user, so no administrator prompt is needed.

  3. Open Rafaki

    Launch it from the Start Menu or the desktop shortcut. The local database is created on first run and you can start adding books straight away.

About the SmartScreen warning. The installer is not code-signed — a certificate costs money that a free app does not have — so Windows may show "Windows protected your PC" the first time you run it. Choose More info → Run anyway. The full source is public if you would rather build the installer yourself with npm run electron:build.

Under the hood

Boring in all the right places.

No servers to run, no ports to open, no background processes. Just a desktop app and a file.

Static shell, no dev server

The Electron window loads a static Next.js export over a custom app:// protocol. Nothing listens on a port and no console window appears in production.

SQLite, migrated on launch

better-sqlite3 creates and migrates the database automatically the first time you open the app. Synchronous, transactional and fast at any library size.

Typed IPC bridge

The renderer never touches the filesystem. It talks to a narrow, typed window.rafaki bridge, handled in the main process — context isolation intact.

Design tokens end to end

Components never hardcode a colour. One [data-theme] attribute re-skins the entire app instantly, which is why six themes cost almost nothing to maintain.

  • Electron 40
  • Next.js 16
  • React 19
  • TypeScript 5
  • Tailwind CSS 4
  • better-sqlite3
  • electron-builder
Questions

Before you download.

Is Rafaki really free?
Yes. Free, open source and MIT licensed. There is no paid tier, no subscription, no trial period and nothing to upgrade to.
Do I need an internet connection?
No. Every feature works offline. The single optional network call is the ISBN lookup, and when there is no connection it fails quietly and you can enter the book by hand.
Where exactly is my library stored?
In %APPDATA%\rafaki\rafaki.db — a standard SQLite file. You can copy it to another machine, keep it in a backup, or inspect it with any SQLite browser.
Why does Windows warn me about the installer?
Because it is not code-signed. SmartScreen flags any unsigned installer it has not seen before, regardless of what it contains. Choose More info → Run anyway, or build it yourself from the source.
Can I move my library to another computer?
Two ways. Export to JSON from the Import / Export screen and import it on the other machine, or simply copy rafaki.db across. The JSON export is lossless.
Is there a macOS or Linux build?
Not today — only a Windows x64 installer is published. Rafaki is built on Electron, so a port is technically feasible, but no other build is offered or supported right now.
Does it track reading progress by page?
No. Rafaki tracks status — Read, Reading or Unread — plus an optional finished date. It is a catalogue of what you own and where you are with it, not a page-by-page tracker.
Can I add books that have no ISBN?
Yes. Every field can be typed by hand, and duplicate detection falls back to matching on title and author when no ISBN is present.
Version 1.0.0

Put your shelves in order.

Download once, own it forever. No account, no cloud, no subscription.

Rafaki-Setup-1.0.0.exe 93 MB Windows 10 & 11, 64-bit MIT licence