~/projects/cyclixEget prosjekt · 2026

CYCLIX_

Mobil SaaS-app for industrielt vedlikehold. Administrer maskiner, vedlikeholdssykluser og reservedeler digitalt — med AI-drevet typeskilt-gjenkjenning via Claude API, rollebasert teamadministrasjon og automatiske push-varsler.

GitHub
Claude APIReact NativeTypeScriptSupabaseExpo

Indie SaaS

fullt selvbygget

3 roller

Admin · Planlegger · Tekniker

Claude Haiku

AI typeskilt-gjenkjenning

iOS og Android

Cross-Platform med Expo

// Skjermbilder

Innlogging

// Funksjoner

01

AI typeskilt-gjenkjenning

Ta et bilde av et maskintypeskilt — Claude Haiku analyserer det og fyller automatisk inn navn, produsent, modell og serienummer. AI-en kjører som en Edge Function, og API-nøkkelen forlater aldri enheten.

02

Vedlikeholdshåndtering

Opprett vedlikeholdssykluser med intervaller, beregn forfallsdatoer automatisk og registrer protokoller — inkludert reservedeler, antall, kostnader og PDF-opplasting.

03

Dashboard og statusoversikt

KPI-kort for forfalte, denne ukens og denne månedens vedlikehold. Fargekodede indikatorer og en filtrerbar liste over alle kommende avtaler i ett blikk.

04

Rollebasert teamhåndtering

Tre roller med trinnvise tillatelser: Admin (full tilgang), Planlegger (CRUD anlegg og vedlikehold), Tekniker (lese og protokollere). Teaminvitasjon via generert kode med utløpsdato.

05

Anleggsregister

Opprett, rediger og arkiver maskiner etter avdeling. Full vedlikeholdshistorikk per anlegg — inkludert bilder, dokumenter og reservedelsbruk.

06

Push-varsler

pg_cron sender daglig kl. 07:00 UTC en forespørsel til Edge Function-en, som identifiserer alle forfalte vedlikeholdsoppgaver og varsler organisasjonsmedlemmer via Expo Push API.

// Tech Stack

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

// Arkitektur-høydepunkter

FOR UPDATE Lock i invitasjons-flyten

Innløsing av invitasjonskoder bruker en PostgreSQL-radlås for å forhindre race conditions ved samtidig tilgang — korrekt konkurransehåndtering i et flerbruker-miljø.

AI som serverløs Edge Function

Typeskilt-gjenkjenningen kjører som en Supabase Edge Function: bilde og prompt sendes serverside til Claude Haiku, API-nøkkelen forlater aldri enheten og kostnadene forblir kontrollerbare.

Multi-tenant-isolasjon via Row Level Security

Hver databasespørring begrenses til organisasjonsnivå via RLS-policyer — brukere ser kun data fra sin egen organisasjon, uten filterlogikk i app-koden.

Statusberegning på klientsiden

Forfalt, denne uken, denne måneden — statusklassifisering skjer i sin helhet i lib/utils.ts basert på next_due_at, uten ekstra databasespørringer.

pg_cron for push-varsler

En cron-jobb i databasen sender daglig kl. 07:00 UTC en HTTP POST til notify-maintenance Edge Function, som identifiserer forfalte vedlikeholdsoppgaver og varsler brukere via Expo Push API.

← Tilbake til prosjekter