Berkay Orhan
WorkResearchExperienceAboutAskContact
Contact
← All projects

PROJECT / 2025

Oversee

Ops & AI Dashboard

Multi-tenant workshop management platform with role-based access, an AI assistant that can parse Excel files and manage reports through tool-calling, and Swedish-first analytics dashboards.

stack
TypeScript · Next.js 16 · React 19 · Supabase · shadcn/ui · TanStack Table · Vercel AI SDK · Z.AI GLM-4.7 · Zod · react-hook-form · Recharts · MDX · Framer Motion · Playwright

Live site ↗Source ↗

How it works

  1. Excel files
    uploaded reports

  2. assistant
    GLM with tool calling

  3. Supabase
    scoped per org and role

  4. dashboards
    analytics in Swedish

01 / Overview

Workshop management system where organizations track vehicle repairs, assign technicians, and monitor performance. Users create reports with registration numbers, problem descriptions, categories, and time tracking. An org-scoped AI assistant powered by Z.AI GLM-4.7 handles multi-step workflows — parsing Excel uploads into reports, querying the database, generating charts, and bulk-updating records — with human-in-the-loop approval before any destructive action. The whole interface is Swedish-first, built for field teams who may not be familiar with AI tools.

02 / Key features

  • –Role-based multi-tenancy: owners, admins, members, and technicians each see different data and controls, enforced by Supabase RLS
  • –AI assistant with 10+ tools for database queries, report CRUD, Excel parsing, chart generation, and web search — all scoped to the active organization
  • –Human-in-the-loop approval dialogs before the AI creates, updates, or deletes reports
  • –Report management with registration numbers, categories, technician assignment, time tracking, and bulk operations via drag-reorderable data tables
  • –Dashboard analytics: KPI cards, daily/weekly/monthly trend charts, category distribution, technician performance bars, and top reported issues
  • –Vehicle inspection tracking (Bilkollen) for recurring check-ups alongside ad-hoc repair reports
  • –Invitation system with join requests, org creation flow, and onboarding for new users

03 / Challenges

  • –Z.AI's GLM-4.7 only supports Chat API, rejects system role messages, and doesn't handle images — so the integration needed workarounds for message formatting and graceful degradation when users attach files
  • –Multi-step AI workflows like Excel import (fetch technician names → category names → parse → create reports) had to preserve context across 5+ tool calls without blowing up the token budget
  • –Technicians should only see their own reports while admins see everything — getting RLS policies right for that asymmetry across all query paths took careful testing
  • –Base64 images from screenshots can exceed Vercel's 8MB request limit, so the client compresses them iteratively before sending

04 / Solution

System prompt gets prepended to the first user message to work around GLM's missing system role. AI tools use names_only flags and pagination to keep token usage low during multi-step operations. RLS policies enforce org + role scoping at the database level, and server actions validate membership before any mutation. Client-side Canvas API compression reduces image payloads by 60-80% with iterative quality reduction. Rate limiting (30 req/hour per user per org) prevents abuse without blocking normal usage.

05 / Outcome

Used in production by a workshop organization to track repairs and technician workload. The AI assistant handles the bulk of data entry — field technicians snap a photo or paste an Excel export and the assistant turns it into structured reports after confirmation. What started as a KPI dashboard grew into the primary tool for day-to-day operations.

Berkay Orhan© 2026

WorkResearchExperienceCVBack to top ↑