Residue

Tauche zurück in Momente, die du bereits erlebt hast. Wähle ein altes Video von deinem Handy aus: einen Geburtstag, einen Sommerabend oder ein Zimmer, aus dem du inzwischen ausgezogen bist. Es verwandelt sich in einen 3D-Raum, in den du wieder eintreten kannst. Die Bereiche, die die Kamera deutlich erfasst hat, erscheinen fast greifbar, während der Rest verschwommen bleibt: scharf dort, wo du hingeschaut hast, und verschwunden dort, wo du nicht hingeschaut hast.

Für

ZHdK Zürcher Hochschule der Künste

Arbeiten

Gaussian Splatting

Creative Coding

Lokale KI

WebXR

Interaktionsdesign

Kontext

Residue entstand im Kurs Inter-Action: Photolipsia des Master Interaction Design an der ZHdK (HS 2026) unter der Begleitung von Max Rheiner. Nach Gastvorträgen und einer Einführung in Photogrammetrie und KI-gestütztes agentisches Programmieren lud der Kurs dazu ein, frei mit beidem zu experimentieren.

Exploration

In Pula hatten wir bereits Gaussian Splats einer Bucht aufgenommen, um zu sehen, was die Technik kann und wo ihre Grenzen liegen. In diesem Kurs bestand eines meiner ersten Experimente darin, die Stadtkirche Winterthur allein aus öffentlich verfügbaren Fotos zu rekonstruieren. Aus diesen ersten Versuchen blieb mir am meisten der Look der Splats: weich, verträumt und an den Rändern zerfliessend, ganz wie eine Erinnerung. Daraus entstand die Idee für Residue.

Residue - Gaussian splat of the Stadtkirche Winterthur from public photos

Residue

Alte Handyvideos waren nie dafür gedacht, zu 3D-Räumen zu werden. Residue versteckt diese Lücken nicht, sondern macht sie zum Konzept. Alle Erinnerungen schweben gemeinsam in einem Raum, nach ihrer Bedeutung angeordnet und durch Lichtfäden miteinander verbunden. Du kannst durch sie hindurchgehen und mit ihnen sprechen. Deine Kamerarolle ist voller Orte, an die du nicht mehr zurückkehren kannst. Bis jetzt.

Residue - All memories in one space
Residue - A memory floating in space

Upload & Interview

Ein Handyvideo wird in einer lokalen GPU-Pipeline zu einem Gaussian Splat. Während die Erinnerung entsteht, betrachtet sie ihre eigenen Standbilder und stellt dir drei behutsame Fragen zu dem, was sie sieht. Deine Antworten bleiben bei der Erinnerung und prägen, wie sie später über sich selbst spricht.

Residue - The memory asks questions while it forms

Erkunden & Suchen

Alle Erinnerungen leben in einem gemeinsamen Raum, nahe bei den Erinnerungen, mit denen sie verwandt sind. Du kannst nach Bedeutung suchen, in jeder Sprache, getippt oder gesprochen, und die Kamera fliegt zur passendsten Erinnerung. Jede Erinnerung trägt räumlichen Ton aus ihrem Video, gemischt mit einer generierten Klanglandschaft, sodass du sie hörst, bevor du sie erreichst.

Residue - Room memory detailResidue - Prototype memory detailResidue - Cinque Terre memory detailResidue - Yellow Mountains memory detail

Mit einer Erinnerung sprechen

Mit jeder Erinnerung kann man sprechen, und sie antwortet in der Ich-Form, als der Ort selbst. Sie beschreibt nur, was sie sehen kann oder was ihr erzählt wurde. Fragt man sie nach Dingen, die sie nicht wissen kann, gibt sie zu, dass dieser Teil von ihr verschwommen ist. Alles läuft lokal, nichts verlässt den Computer.

Residue - Talking to a memory

Body-Modus, VR & Claude

Im Body-Modus steuerst du mit Kopf und Händen über die Webcam durch die Erinnerungen. Auf einer Meta Quest kannst du eine Erinnerung in Lebensgrösse betreten. Und über MCP kann ein KI-Assistent wie Claude Fragen zu den Erinnerungen beantworten, sie kuratieren und den Bildschirm steuern, während du mit ihm sprichst.

Residue - Body mode with webcam steering

Technologie

Die Pipeline nutzt FFmpeg, COLMAP und OpenSplat auf der Metal-GPU. Die Web-Erfahrung ist mit Node.js, Express, three.js, Spark und WebXR umgesetzt. Die KI läuft lokal mit Ollama (gemma4:12b, nomic-embed-text), Stable Audio Open und MediaPipe und ist über das MCP SDK mit Assistenten verbunden. Der Grossteil des Codes entstand durch KI-gestütztes agentisches Programmieren.

Mentor

Max Rheiner