Eigenes Projekt · 2026
CYCLIX
Mobile SaaS-App für die industrielle Instandhaltung. Maschinen, Wartungszyklen und Ersatzteile digital verwalten — mit KI-gestützter Typenschilderkennung via Claude API, rollenbasiertem Team-Management und automatischen Push-Benachrichtigungen.
Indie SaaS
vollständig selbst entwickelt
3 Rollen
Admin · Planer · Techniker
Claude Haiku
KI-Typenschilderkennung
iOS & Android
Cross-Platform mit Expo
Screenshots

Features
KI-Typenschilderkennung
Foto eines Maschinentypenschilds aufnehmen — Claude Haiku analysiert es und befüllt Name, Hersteller, Modell und Seriennummer automatisch. Die KI läuft als Edge Function, der API-Key verlässt nie das Gerät.
Wartungsmanagement
Wartungszyklen mit Intervall anlegen, Fälligkeitsdaten automatisch berechnen und Protokolle erfassen — inklusive Ersatzteilen, Stückzahlen, Kosten und PDF-Upload.
Dashboard & Statusübersicht
KPI-Karten für überfällige, diese Woche und diesen Monat fällige Wartungen. Farbkodierte Indikatoren und filterbare Liste aller anstehenden Termine auf einen Blick.
Rollenbasiertes Team-Management
Drei Rollen mit abgestuften Berechtigungen: Admin (Vollzugriff), Planer (CRUD Anlagen & Wartungen), Techniker (Lesen & Protokollieren). Team-Einladung per generiertem Code mit Ablaufdatum.
Anlagenregister
Maschinen abteilungsweise anlegen, bearbeiten und archivieren. Vollständige Wartungshistorie pro Anlage — inklusive Fotos, Dokumente und Ersatzteilverbrauch.
Push-Benachrichtigungen
pg_cron sendet täglich um 07:00 UTC eine Anfrage an die Edge Function, die alle fälligen Wartungen ermittelt und Org-Mitglieder via Expo Push API benachrichtigt.
Tech Stack
Architektur-Highlights
FOR UPDATE Lock im Invite-Flow
Das Einlösen von Einladungscodes nutzt einen PostgreSQL-Row-Lock, um Race Conditions bei gleichzeitigen Zugriffen zu verhindern — korrekte Concurrency-Behandlung in einer Multi-User-Umgebung.
KI als serverlose Edge Function
Die Typenschilderkennung läuft als Supabase Edge Function: Bild und Prompt werden serverseitig an Claude Haiku gesendet, der API-Key verlässt nie das Gerät und die Kosten bleiben kontrollierbar.
Multi-Tenant-Isolation via Row Level Security
Jede Datenbankabfrage wird durch RLS-Policies auf Organisationsebene eingeschränkt — Nutzer sehen ausschließlich Daten ihrer eigenen Organisation, ohne Filterlogik im App-Code.
Clientseitige Statusberechnung
Überfällig, diese Woche, diesen Monat — die Statusklassifikation erfolgt vollständig in lib/utils.ts auf Basis von next_due_at, ohne zusätzliche Datenbankabfragen.
pg_cron für Push-Benachrichtigungen
Ein Cron-Job in der Datenbank sendet täglich um 07:00 UTC einen HTTP-POST an die notify-maintenance Edge Function, die fällige Wartungen ermittelt und Nutzer via Expo Push API benachrichtigt.