FR();
01 / Engineering case study

Kevrion

Workshop Management Platform

Management software designed around real automotive workshop workflows.

Functional staging · PrivateVerified Sep 20265 technologiesWorkshop core
TypeScriptReactTanStackSupabasePostgreSQL
WORKSHOP FLOW
Customer
Vehicle
Work order
Context

Kevrion is a management product shaped around the day-to-day needs of automotive workshops, bringing customer, vehicle and operational information into one system.

01

Problem

Workshop information often lives across disconnected documents and tools. Kevrion explores a more coherent workflow built around the way the business actually operates.

02

Constraints

  • Organization-aware data must remain isolated across database and private storage.
  • OCR output must be reviewed before changing vehicle data.
  • Functional staging must not be presented as production SaaS.
03

Solution

A database-backed application that connects customer and vehicle records with workshop workflows and document processing.

Under the Hood

The technical layers that turn the product idea into a working system.

01

Workshop domain

organizations, clientes, vehiculos and expedientes connect the real workflow to photos, documents and parts.

PostgreSQLTypeScript
02

Tenant boundary

RLS scopes rows; private buckets and signed URLs protect stored resources.

03

Technical-sheet OCR

An authenticated function requests strict JSON, then an editable form requires confirmation.

04

Staging workflow

Invitations, password setup and recovery exist in staging while main stays untouched.

System Explorer

Select a node to inspect its role and relationships.

Domain

The organization-aware workshop record model.

Technical decisions
01 / 05

Enforce tenant scope with RLS

Context
Organization data cannot rely on client filtering.
Decision
Apply PostgreSQL RLS to organization-aware rows.
Trade-off
Every schema change requires policy review.
Revisit when
If the tenancy model changes.
What broke
KEV-INC-01Provisioning trigger missingResolved
Symptom
New auth users lacked expected application data.
Root cause
on_auth_user_created / handle_new_user() was missing.
Fix / mitigation
Restored the function and trigger.
Lesson
Authentication and provisioning are separate.
Status
Resolved
KEV-INC-02PGRST201 relationship ambiguityResolved
Symptom
PostgREST could not resolve an embed.
Root cause
Migrations introduced ambiguous relationships.
Fix / mitigation
Used explicit foreign-key names.
Lesson
Implicit resolution breaks as schemas evolve.
Status
Resolved
KEV-INC-03Mobile uploads failedResolved
Symptom
Uploads failed in a real mobile HTTP context.
Root cause
crypto.randomUUID() was unavailable.
Fix / mitigation
Added crypto.getRandomValues() fallback.
Verification
Camera, gallery, multi-select and types were physically retested.
Lesson
Platform assumptions need real-device tests.
Status
Resolved
KEV-INC-05OCR looked brokenResolved
Symptom
OCR failed during authentication validation.
Root cause
The server environment lacked outbound network; OpenAI never received the image.
Fix / mitigation
Separated environment diagnosis from application logic.
Lesson
Integration failure is not automatically algorithm failure.
Status
Resolved
KEV-INC-06Magic link was not onboardingPartially validated
Symptom
The link authenticated but did not establish reusable password setup.
Root cause
Authentication was treated as the whole onboarding journey.
Fix / mitigation
Added password setup and recovery in staging.
Verification
Full E2E remains pending without SUPABASE_SERVICE_ROLE_KEY.
Lesson
Auth, provisioning and onboarding are distinct.
Status
Partially validated
Engineering learnings
  • Tenant isolation must be tested, not assumed.
  • Real mobile devices reveal desktop-blind failures.
  • Unknown or redacted OCR fields should remain empty.
Next iteration
  • Complete invitation/recovery E2E and office→admin testing.
  • Refine color, fuel and make/model extraction with more real sheets.
  • Run the prepared real-workshop pilot.
Evidence
SECURITY CHECK2 test organizations

No cross-tenant findings in documented DB, route and private-storage checks; both users were admins.

OCR VALIDATIONReal technical sheet

Visible Citroën data extracted; redacted plate and VIN stayed empty.

MOBILE TESTPhysical device

Camera, gallery, multi-select and categories were exercised.

DOCUMENTED CHECKPOINT13/13 tests

Latest recorded checkpoint also reports typecheck and build passing.

LIMITATIONPrivilege path pending

office→admin escalation and complete invitation E2E are not validated.

Technical stack

Kevrion · Technical stack

TypeScriptReactTanStackSupabasePostgreSQL
Current stateFunctional stagingPrivate