← All projects
N° 0022026

Grimoire

A desktop book catalogue. Portable: a single Windows .exe with its database in the same folder, nothing to install.

Role
Concept, design and development, with Claude Code as coding agent.
Stack
  • Tauri 2
  • Rust
  • React
  • TypeScript
  • SQLite (FTS5)
  • Vite
  • Vitest
Status
Version 0.1 finished: an 11 MB portable build for Windows 10 and 11.
Grimoire with a real library: 29 books in grid view with their covers, and the list of sigils in the sidebar.

01The idea

A personal library that depends on no website and no account: copy the folder wherever you like and it works.

The name and the tone come from Vagrant Story (Square, 2000) and its cursed city, Lea Monde:

  • Grimoire: in the game, grimoires are the spell books you collect. Here, your book collection.
  • Sigils: tags are called sigils, like the seals that open doors in Lea Monde. Each sigil «opens» a part of the library.
  • Save point: creating a book sounds like saving your game.
  • Emblem: empty states show a ceremonial cross inside a ring, inspired by the game's iconography.

The nod is there for whoever recognises it.

02What it does

Grimoire was born to keep the home library catalogued in a place of my own: no accounts, no cloud and no dependence on any outside service.

What problem it solves

  • Knowing which books I have, where they are (shelf, room…) and their status (to read, reading, read).
  • Remembering who I lent a book to, and since when.
  • Finding any book instantly by title, author, synopsis or my own tags.
  • Keeping the information to bibliographic-record standard: edition, publisher, ISBN, pages, series, cover, synopsis and notes.

Principles

  • Your data is yours: everything lives in an SQLite database next to the executable; copy it to a USB stick and it keeps working.
  • Always fast: tested with 5,000 books, searches take between 3 and 31 ms.
  • Never lose anything: trash, undo, automatic backups and strict validation.
  • Beautiful without getting in the way: an aesthetic with character, but a clean interface with the «lore» kept to the details.

03Decisions

Tauri 2 instead of Electron: a small executable that uses the WebView2 Windows already ships with.

SQLite in WAL mode with versioned migrations. Validation lives in the Rust backend and every save runs in a transaction; the app refuses to open a database from a newer version.

If the .exe folder isn't writable, the data moves to the Windows user folder.