Cmd K sucht in der App über alle Notizen.
NoteList
Notizen auf einer freien Fläche, verbunden wie ein Stammbaum und von mehreren Leuten gemeinsam bearbeitet. Läuft auf einem eigenen Kleinstrechner statt in einer Cloud.
Szene · Diese Seite liegt auf einer Fläche wie in NoteList: Jeder Block ist eine Notiz, und die Fäden zeigen, woran er hängt. Kein Screenshot.
- Art
- Eigenes Produkt
- Zeitraum
- Mai – Juli 2026
- Stand
- Läuft seit Sommer 2026 für eine kleine Gruppe.
- Technik
- Python · FastAPI · SQLite · Vanilla JS · Tailwind
Bilder
NoteList · Bild 1 von 4

NoteList · Bild 2 von 4

NoteList · Bild 3 von 4

NoteList · Bild 4 von 4

Worum es geht
Eine App für eine kleine Gruppe, die ihre Notizen nicht in einer Cloud haben will. Statt Listen gibt es eine freie Fläche: Jede Notiz hängt an einer anderen wie in einem Stammbaum, und wo zwei Gedanken zusammengehören, verbindet sie ein gestrichelter Faden. Mehrere Leute arbeiten im selben Space, am Laptop wie am Handy.
Das Gerät ist ein Raspberry Pi Zero 2 W mit 512 MB Arbeitsspeicher, und das hat jede technische Entscheidung bestimmt: eine SQLite-Datei statt eines Datenbankservers, Seiten vom Server statt eines Frontend-Frameworks, die Suche in derselben Datei statt in einer zweiten Datenbank.
Funktionen
Spaces für eigene oder geteilte Arbeitsbereiche, mit den Rollen Owner, Editor und Viewer
Notizen hängen als Fäden aneinander wie ein Stammbaum, dazu gestrichelte Querverbindungen zwischen beliebigen Notizen
Freie Fläche mit Pan und Zoom, auch per Touch und Pinch. Doppelklick oder Doppeltippen legt eine Notiz an
Volltextsuche über alle Spaces mit SQLite FTS5, per Cmd+K, die Fundstelle markiert
Mehrere Leute im selben Space – Änderungen der anderen erscheinen nach spätestens 15 Sekunden. Ändern zwei dieselbe Notiz, fragt die App, welche Fassung gilt, statt still zu überschreiben
Verlauf je Notiz mit den letzten zehn Fassungen, wiederherstellen per Klick
Anhänge bis 10 MB – Bilder mit Vorschaubild, PDF und Word-Dateien mit Vorschau im Fenster
Farben mit Filter, Auswahlmodus zum Löschen oder Kopieren mehrerer Notizen
Export je Space als JSON oder Markdown, konsistente Backups über den Backup-Befehl von SQLite statt Dateikopie
Technische Entscheidungen
Ausgelegt auf einen Raspberry Pi Zero 2 W mit 512 MB RAM – kein Frontend-Framework, kein JavaScript-Build. Nur das CSS baut Tailwind vorab auf dem Laptop, der Pi braucht zur Laufzeit kein Node
FTS5 statt externer Suche, weil der Pi keine zweite Datenbank verträgt
Die Fäden werden nicht gespeichert, sondern aus der Elternnotiz abgeleitet. Nur Querverbindungen sind eigene Zeilen in der Datenbank
Der Abgleich holt nur, was sich seit dem letzten Mal geändert hat. Gelöschte Notizen protokolliert ein SQLite-Trigger
Beim Ziehen bewegt sich eine Notiz nur per CSS-Transform, gespeichert wird einmal beim Loslassen
Uvicorn mit reinem Python-Stack (asyncio, h11), weil die nativen Beschleuniger auf neuen Python-Versionen und macOS/ARM abstürzten
Die App startet nicht ohne eigenen geheimen Schlüssel, und jede Änderung über die API braucht ein CSRF-Token
Erkenntnisse
Zielhardware zuerst festlegen, dann den Stack wählen – nicht umgekehrt
Abgleich und Speichern müssen voneinander wissen. Kommt ein Abgleich, während eine verschobene Notiz noch gespeichert wird, darf er sie nicht zurücksetzen. Seit Juni pausiert er, bis die neue Position gespeichert ist
Kein Umbau ohne Tests. Die Datei notes.js hat rund 1.900 Zeilen, weil Auswahl, Ziehen, Größe und Verbinden denselben Pointer-Zustand teilen. Aufgeteilt wird erst, wenn Browser-Tests diese Gesten absichern
Ein ähnliches Vorhaben? Eine kurze E-Mail genügt, das erste Gespräch ist kostenlos und unverbindlich.