Spaces:
Running
Running
HELPDESK.AI - As-Built Architecture
1. System Overview
HELPDESK.AI is a multi-tenant SaaS ticketing platform driven by an AI processing pipeline to automate triage.
2. Component Architecture
2.1 Frontend (React + Vite)
- Framework: React 19 mapped through Vite.
- State Management: Zustand (
useAuthStore,useTicketStore) withzustand/middleware/persistbound tolocalStorage(hardened against QuotaExceeded errors). - Styling: TailwindCSS + Vanilla CSS for animations and layout.
- Routing: React Router DOM (v6+), facilitating public routes (
/), protected user routes (/dashboard), and admin flows (/master-admin).
2.2 Backend (FastAPI + Python)
- Framework: FastAPI providing high-concurrency async endpoints.
- Core Endpoints:
POST /ai/analyze_ticket: Synchronous pipeline handling Text Classification (DistilBERT), NER, and Semantic Duplicate detection.POST /ai/log_correction: Feedback loop endpoint for adversarial retraining.
- Deployment: Containerized and hosted on Hugging Face Spaces.
2.3 AI Inference Pipeline (Hugging Face / PyTorch)
- Categorization & Routing: Fine-tuned
DistilBERT. - Duplicate Detection:
sentence-transformers/all-MiniLM-L6-v2for cosine similarity on cached ticket embeddings. - Performance: End-to-end inference executes in <400ms under standard load.
2.4 Database & Auth Layer (Supabase / PostgreSQL)
- Auth: Supabase Auth (Email/Password & Magic Links). User state synchronized instantly via metadata and asynchronously via
profilestable. - Database: PostgreSQL.
- Table:
profiles(User RBAC and metadata) - Table:
tickets(Core ticket data with JSONB for AI metadata)
- Table:
- Row Level Security (RLS): Strict RLS policies ensure Company Admins only see their tenant's data, and users only see their own tickets.
3. Storage and Scaling Strategy
- Client-Side: Critical UI state cached in
localStoragevia Zustand persist. DirectlocalStorageaccess wrapped intry-catchblocks for adversarial resilience. - API Rate Limiting: Expected at the API Gateway level (or via Hugging Face limits).
4. Production Hardening (BMAD Phase 1 & 2)
As part of the BMAD End-Game:
- SEO & Metadata: Implemented OpenGraph, Twitter Cards, and canonical meta boundaries in
index.html. - Browser Storage Hardening: Error boundaries established defensively against JSON Parse failures and Quota Limit Exceeded exceptions on clients.
- Retrospective Log: Documented in project artifacts repository.