prd-helpMake your own PRD

Read-only PRD for a coding agent

Projektname: Explorable

16 of 18 sections ready
1. Problem, goal & success metric

Projektname: Explorable

Problem: Studierende haben unstrukturierte Vorlesungsmaterialien (PDF, TXT, DOCX), in denen Zusammenhänge zwischen Themen verborgen bleiben.

Ziel: Aus hochgeladenen Materialien wird automatisch eine hierarchische, interaktive Mindmap, in der Querverbindungen zwischen Dokumenten sichtbar werden.

Erfolgsmessung: Ein Upload einer Vorlesung (bis 20 Dateien) ergibt in unter 2 Minuten eine nutzbare Mindmap; mindestens 70 % der Testnutzer finden in einer Testsitzung eine Verbindung zwischen zwei Dokumenten, die sie vorher nicht gesehen haben.

2. Users & roles

Nutzer: Studierende, Wissenschaftler:innen und alle Personen, die viele Dokumente verwalten wollen.

Rollen: Eine einzige Rolle – lokale Einzelnutzung auf einem Rechner. Es gibt keinen Login, kein Konto und keine Rechteverwaltung. Alle Dokumente und Mindmaps gehören der Person, die die App startet.

Geräte: Version 1 ist nur auf dem Rechner verfügbar, auf dem die App läuft. Kein Zugriff von anderen Geräten.

3. Core workflows

Kern-Workflow:

  1. Studierender lädt einzelne Dateien (PDF/TXT/DOCX/PNG/JPG) per Auswahldialog in ein Projekt hoch.
  2. Jedes Dokument wird direkt nach dem Upload automatisch analysiert: Text extrahieren (bei reinen Bildern per OCR), Schlüsselkonzepte erkennen und in die Clusterung eingliedern. Es gibt keinen separaten Analyse-Button.
  3. Die Mindmap wird erst aktualisiert, wenn die Analyse des jeweiligen Dokuments abgeschlossen ist; nie wird ein halbes Ergebnis angezeigt.
  4. Pipeline clustert Konzepte Bottom-Up zu einer Hierarchie (Detail → Makro-Oberthema).
  5. Dokumente mit gemeinsamen Tags/Überschneidungen erzeugen gewichtete Brücken zwischen Clustern.
  6. Studierender erkundet die Mindmap: Zoomstufen, Filter für Projekte, Custom Paths, Knoten und Tags, Wechsel zwischen Tag-Modus und Dokumenten-Modus.
  7. Klick auf einen Knoten zeigt Zusammenfassung und verlinkt auf das Quelldokument.
4. Features & requirements

Custom Paths: Über eine Mehrfachauswahl von Dokumenten oder Knoten in der Mindmap wird ein Custom Path angelegt, erhält einen Namen und lässt sich umbenennen oder löschen, ohne die Dokumente zu entfernen. Ein Dokument darf in mehreren Custom Paths vorkommen.

Hover-Zusammenfassung: Beim Darüberfahren über ein Dokument oder einen Cluster-Punkt erscheint nach etwa 500 ms ein kleines Fenster beim Punkt mit 1-2 Sätzen Inhaltszusammenfassung. Das Fenster verschwindet, sobald der Mauszeiger den Punkt verlässt.

5. Scope: must / later / never1 fix
  • 13 must-haves is a lot for v1: move some to Later?

Must-Haves

  • Mehrere lokale Projekte, erweiterbar über 20 Dateien hinaus (20 Dateien ist nur die Richtgröße für die Performance-Zusage)
  • Einzelne Dateien per Auswahldialog in ein Projekt hochladen (kein Ordner-Upload)
  • Automatische Analyse jedes Dokuments direkt nach dem Upload, kein separater Button
  • Textextraktion; reine Bilder ohne Text werden per OCR (Tesseract) ausgelesen und in die Clusterung einbezogen
  • Konzepterkennung ausschließlich über ein lokales Sprachmodell (Ollama, llama3.2 3B oder qwen2.5 7B); bei weniger als 16 GB RAM Warnung beim Start und Blockierung neuer Analysen
  • Automatische Bottom-Up-Clusterung und Brücken zwischen Dokumenten (eigene App-Logik)
  • Gemeinsame Mindmap-Ansicht über alle Projekte mit Zoom (Rein-/Rauszoomen, Mausrad, Vollbild) und Tag-/Dokument-Modus
  • Filter: Projekte an- und abwählen, einzelne Projekte isolieren (ein Klick isoliert, zweiter Klick hebt auf)
  • Custom Paths als Mehrfachauswahl von Dokumenten oder Knoten anlegen, benennen, umbenennen und löschen
  • Einzelne Knoten und Tags ein- und ausschalten
  • Hover-Zusammenfassung: kleines Fenster nach etwa 500 ms mit 1-2 Sätzen beim Dokument- oder Cluster-Punkt
  • Klick auf Knoten zeigt Zusammenfassung und öffnet das Quelldokument
  • Lokaler Datei-Explorer für Text- (PDF, TXT, DOCX) und Bilddateien (PNG, JPG), keine Größenbegrenzung pro Datei

Later: Keine Angaben.

Never: Keine Anmeldung, keine Cloud-Übertragung, kein Ordner-Upload, kein Gemini oder andere externe KI-Dienste, kein AnythingLLM als Mindmap-Engine.

6. Screens & UI

Hover-Tooltip: Beim Verweilen über einem Dokument- oder Cluster-Knoten erscheint nach etwa 500 ms ein kleines Fenster direkt beim Punkt mit 1-2 Sätzen Zusammenfassung. Das Fenster verschwindet, sobald der Mauszeiger den Punkt verlässt.

7. Design system & visual style

Stil: Art Deco, zurückhaltend und elegant, Olivegrün-Beige-Spektrum.

Farben (hex):

  • Papier-Hintergrund: #EFEBDD
  • Olivegrün (Primär, Knotenränder): #2F3D2A
  • Gedämpftes Olivgrün (Cluster-Knoten): #6B7A5B
  • Beige (Flächen, Panels): #DDD5BD
  • Messing/Gold-Akzent (Labels, Hervorhebungen): #A08A55

Rahmen: Einfache, schmale Linien (1 px) in Olivegrün, Ecken maximal 4 px abgerundet; Doppellinien nur als Akzent an Panel-Rändern.

Textur: Sehr dezente Wasserfarbtextur, nur an Randbereichen und Panels, nie hinter Text oder Knoten.

Typografie: Cluster-Labels in geometrischer Deco-Schrift in Versalien (z. B. Poiret One); Konzept- und Dateinamen in Cormorant Garamond; großzügiger Buchstabenabstand.

Formen: Runde Knoten für Konzepte, Diamant-Knoten für Dokumente, Bogenform für Hervorhebungen in Panels, dünne Trennlinien mit Abstand.

Modus: Light-Mode, Version 1.

Vorlagen: images/screenshot-3.jpg, images/screenshot-4.jpg und images/screenshot-5.jpg dienen nur als Stilreferenz und werden nicht 1:1 übernommen.images/screenshot-3.jpgimages/screenshot-4.jpgimages/screenshot-5.jpg

8. Data model
fieldtyperequired

Projekt

fieldtyperequired
idZahlja
NameTextja
ErstelldatumDatumja
Anzahl DateienZahlja (keine Obergrenze, nur Richtwert 20 für Performance)

Dokument

fieldtyperequired
idZahlja
Projekt-idZahlja
DateinameTextja
TypText (PDF/TXT/DOCX/PNG/JPG)ja
GrößeZahlja
ImportdatumDatumja
PfadTextja
extrahierter TextTextnein

Custom Path

fieldtyperequired
idZahlja
NameTextja
Dokument-idsListeja

Konzept

fieldtyperequired
idZahlja
Projekt-idZahlja
BezeichnungTextja
EbeneText (Detail/Makro)ja
GewichtZahlja
ausgeblendetJa/Neinja

Cluster

fieldtyperequired
idZahlja
Projekt-idZahlja
NameTextja
übergeordneter ClusterZahlnein
Konzept-idsListeja

Brücke

fieldtyperequired
idZahlja
Projekt-idZahlja
Dokument AZahlja
Dokument BZahlja
GewichtZahlja
gemeinsame Tags/KonzepteListenein

Alle Daten liegen ausschließlich lokal in SQLite.

9. APIs & integrations

Externe Dienste: Keine zur Laufzeit. Gemini wurde geprüft und ausgeschlossen, weil Dokumente an Google-Server gehen würden.

Lokale Komponenten:

  • Tesseract: OCR für reine Bilddateien
  • Ollama mit llama3.2 (3B) oder qwen2.5 (7B): Konzepterkennung, mindestens 16 GB RAM

Keine Netzwerkübertragung von Dokumenten oder Bildern. AnythingLLM ist nicht eingebunden.

10. Auth, permissions & security

Authentifizierung: Keine. Kein Login, keine Registrierung, kein Konto.

Berechtigungen: Kein Rollen- oder Rechtemodell; alle Daten liegen lokal und sind nur für die nutzende Person auf diesem Rechner zugänglich.

Sicherheit: Uploads werden ausschließlich im lokalen Speicher abgelegt. Keine Übertragung an fremde Server, außer eine optionale externe KI-API wird für die Analyse genutzt (siehe integrations).

11. Performance, privacy & accessibility

Performance: Analyse eines Projekts mit 20 Dateien dauert unter 2 Minuten auf einem Rechner mit mindestens 16 GB RAM. Bei mehr Dateien steigt die Zeit proportional; ein Fortschrittsbalken zeigt den Stand.

Offline: Die App läuft vollständig ohne Internetverbindung.

Datenschutz: Es werden keine Nutzungsdaten und keine Dokumente übertragen.

Barrierefreiheit: Tastaturbedienung für Zoom, Filter und Knotenauswahl; ausreichender Kontrast zwischen Text und Hintergrund.

12. Edge cases & errors

Zu wenig Arbeitsspeicher: Beim Start wird der verfügbare RAM geprüft. Liegt er unter 16 GB, erscheint eine Warnung, dass die Konzepterkennung nicht zuverlässig läuft. Neue Analysen werden in diesem Fall blockiert; vorhandene Mindmaps bleiben lesbar und bedienbar.

Fehlerhafte Dateien: Kann eine Datei nicht gelesen werden (z. B. beschädigtes PDF), wird sie übersprungen. Die Analyse läuft mit den übrigen Dateien weiter. Übersprungene Dateien werden am Ende mit Dateiname und Grund gemeldet.

Doppelte Datei: Eine Datei mit gleichem Namen und gleicher Größe wird erkannt, nicht erneut gespeichert, und der Nutzer erhält eine kurze Meldung.

Abbruch der Analyse: Die Dokumente bleiben gespeichert und können später erneut analysiert werden. Ein halbes Ergebnis wird nicht angezeigt.

Ollama nicht erreichbar: Beim Start und vor jeder Analyse wird geprüft, ob Ollama erreichbar ist. Ist es nicht erreichbar, erscheint ein Hinweis mit der Anleitung, Ollama zu starten. Vorhandene Mindmaps bleiben lesbar und bedienbar; nur neue Analysen werden blockiert und mit Hinweis abgelehnt.

13. Stack & constraints

Laufzeitumgebung: Lokale Webseite auf einem einzelnen Rechner, im Browser über localhost geöffnet, ohne Hosting und ohne Login.

Datenhaltung: Eine lokale SQLite-Datei enthält Projekte, Dokumente, Konzepte, Cluster und Brücken. Hochgeladene Originaldateien liegen in einem lokalen Unterordner des Projekts. Keine Synchronisation, kein Server.

Textextraktion: Lokale Bibliotheken für PDF, TXT und DOCX.

OCR: Tesseract (lokal, kostenlos), nur für reine Bilddateien.

Konzepterkennung: Lokales Sprachmodell über Ollama, llama3.2 (3B) oder qwen2.5 (7B). Mindestens 16 GB RAM; bei weniger RAM Warnung statt Analyse. Kostenlos, keine Cloud.

Clusterung und Mindmap: Eigene Logik der App, kein AnythingLLM als Mindmap-Engine.

Keine Kosten für Dienste, keine Internetverbindung im Betrieb nötig.

14. Existing code & do-not-change

Not needed: Neues Projekt ohne bestehenden Code. Es gibt keine Dateien, die unverändert bleiben müssen.

15. Build order

Reihenfolge (vertikale Schritte, jeweils lauffähig):

  1. Projekte anlegen, Dateien einzeln hochladen, Duplikate erkennen, Liste im Explorer anzeigen.
  2. Textextraktion für PDF/TXT/DOCX, fehlerhafte Dateien überspringen und melden.
  3. OCR für Bilder und Konzepterkennung über Ollama, automatische Analyse nach Upload.
  4. Clusterung und Brücken zwischen Dokumenten, gemeinsame Mindmap-Ansicht.
  5. Filter für Projekte, Custom Paths, Knoten und Tags; Zoom und Vollbild; Hover-Zusammenfassung.
  6. Detailansicht mit Zusammenfassung und Link zum Quelldokument.
16. Acceptance criteria & tests1 fix
  • 13 must-haves but only 9 acceptance checks
  • Ein Klick auf ein Projekt oder einen Custom Path isoliert ihn; ein zweiter Klick hebt die Isolation auf.
  • Zoom per Mausrad ändert die Ansicht der Mindmap sichtbar (Rein- und Rauszoomen).
  • Hover über einen Dokument- oder Cluster-Punkt zeigt nach etwa 500 ms ein Fenster mit 1-2 Sätzen Zusammenfassung; das Fenster verschwindet beim Verlassen des Punkts.
  • Ein Custom Path entsteht aus einer Mehrfachauswahl, lässt sich umbenennen und löschen, ohne die Dokumente zu entfernen; ein Dokument kann in mehreren Custom Paths liegen.
  • Eine beschädigte Datei wird übersprungen, die übrigen Dateien werden analysiert, und die Datei wird in der Ergebnismeldung genannt.
  • Ein Projekt mit 20 Dateien wird in unter 2 Minuten analysiert (Rechner mit mindestens 16 GB RAM); bei mehr Dateien steigt die Zeit proportional und ein Fortschrittsbalken zeigt den Stand.
  • Ein Projekt lässt sich über 20 Dateien hinaus erweitern.
  • Ein Upload einer nicht erlaubten Dateiart wird mit einer Meldung abgelehnt.
  • Eine doppelt hochgeladene Datei (gleicher Name und gleiche Größe) wird nicht erneut gespeichert; der Nutzer sieht eine Meldung.
17. Deployment, environments & secrets

Ausführung: Lokal auf einem einzelnen Rechner, kein Hosting, kein Server im Netz.

Start: Einfacher Startbefehl; danach ist die App im Browser unter einer lokalen Adresse erreichbar (z. B. http://localhost).

Voraussetzungen: Ollama mit dem gewählten Sprachmodell (llama3.2 3B oder qwen2.5 7B), Tesseract für OCR, mindestens 16 GB RAM.

Umgebungen: Nur eine Umgebung (lokal). Keine Geheimnisse oder API-Schlüssel nötig.

18. Open questions & assumptions

Offen: Verhalten, wenn Ollama nicht erreichbar ist, ist als Hinweis mit Startanleitung festgelegt; die Konzepterkennung ist ohne Ollama nicht verfügbar.

Default: Isolation per Klick, zweiter Klick hebt auf (bestätigt durch den Nutzer).

Images

screenshot-1.jpg
images/screenshot-1.jpg
screenshot-2.jpg
images/screenshot-2.jpg
screenshot-3.jpg
images/screenshot-3.jpg
screenshot-4.jpg
images/screenshot-4.jpg
screenshot-5.jpg
images/screenshot-5.jpg