Nachrichten entschlüsseln. Signale erkennen. Klarheit gewinnen.
Mobile-first Web-App für Dating-Chat-Analyse, basierend auf Pragmatik (Grice), Bindungstheorie (Bowlby/Gottman) und Signaltheorie (Spence). User pasten Chatverläufe, laden Screenshots oder WhatsApp-Exporte hoch und bekommen eine strukturierte 4-Schichten-Analyse.
- Frontend: Vanilla HTML/CSS/JS (kein Framework)
- Backend: Node.js 20 + Express
- LLM: Qwen 3.5-122B via NVIDIA NIM (OpenAI-kompatibel)
- OCR: Tesseract.js (browser-seitig, deutsch + englisch)
- Deployment: Docker auf Coolify
npm install
NVIDIA_API_KEY="nvapi-..." npm start
# → http://localhost:3000| Variable | Beschreibung | Pflicht |
|---|---|---|
NVIDIA_API_KEY |
API-Key von build.nvidia.com | ✅ |
PORT |
Port des Servers (Default: 3000) | ❌ |
- Repo auf GitHub pushen
- Coolify → New Resource → Public Repository (oder GitHub App) → Repo verbinden
- Build Pack: Dockerfile
- Environment Variables setzen:
NVIDIA_API_KEY=nvapi-... - Port:
3000 - Deploy
.
├── Dockerfile # Node 20 Alpine Image
├── server.js # Express + SSE Streaming Proxy
├── prompt.js # Deutscher Dating-Master System-Prompt
├── package.json
└── public/
├── index.html # Landing + Chat Mode
├── howto.html # Anleitungen für Chat-Export
├── style.css # Dark Theme, mobile-first
└── app.js # Chat-Logik, Streaming, OCR
POST /api/chat
{
"messages": [
{ "role": "user", "content": "Sie hat geschrieben: ..." }
]
}Antwortet als Server-Sent Events (SSE) Stream im OpenAI-kompatiblen Format.
Wir nutzen qwen/qwen3.5-122b-a10b weil:
- Sehr stark multilingual (Deutsch + Chinesisch — Original-Skill ist Chinesisch)
- Gutes Reasoning für nuancierte Subtext-Analyse
- Sofort verfügbar auf NVIDIA NIM (kostenlos)
- Schnell genug für interaktiven Chat
Alternativen falls Modell ausfällt: meta/llama-3.3-70b-instruct, nvidia/llama-3.3-nemotron-super-49b-v1.5. Modellname steht in server.js Zeile 30.