Projekt

Lauschliste: Stressfreie Tonie-Wunschlisten für Familien

2026-05-29
Lauschliste: Stressfreie Tonie-Wunschlisten für Familien

Lauschliste ist mein erstes richtiges SaaS-Projekt – eine Web-App, mit der Familien Tonie-Wunschlisten anlegen, mit Verwandten teilen und gleichzeitig einen Doppelkauf vermeiden können.

Die ganze Entstehungsgeschichte habe ich in zwei Blog-Artikeln dokumentiert:

Das Problem

Auslöser war ein Doppelkauf zu Hause: Neben der Toniebox hatten wir einen Schlummerwal gekauft – und ein Freund schenkte uns denselben Tonie noch einmal. Klassische Wunschlisten hätten das vermutlich verhindert, aber für Tonies fehlten mir ein paar Dinge:

  • Sie sind oft nicht Tonie-spezifisch – keine Cover, keine Beschreibungen, keine gute Suche und Filter
  • Gäste hassen Registrierungen. Oma will auf einen Link klicken, einen Tonie reservieren und fertig – nicht erst einen Account anlegen und ein Passwort merken
  • Doppelkauf-Schutz fehlt. Ohne Live-Reservierung kann derselbe Tonie von mehreren Personen parallel gekauft werden – das merkt man erst, wenn beide Geschenke geöffnet sind

Die Lösung

Lauschliste ist genau auf diesen Use Case zugeschnitten:

  • Eltern legen Listen an und teilen sie per Link oder QR-Code (z.B. auf Einladungskarten)
  • Gäste reservieren mit einem Klick – komplett ohne Account
  • Doppelkauf-Schutz läuft serverseitig: Race Conditions werden sauber abgefangen, der zweite Klick bekommt eine freundliche "Schon reserviert"-Meldung

Hauptfeatures

  • Tonie-Katalog mit Typesense-Suche – rasend schnelle Volltextsuche und Facetten (Serie, Alter, Kategorie, Farbe), Filterzustand zum teilen in der URL
  • ~700 Tonie-Einträge, regelmäßig automatisch aktualisiert über eine eigene Sync-Pipeline
  • SEO-optimierte Detailseiten für jeden Tonie
  • Social-Login mit Google und Facebook (Apple kommt, sobald ich den Developer-Account zähneknirschend zahle)
  • QR-Code-Generator für analoge Einladungskarten
  • Geburtstagserinnerungen per Cronjob 7–14 Tage vorher
  • MDX-basierter Ratgeber-Bereich rund um Tonies und Familien-Themen

Tech Stack

Im Gegensatz zu Laravel Ingest habe ich Lauschliste bewusst in der Node.js-Welt gebaut, um meinen TypeScript-Muskel zu trainieren:

  • Framework: Next.js 16 (App Router), React 19, TypeScript
  • Styling: Tailwind CSS, shadcn/ui
  • Datenbank: PostgreSQL mit Drizzle ORM
  • Auth: Better Auth (E-Mail/Passwort + Google + Facebook)
  • State Management: TanStack Query 5
  • Suche: Typesense (selbst gehostet im Compose-Stack) für Volltext- und Facettensuche
  • Deployment: Docker (Standalone Output) via Ansible auf meinem eigenen Server

Architektur-Highlights

  1. Stateless Public Pages: Die /l/[slug]-Routen sind so gebaut, dass Gäste ohne Cookie und ohne Account direkt loslegen können. Nur die Reservierung selbst läuft serverseitig mit Locks.
  2. KI-gestützte Datenanreicherung: Fehlende Tonie-Beschreibungen werden über mein eigenes Osmia AI generiert und automatisch vertaggt; die Farbwerte und Tags der Cover für die Suche im Katalog kommen aus einer Vision-KI.

Building in Public

Lauschliste ist mein erster ernsthafter Versuch, ein Produkt nicht nur zu bauen, sondern auch öffentlich zu begleiten. Mittlerweile läuft das Projekt auf: