Eine Software, fünf Rollen: Immobilienverwaltung ohne Excel-Chaos
Otti One ist die All-in-One-Plattform für Schweizer Immobilienverwalter — als Multi-Tenant-SaaS von loaded entwickelt und betrieben.
Ottione (ottione.ch) ist eine Immobilienverwaltungs-Software für die Schweiz, entwickelt von loaded.ch: ein Next.js-Frontend über einem entkoppelten Python/FastAPI-Backend. Drei Login-Rollen (Admin, Verwaltung, Mieter) plus ein tokenbasiertes Handwerker-Portal ohne Account-Zwang, Echtzeit-Chat über einen eigenen WebSocket-Layer, Einzugs-Inspektionen, Nebenkosten-Abrechnung und FullCalendar-Terminplanung. Die Plattform läuft in Produktion und wird von loaded selbst weiterentwickelt — der Beleg, dass loaded SaaS nicht nur baut, sondern betreibt.
Das Problem hinter dem Projekt
Immobilienverwaltung in der Schweiz läuft vielerorts über Excel-Listen, E-Mail-Ketten und Ordnerstrukturen. Sobald mehrere Parteien beteiligt sind — Verwaltung, Eigentümerschaft, Mietparteien, Handwerker — bricht die Übersicht zusammen: Wer darf was sehen? Wo liegt das aktuelle Dokument? Wer hat wann was entschieden?
Die technische Kernfrage war deshalb keine Design-Frage, sondern eine Architektur-Frage: ein Berechtigungsmodell, das fünf unterschiedliche Rollen sauber trennt, ohne dass die Anwendung in fünf getrennte Systeme zerfällt — und das mandantenfähig, damit eine Instanz beliebig viele Verwaltungen bedienen kann.
Was wir gebaut haben
Rollenmodell mit Token-Trick für Handwerker
Admin, Verwaltung und Mieter haben eigene Login-Bereiche. Handwerker brauchen keinen Account: Sie erhalten pro Arbeitsauftrag einen Einmal-Link mit Upload-Token und laden Fotos und Rechnungen direkt hoch — null Onboarding-Reibung für Externe, voller Audit-Trail für die Verwaltung.
Entkoppelte API-First-Architektur
17 Domain-Services (Liegenschaften, Mietverträge, Wartung, Nebenkosten, Inspektionen …) kapseln das Python-Backend hinter einer sauberen Service-Schicht — Frontend und Backend sind unabhängig deploybar und testbar.
Echtzeit-Chat & Notifications
Mieter-Verwaltungs-Kommunikation läuft über einen eigenen WebSocket-Client mit Exponential-Backoff-Reconnect — Nachrichten und Pendenzen erscheinen live, ohne Reload.
Verwaltungs-Werkzeuge, die den Alltag abbilden
Einzugs-Inspektionen mit Protokoll, Nebenkosten-Kategorien nach Schweizer Praxis, Task-Templates und FullCalendar-Terminplanung — gebaut entlang des realen Verwalterjahres, nicht als Feature-Bingo.
Wie es wirklich gebaut ist
Ottione ist bewusst zweigeteilt: ein Next.js-14-Frontend (App Router) und ein eigenständiges Python/FastAPI-Backend, verbunden über eine REST-API mit JWT-Auth (Access/Refresh-Tokens, OTP-basierter Passwort-Reset). Das Frontend kennt das Backend nur über eine Service-Schicht aus 17 Domain-Modulen — von property über lease bis contractorInvoice. Dieser Schnitt erlaubt es, Backend-Logik (Abrechnungen, Berechtigungen, Mandantentrennung) unabhängig vom UI weiterzuentwickeln.
Die eleganteste Entscheidung ist die unscheinbarste: Handwerker sind keine Nutzer. Statt Externen einen Account aufzuzwingen, generiert jeder Arbeitsauftrag einen Upload-Token — der Handwerker öffnet einen Link, lädt Fotos und Rechnung hoch, fertig. Kein Passwort-Support, keine Karteileichen, trotzdem lückenlose Zuordnung zum Auftrag.
Echtzeit läuft nicht über eine Fertiglösung, sondern über einen eigenen WebSocket-Client mit Exponential-Backoff: Chat zwischen Mietern und Verwaltung, Benachrichtigungen und Pendenzen aktualisieren sich live. Abo-Verwaltung (Starter/Professional, monatlich/jährlich) ist über Stripe ans Backend angebunden; der Zugriff wird am Subscription-Status gegatet.
Das visuelle System wurde vor der Implementierung in einem separaten Design-Repository prototypisiert («The Institutional Standard») — erst als Konzept und Tokens standen, floss es in die App. Design als eigener Engineering-Schritt, nicht als Anstrich am Ende.
- Frontend
- Next.js 14.2 (App Router), React 18.3
- State/Forms
- Zustand 5, react-hook-form + Zod
- Backend
- Python / FastAPI (REST, JWT-Auth)
- Echtzeit
- Eigener WebSocket-Layer mit Backoff
- Kalender
- FullCalendar (Day/Time-Grid)
- Billing
- Stripe (Starter/Professional)
- pdfjs / react-pdf Viewer
Warum es so aussieht
Das Design-Konzept heisst intern «The Institutional Standard»: Deep Teal (#0F4C5C) mit Kupfer-Akzenten (#B47C48) auf Cream-White, Inter für Text, JetBrains Mono für Zahlen, harte 12-Spalten-Raster, dicke Rahmen, fast keine Rundungen. Die Referenz ist bewusst nicht «Startup», sondern Schweizer Infrastruktur — Software, der eine Verwaltung Mietzinse und Verträge anvertraut, muss nach Behörden-Solidität aussehen, nicht nach Beta.
Versalien-Headlines mit engem Tracking und die «Verified Swiss Standard»-Badge-Sprache ziehen das durch: Vertrauen als Gestaltungsprinzip. Das komplette System wurde in einem eigenen Design-Repo entwickelt und getestet, bevor die erste App-Seite gebaut wurde.
Das Rollenmodell war die eigentliche Produktentscheidung — wir haben es vor dem ersten Screen entworfen. Bei Multi-Rollen-SaaS gilt: Wer Berechtigungen nachträglich einbaut, baut zweimal. Diese Erfahrung fliesst heute in jedes Plattform-Projekt von loaded ein.
Fragen zu diesem Projekt
Mit welchem Stack ist Ottione gebaut?
Was kostet eine vergleichbare Multi-Rollen-Plattform?
Warum ist ein eigenes Produkt die beste Referenz?
Passende Leistung zu diesem Projekt: SaaS-Entwicklung
Kostenloses Strategiegespräch buchen.
30 Minuten — unverbindlich, kein Verkaufsgespräch. Wir analysieren Ihre Situation und zeigen, was möglich ist.
Verfügbare Zeiten konnten nicht geladen werden. Bitte kontaktieren Sie uns per E-Mail.
hello@loaded.chWeitere Case Studies
Expat Savvy ist die FINMA-registrierte Versicherungsberatung für English-speaking Expats in der Schweiz — die …
anewera macht Schweizer Unternehmen für KI-Agenten sichtbar, verständlich und kontaktierbar — mit Profil-Check…
OpenHermit macht Websites für KI-Agenten bedienbar — und zeigt im Dashboard, welche Agenten kommen, was sie le…