Ich war mal ein zufriedener Dante-Nutzer. Für alle, die die App nicht kennen: Dante war ein zuverlässiger Buch-Tracker für Android. Barcode scannen, Metadaten abrufen, Lesefortschritt verfolgen. Einfach, schnell und vor allem: Es hat funktioniert. Bis es dann plötzlich nicht mehr ging.
Bücher nach Titel oder Barcode hinzufügen? Die Such-API, auf die sich die App stützte, reagierte nicht mehr, sodass weder ISBN-Abfragen noch Titelsuchen mehr funktionierten. Backupfunktion? Auch kaputt. Im Dante-Github-Repository sieht es nicht besser aus: Seit langem keine Updates mehr, und die Funktionen, die von externen Diensten abhängig waren, funktionierten nicht mehr. Versteht mich bitte nicht falsch. Das ist kein Vorwurf, sondern einfach nur eine Tatsachenfeststellung. Interessen und Prioritäten können sich verlagern. (Das habe ich selbst erst erlebt als ich eines meiner eigenen Projekte an einen neuen Betreuer übergeben habe, weil ich nicht mehr mithalten konnte.) Aber zu verstehen, warum das so ist, macht es nicht weniger frustrierend, wenn es dein eigenes Bücherregal ist, das in einer App feststeckt.
Und da fing der eigentliche Ärger erst an. Meine eigenen Daten aus Dante herauszubekommen, war ein Albtraum. Es gab keine Exportfunktion mehr. Da mein Handy nicht gerootet ist, musste ich ein Python-Skript schreiben, das ADB und uiautomator2 nutzt, um halbautomatisch jeden einzelnen Bildschirm in der App zu crawlen und dann meine eigenen Lesedaten aus diesen Snapshots zu extrahieren. Lasst das mal sacken: Ich musste buchstäblich mein eigenes Bücherregal crawlen, Bildschirm für Bildschirm, um meine eigenen Daten zu retten. So sollte es nicht funktionieren…
Die Suche nach Alternativen
Natürlich habe ich mich umgeschaut. Goodreads? Gehört zu Amazon, voller Werbung, und deine Daten gehören dir nicht wirklich. Hardcover.app? Nett, aber SaaS. Deine Daten liegen auf dem Server eines anderen. Booklogr, Jelu, myBibliotheca: alle selbst gehostet, aber jede hatte ihren eigenen Unzulänglichkeiten (zumindest gemessen an meinen Wünschen). Eine der getesten Apps speicherte zum Beispiel keine Buchmetadaten. Stattdessen fragte sie bei jedem einzelnen Seitenrendering Open Library live ab. Die App ohne Internet öffnen? Es wird nur die Hälfte gerendert. Das ist in meinen Augen keine tolle Nutzererfahrung. Anderen Apps fehlten die Lesestatistiken, auf die ich nicht mehr verzichten will, oder sie sperrten grundlegende Funktionen hinter Werbung und kostenpflichtigen Tarifen.
Der rote Faden war immer derselbe: Meine Daten gehörten nie ganz mir. Entweder waren sie hinter einem Dienst weggekapselt, hingen von einer Internetverbindung ab oder wurden von einem Preismodell als “Geisel” genommen, das meinen eigenen Leseverlauf an mich zurück verkaufen möchte.
Also tat ich das, was jeder vernünftige Entwickler tun würde, nachdem er alle Möglichkeiten ausgeschöpft hatte. Ich habe mein eigenes System entwickelt.
Sag “Hi” zu LibrisLog
LibrisLog. Libris — Latein für Bücher. Log — wie loggen/Logbuch führen. Deine persönliche Bibliothek – auf deiner eigenen Hardware.
LibrisLog ist selbst gehostet, Open Source unter der MIT-Lizenz, und deine Daten werden in einer einzigen SQLite-Datei gespeichert. Du sicherst sie, du verschieben sie, du hast die Kontrolle darüber. Keine Werbung, kein Tracking, keine Anbieterabhängigkeit, kein Premium-Zugang, der deinen Leseverlauf hinter einer Paywall verbirgt.
Was kann es?
Deine Bibliothek, ganz nach deinen Vorstellungen. Vier Leselisten: „Möchte ich lesen“, „Lese ich gerade“, „Gelesen“ und „Nicht zu Ende gelesen“. Rasteransicht zum Stöbern, Listenansicht zum Überfliegen. Suche und sortiere alle Einträge.
Finde und füge Bücher hinzu, ohne die App zu verlassen. Durchsuche Open Library, Google Books und Hardcover.app direkt über die App. Oder scanne mit deinem Smartphone einen ISBN-Barcode: LibrisLog verfügt über eine integrierte Barcode-Scanfunktion in Echtzeit, eine native App ist nicht erforderlich. Sollte dein Buch in keiner Datenbank enthalten sein, kannst du es manuell eingeben.
Lesefortschritt, der ins Detail geht. Ein Schieberegler auf Seitenbasis für schnelle Aktualisierungen sowie eine vollständige Fortschrittsleiste pro Buch mit Editor, um eventuelle Fehleinträge zu korrigieren. Sieh genau, wann du was gelesen hast. Nicht nur ein einfaches „gelesen“ oder „nicht gelesen“.
Statistiken, die eine Geschichte erzählen.
Eine Kalender-Heatmap, die deine Leseaktivität über das Jahr hinweg anzeigt. Gelesene Seiten pro Monat. Beendete Bücher pro Zeitraum. Sprachverteilung. Top-Autoren. Und vieles mehr. Alles dargestellt in übersichtlichen, interaktiven Diagrammen.
Importiere viele verschiedene Formate. Kommst du von Goodreads? Lade deine CSV-Datei hoch und LibrisLog ordnet die Felder automatisch zu. Hast du eine generische CSV-Datei aus einer anderen App, dann definiere benutzerdefinierte Transformationen pro Feld und importiere sie. JSON? Wird auch unterstützt.
Cover-Grafiken? Kein Problem! Automatische Suche bei AbeBooks, Open Library, Amazon, Hardcover und weiteren Diensten. Nicht zufrieden mit dem Ergebnis? Füge eine URL ein, lade eine Datei hoch oder wähle aus den Suchergebnissen aus. Du hast immer die Kontrolle.
Mehrbenutzerfähigkeit vom ersten Tag an. Admin-/Benutzerrollen, benutzerspezifische Bibliotheken und optionales OIDC-Single-Sign-On. Eine Instanz reicht für euren gesamten Haushalt.
API-First per Desgin. Das Backend ist eine REST-API mit OpenAPI-/Swagger-Dokumentation. Erstelle API-Schlüssel über die Web-UI und starte dein eigenes Dinge. Automatisieren, eigenes Frontend oder ein Plugin für das persönliche Dashboard? Alles möglich.
Mehrsprachigkeit. Englisch und Deutsch, mit einem Lokalisierungs-Framework (i18n), das für weitere Sprachen bereit ist.
Ein paar Worte zur Entwicklung
Nach fast zwanzig Jahren, in denen ich Code von Hand geschrieben habe, war die Entwicklung von LibrisLog eine aufschlussreiche Erfahrung. Ich habe während des gesamten Projekts KI-gestützte Programmierwerkzeuge (vorwiegen OpenCode) eingesetzt, aber dennoch bewusst die Kontrolle behalten. Der Arbeitsablauf sah so aus: Zuerst habe ich die Architektur erdacht und dann daraus einen Plan schreiben lassen, diesen gegen gelesen und angepasst, bis er meinen Anforderungen entsprach. Anschließend habe den Agenten den Code und die Tests schreiben lassen. Schließlich habe ich jede einzelne Änderung manuell überprüft. Wo nötig, habe ich die Lösung selbst überarbeitet, bis sie meinen Erwartungen entsprach und erst danach committet. So ging es Feature für Feature.
Das ist kein „Vibe-Coding“ im Sinne von “ich will eine Buch-App, mach mal bitte!”, sondern mehre das gezielte Orchestrieren der Entwicklung. Ähnlich als hätte man ein Team aus Junior-Devs, denen man die Architektur vorarbeiten und deren Code man penibel reviewen muss. Letztendlich überprüft ein Mensch, entscheidet ein Mensch und ist ein Mensch verantwortlich. Das ist ein Prinzip, bei dem ich keine Kompromisse eingegangen bin.
Der Stack ist bewusst schlank gehalten: Svelte 5 mit SvelteKit im Frontend, FastAPI mit SQLModel im Backend, SQLite für die Datenhaltung. Zwei Docker-Container, eine Datenbankdatei.
Ausprobieren? So geht’s los.
LibrisLog ist so konzipiert, dass es innerhalb weniger Minuten einsatzbereit ist:
mkdir librislog && cd librislog curl -O https://raw.githubusercontent.com/codebude/librislog/main/docker-compose.yml curl -O https://raw.githubusercontent.com/codebude/librislog/main/.env.example cp .env.example .env # generate a random secret key sed -i "s/CHANGE_ME_TO_32PLUS_CHARS/$(openssl rand -base64 32)/" .env docker compose up -d
Öffne http://localhost:8001, erstelle deinen Account und pflege deine ersten Bücher ein. Das war’s schon.
Wie geht es weiter?
LibrisLog wird aktiv weiterentwickelt und ist offen für Beiträge/Pull Requests. Wenn du nach einem Buch-Tracker suchst, der deine Daten und deine Privatsphäre respektiert, probiere es doch einfach mal aus:
- GitHub: github.com/codebude/librislog
- Dokumentation: codebude.github.io/librislog
- API Referenz: codebude.github.io/librislog/api
Hast du einen Fehler gefunden? Hast du eine Idee? Möchtest du, dass Deutsch nicht die einzige nicht-englische Option ist? Fragen, Rückmeldungen und Pull-Requests sind auf GitHub jederzeit gern gesehen.
LibrisLog wird unter der MIT-Lizenz veröffentlicht. Keine Werbung. Kein Tracking. Kein Abonnement. Deine Daten, deine Regeln.

