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.

GitHub
Claude APIReact NativeTypeScriptSupabaseExpo

Indie SaaS

vollständig selbst entwickelt

3 Rollen

Admin · Planer · Techniker

Claude Haiku

KI-Typenschilderkennung

iOS & Android

Cross-Platform mit Expo

Screenshots

Login

Features

01

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.

02

Wartungsmanagement

Wartungszyklen mit Intervall anlegen, Fälligkeitsdaten automatisch berechnen und Protokolle erfassen — inklusive Ersatzteilen, Stückzahlen, Kosten und PDF-Upload.

03

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.

04

Rollenbasiertes Team-Management

Drei Rollen mit abgestuften Berechtigungen: Admin (Vollzugriff), Planer (CRUD Anlagen & Wartungen), Techniker (Lesen & Protokollieren). Team-Einladung per generiertem Code mit Ablaufdatum.

05

Anlagenregister

Maschinen abteilungsweise anlegen, bearbeiten und archivieren. Vollständige Wartungshistorie pro Anlage — inklusive Fotos, Dokumente und Ersatzteilverbrauch.

06

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

MobileReact Native (Expo)
MobileTypeScript
Mobileexpo-router
BackendSupabase (PostgreSQL)
BackendSupabase Auth
BackendSupabase Storage
BackendEdge Functions (Deno)
Backendpg_cron
KIClaude Haiku API
ToolingEAS Build

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.