Woodwork

Wer mehrere Anwendungen betreibt, bekommt Rückmeldungen auf vielen Wegen: Fehler im Server-Log, Wünsche per Mail, Fragen im Chat. Vieles geht unter, manches wird doppelt bearbeitet.

Woodwork sammelt all das zentral. Unsere Anwendungen melden Fehler automatisch mit Stacktrace; gleiche Fehler werden erkannt und zusammengeführt, statt die Liste zu fluten. Nutzer schicken Feedback über ein Widget. Im Admin-Bereich laufen Tickets über ein Board mit frei definierbaren Status-Abläufen, Moderation, Tags und Audit-Log. Nach außen gibt es pro Anwendung ein Portal mit Ideen-Voting, Roadmap und Changelog. Offene Tickets landen automatisch im Backlog des jeweiligen Projekts.

Technisch: FastAPI mit PostgreSQL, Redis-Queue für Hintergrundjobs, Vanilla-JS-Frontend ohne Framework, Anmeldung mit Zwei-Faktor-Authentifizierung. Betrieb auf eigenem Server in der EU.

Jarco

Aufgaben in einer App, Notizen in der nächsten, Termine im Kalender, Verträge im Ordner: Den Überblick hat man selten an einem Ort.

Jarco bündelt Aufgaben und Routinen, Gewohnheiten, Wissen, Tagebuch, Kalender, Finanzen, Fristen und Reisen in einem Dashboard. Module lassen sich einzeln zu- und abschalten. Ein KI-Assistent auf Basis von Claude beantwortet Fragen zu den eigenen Daten und legt auf Zuruf Aufgaben an; ein morgendliches Briefing fasst den Tag zusammen. Hintergrundprüfungen melden sich von selbst, etwa bei fälligen Aufgaben oder auslaufenden Zertifikaten. Eine eigene Android-App liefert Gesundheitsdaten zu.

Technisch: FastAPI mit PostgreSQL, Vanilla JS als installierbare Web-App mit Push-Benachrichtigungen, Anthropic Claude für den Assistenten. Die Daten liegen auf eigenem Server in der EU.

Jahresringe

Wann war der Umzug nach Kiel, wie lange dauerte die Zeit in Berlin, mit wem war man damals unterwegs? Erinnerungen haben selten ein Datum, und nach ein paar Umzügen verschwimmen die Jahre.

Jahresringe sammelt Episoden aus Wohnen, Arbeit, Lernen, Menschen, Reisen, Wettkämpfen und Gesundheit, auch mit unscharfen Daten. Daraus entstehen ein Zeitstrahl, der von Jahrzehnten bis zu einzelnen Monaten zoomt, eine Lebenskurve und die namensgebende Ansicht: das Leben als Baumquerschnitt, ein Ring pro Jahr. Menschen erscheinen nach Beziehungsart, Kapitel gliedern die Lebensabschnitte.

Technisch: local-first — die Episoden liegen in der IndexedDB des Browsers und verlassen das Gerät nicht. Vanilla JS ohne Framework, Backup als vollständig geprüfte JSON-Datei.

Driftwood

Chatverläufe sind oft die einzige Aufzeichnung von Jahren: Verabredungen, Fotos, Sprachnachrichten von Menschen, die es nicht mehr gibt. Sie liegen auf einem Handy, das irgendwann verloren geht, gewechselt wird oder voll ist. Der Export als Textdatei rettet die Daten, aber niemand liest eine Textdatei.

Driftwood nimmt diese Exporte auf und macht daraus ein Archiv, das man tatsächlich benutzt: chronologisch und nach Jahren gegliedert, mit Bildern und Audio an Ort und Stelle. Die Suche geht über alle Nachrichten, auch über Sprachnachrichten, die beim Import automatisch transkribiert werden. Mehrere Exporte desselben Chats werden zusammengeführt, Lücken bleiben sichtbar, jedes Original bleibt unverändert erhalten. Ein Konto, selbst gehostet, keine Weitergabe an Dritte.

Technisch: FastAPI mit PostgreSQL-Volltextsuche, server-gerendert mit Jinja2 und HTMX ohne Build-Schritt, Transkription über Whisper in einem eigenen Worker, Job-Queue direkt in Postgres.

Dunkelheit

In einer depressiven Phase ist schwer zu erkennen, was sie gerade aufrechterhält: Schlaf, Rückzug, Grübeln, ausgelassene Mahlzeiten. Von außen ist es oft offensichtlich, von innen nicht.

Dunkelheit hilft, diese Muster sichtbar zu machen — ohne Konto, ohne Server, ohne Tracking. Alle Eingaben bleiben im Browser. Kein Backend heißt: Es gibt keine Daten, die irgendwo liegen könnten.

Technisch: statische Web-App in Vanilla JS mit localStorage, statisch erzeugte Inhaltsseiten, ausgeliefert über Cloudflare.