TL;DR
HalbHalb ist eine kleine Web-App, mit der zwei Partner ihre Ausgaben und Einnahmen schnell erfassen, synchron sehen und fair ausgleichen. Der Fokus lag auf Alltagstauglichkeit statt Funktionsfülle: Eintragen, Überblick, markieren, fertig. Technisch setzt das Projekt auf ein React-Frontend und ein Express-Backend mit MariaDB sowie JWT-Login. Spannend war für mich vor allem der Wechsel zu Express im Backend und ein strukturierteres UI-Vorgehen mit Designvorlage. Ergebnis: eine einfache, nutzbare Lösung, die genau mein ursprüngliches Problem adressiert.
Kontext & Ziel
Frohes neues Jahr! In der kurzen Feiertagspause über Weihnachten und Silvester habe ich viel Organisatorisches erledigt: von Steuererklärung bis Haushaltsabrechnungen und Bürokratie. Und obwohl mein Mann und ich ein gemeinsames Konto haben, fiel mir wieder auf, wie umständlich es ist, am Ende alles zwischen Privat- und Gemeinschaftskonten zusammenzutragen und zu klären, wer wem was schuldet. Manche Zahlungen laufen weiterhin über Einzelkonten oder bar. Das macht die Übersicht schwer, und es kostet viel Zeit.
Ziel dieser Woche war deshalb ein kleines, praxistaugliches Tool: Unterwegs schnell eine Einnahme oder Ausgabe notieren, die Information zwischen beiden Partnern automatisch teilen, und im Dashboard jederzeit sehen, wo der Saldo steht. Wichtig war mir, das Thema minimalistisch zu lösen: kein Buchhaltungstool, keine 20 Kategorien, kein Overengineering. Nur das, was wir wirklich brauchen, um Schulden transparent auszugleichen. Dinge, die keine “Schuld” auslösen (z. B. direkt vom Gemeinschaftskonto bezahlte Ausgaben), bleiben außen vor.
Meine Anforderungen
- Jeder Nutzer hat einen eigenen Login.
- Partner sollen als Paar erfasst werden, damit sich Einträge automatisch synchronisieren.
- Nutzer A kann auch für Nutzer B Einträge anlegen. So kann Nutzer B direkt eintragen, während Nutzer A noch an der Kasse steht und bezahlt.
- Einträge lassen sich einzeln als “beglichen” markieren oder alles komplett ausgleichen.
- Beglichene Einträge bleiben in einer Historie einsehbar, um Abrechnungen nachzuvollziehen.
- Nur Aktionen, die wirklich Schulden erzeugen, werden erfasst; Gemeinschaftskonto-Zahlungen sind ausgeschlossen.
- Die App bleibt bewusst schlank und auf unseren Alltag fokussiert.
Mein AI-Workflow
Ich habe die Idee zunächst mit ChatGPT konkretisiert und anschließend den Code mit Claude Code umgesetzt.
Den Namen “HalbHalb” habe ich ebenfalls mit Claude Code gebrainstormt.
Das Blogbild entstand wieder mit ChatGPT. Dieses Mal habe ich dafür als Vorlage Fotos von meinem Mann und mir genutzt. Nun, die Personen sehen uns entfernt ähnlich, aber wirklich gut getroffen ist nur mein Hochzeitskleid auf dem linken Foto.
Was das Tool kann
👉 Registrieren (über einen Admin-Login) oder einloggen, als Paar verbinden und direkt loslegen
👉 Einnahmen und Ausgaben werden zwischen beiden Partnern synchronisiert.
👉 Unterwegs zügig Beträge, Beschreibung und Datum erfassen; auf Wunsch Einträge auch für den Partner anlegen, wenn der gerade bezahlt.
👉 Im Dashboard den aktuellen Saldo sehen und verstehen, wer wem was schuldet.
👉 Einträge einzeln als beglichen markieren oder alles auf einmal ausgleichen, wenn “Kassensturz” gemacht wurde. ✅
👉 In der Historie alle bereits ausgeglichenen Posten nachvollziehen.
👉 Kleine Komfortfunktionen wie Beschreibungsvorschläge helfen, wiederkehrende Ausgaben schneller zu erfassen.
Stack & Tools
- Frontend: React (Vite), TailwindCSS für das Styling
- Backend: Express (TypeScript), REST-API, JWT-basierte Authentifizierung
- Datenbank: MariaDB/MySQL
- API-Dokumentation: Swagger/OpenAPI
Herausforderungen & Learnings
- Wechsel zu Express im Backend: Neuer Stack, andere Gewohnheiten. Die Umstellung hat sich gelohnt, weil die API jetzt sehr geradlinig ist.
- UI schneller und besser: Ich habe eine Website gefunden, auf der man Designvorlagen erstellen kann und habe diese genutzt um Claude Code die Gestaltung vorzugeben. Ergebnis: ein schönes Farbschema und stimmige UI-Elemente mit wenig Aufwand.
- Konsistenz beim Ausgleich: Das Markieren einzelner Einträge vs. “alles ausgleichen” braucht klare Regeln, damit der Saldo nachvollziehbar bleibt. Hier half ein explizites Statusfeld je Eintrag.
- Auth klar und robust halten: Token-basierter Login mit JWT machte die Trennung zwischen öffentlicher und geschützter Oberfläche einfach; Admin-Fälle sind via Middleware sauber begrenzt.
Live-Demo
Ihr könnt die App selber hier testen:
Zugangsdaten:
User: frank@underwood2016.com PW: demo123
oder
User: claire@cleanwater.com PW: demo123
Ich denke selbst die Underwoods stehen ab und zu vor der frustrierenden Aufgabe ihre Haushaltsausgaben zu verrechnen.
Fazit
Woche 19: ✅
Diese Woche stand Pragmatismus im Vordergrund: ein echtes Alltagsproblem und ein kleiner, sinnvoller Funktionsumfang. Besonders zufrieden bin ich damit, wie gut sich das Design mit der Funktionalität fügt. 🎯
Nächster sinnvoller Schritt: Charts hinzufügen und im Alltag testen, wie intuitiv die Bedienung ist und ob wichtige Funktionen fehlen bzw bestehende Funktionen doch nicht so praktisch sind. Mir hat es Spaß gemacht, mal wieder etwas zu entwickeln, was ich selber im Alltag nutzen werde. Die Anforderungsanalyse ist so nochmal deutlich spannender. ✨

