MietKaufRechner: Von 5000 Zeilen Excel-Makros zu 500 Zeilen TypeScript

Meine Reise von Spreadsheet-Chaos zu einer App, die Banker neidisch machtAlex FriedlSep 27, 2025
MietKaufRechner Screenshot

MietKaufRechner: Ein Deep Dive in die Entwicklung eines modernen Finanztools

Die Herausforderung: Mieten oder Kaufen?

Eine der größten finanziellen Entscheidungen im Leben ist die Frage: Soll ich weiter zur Miete wohnen oder eine Immobilie kaufen? Diese Entscheidung wird oft emotional getroffen, obwohl sie eigentlich auf harten Zahlen basieren sollte. Genau hier setzt der MietKaufRechner an.

Projektübersicht

Der MietKaufRechner ist eine moderne Web-Applikation, die Nutzern hilft, die finanzielle Seite der Miete-vs-Kauf-Entscheidung objektiv zu bewerten. Das Tool berücksichtigt dabei nicht nur die offensichtlichen Kosten, sondern auch Faktoren wie Wertsteigerung, Opportunitätskosten und steuerliche Aspekte.

Tech Stack
  • Frontend: React mit TypeScript

  • Framework: Next.js 12

  • Styling: Tailwind CSS

  • State Management: React Hooks

  • Testing: Jest mit React Testing Library

  • Backend: tRPC für typsichere API-Kommunikation

Kernfeatures im Detail

1. Intelligente Szenarien

Anstatt Nutzer mit einem leeren Formular zu überfordern, bietet der Rechner vordefinierte

Szenarien
  • Eigenheim kaufen: Für Familien, die ihr Traumhaus suchen

  • Kapitalanlage: Für Investoren mit Fokus auf

  • Rendite

  • WG-Vermietung: Speziell für Studentenstädte optimiert

  • Anschlussfinanzierung: Wenn der erste Kredit ausläuft

  • Modernisierung: Für energetische Sanierungen

const scenarios: Scenario[] = [ { id: 'eigenheim', title: 'Eigenheim kaufen', defaults: { loanAmount: '450000', equityCapital: '100000', interestRate: '3.8', coldRent: '1500' } }, // ... weitere Szenarien ];

2. Dynamische Wertsteigerungsberechnung

Ein besonderes Feature ist die Berücksichtigung der Immobilienwertentwicklung. Das Tool bietet realistische Voreinstellungen für den deutschen

Markt

// Realistische Wertsteigerungsraten const appreciationRates = { conservative: 1, // 1% - konservativ realistic: 2, // 2% - realistisch optimistic: 3, // 3% - optimistisch boom: 4 // 4% - Boom-Phase };

3. Amortisationsberechnung

Das Tool berechnet iterativ, wann sich der Immobilienkauf amortisiert:

// Iterative Berechnung unter Berücksichtigung von: // - Gesparter Miete // - Wertsteigerung der Immobilie // - Gesamtkosten (Zinsen, Tilgung, Eigenkapital) while (years < 100 && (accumulatedRent + propertyAppreciation) < totalCost) { years++; accumulatedRent = yearlyRent * years; propertyAppreciation = totalPropertyValue * Math.pow(1 + rate, years) - totalPropertyValue; }

4. Mobile-First Design

Das Interface wurde speziell für mobile Geräte optimiert:

  • Swipe-Navigation für Szenarien

  • Akkordeon-UI für bessere Übersicht

  • Touch-optimierte Interaktionen

  • Responsive Tabellen mit Sticky-Headers

Technische Highlights

1. Typsicherheit mit TypeScript

Durch konsequente Nutzung von TypeScript werden viele Fehler bereits zur Compile-Zeit verhindert:

interface KPIs { totalRepayment: number; interestSum: number; remainingLoanAmount: number; payoffYear: number | null; perMonth: { repayment: number; interest: number; coldRent: number; diff: number; total: number; }; }

2. Deutsche Zahlenformatierung

Ein oft übersehenes Detail: Die korrekte Formatierung von Zahlen für deutsche Nutzer:

const formatForUser = (numStr: any, digits?: number) => { return new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR", maximumFractionDigits: digits || 0, }).format(numStr); };

3. Performance-Optimierungen

  • Lazy Loading von Komponenten

  • Memoization von teuren Berechnungen

  • Debouncing von Input-Updates

  • Optimierte Re-Renders durch gezielten State-Management

Learnings & Herausforderungen

1. Komplexe Finanzberechnungen

Die größte Herausforderung war es, die verschiedenen Finanzszenarien korrekt abzubilden. Besonders die Berechnung mit variablen Zinssätzen nach der Zinsbindung erforderte iterative Ansätze.

2. UX für komplexe Daten

Wie präsentiert man einen 30-Jahre-Tilgungsplan auf einem Smartphone? Die Lösung: Eine mobile-optimierte Tabelle mit Sticky-Spalten und Touch-Gesten.

3. Realistische Defaults

Die Voreinstellungen mussten den deutschen Immobilienmarkt realistisch abbilden. Nach Recherche und Feedback wurden die Wertsteigerungsraten von anfangs 3-5% auf realistischere 1-4% angepasst.

Fazit & Ausblick

Der MietKaufRechner zeigt, wie moderne Webtechnologien komplexe Finanzentscheidungen zugänglich machen können. Das Projekt verbindet technische Exzellenz mit echter Nutzerorientierung.

Mögliche Erweiterungen

  • Integration aktueller Marktdaten

  • Berücksichtigung von Förderungen (KfW)

  • Export-Funktionen für Berater

  • Mehrsprachigkeit

Mehr dazu

Über den Autor

Alex Friedl

Alex Friedl

Experte für digitale Produkte

Ich vereine User Research, Prototyping und TypeScript Frontend-/API-Entwicklung um exzellente digitale Lösungen zu gestalten.

Alexander Friedl
Checking...
Checking...

Lassen Sie uns über Ihr Projekt sprechen

Ich verwandle komplexe Anforderungen in elegante Lösungen.

UX Research
UI & IxD Design
App Entwicklung

+49 157 581 508 46