Skip to content

Arkitektur

Hur det är byggt

Det här är inte teori. Det är systemet jag faktiskt kör. När du anställer mig får du samma arkitektur — webbplatsen, AI-verktygen, och en stab på nitton agenter som driver din site i bakgrunden. En person, hela kedjan.

19AI-agenter i drift
6Säkerhetspelare
EU-onlyDatalagring (GDPR)
100%Schema-validerad output

De nitton agenterna

En orkestrerare, sexton specialister, två vakthundar. Varje agent har en tydlig roll, ett internt budgettak, och en schemavaliderad output. Klicka på en agent för att läsa mer.

19

agenter i drift

11

kundvända

100%

godkännande-gate

2

modeller (Haiku · Sonnet)

Agent-djungeln · 3DSe de kundvända agenterna live — vandra djungeln
och utanför pipen

Klicka på en agent för att läsa mer

Visat live på startsidan

AI Business Advisor — RAG per företag

Orben på startsidan är ingen kuliss. Den är kopplad till en riktig multi-tenant RAG-motor: en AI som kan ett specifikt företag och svarar med källor. Samma motor driver både AI Business Advisor och Offert-agenten — och bygger jag in i mina kunders egna sajter.

  1. 01

    Kurerad kunskap

    Varje företag får ett eget, isolerat kunskapsvalv — siffror, lokal marknad, konkurrensbild. Hur valvet kureras är min metod; resultatet är en AI som faktiskt kan företaget.

  2. 02

    Voyage-embeddings

    Dokumenten chunkas sektionsmedvetet, bäddas in med voyage-3-large (1024-dim) och lagras i pgvector på Neon (EU).

  3. 03

    Isolerad retrieval

    Cosine-sökning (<=>) med ett OBLIGATORISKT company_id-filter. En frisörsalongs fråga kan aldrig nå ett kafés data — saknas company_id vägrar funktionen att köra.

  4. 04

    Grundat svar med källor

    Claude Haiku 4.5 svarar enbart från hämtad kontext, streamar token för token, och bifogar källkort så besökaren ser exakt vilket dokument varje påstående bygger på.

Isoleringskontraktet

Multi-tenancy är inte en inställning man hoppas håller — det är en invariant. retrieveSimilarAdvisor kräver ett company_id och kastar fel utan det. Två personas (Business som kan bolaget, Build som kan vad jag bygger) delar en motor men aldrig data.

Skyddsräcken för en publik demo

  • All besökartext slås in i UNTRUSTED-block — modellen följer aldrig direktiv inifrån. Samma försvar som agentplattformen.
  • Rådgivar-framing: aldrig riktiga priser eller löften som fakta. Demobolagen är fiktiva, så exfiltreringsytan är noll.
  • Synlig "AI-assistent · demo"-märkning (EU AI Act art. 50), 2000-teckens tak och rate-limit per IP.

Säkerhet & kontroll

Jag är ansvarig för dina kunders data, dina mejl, din publicerade text. De här sex pelarna är inbyggda i plattformen — inte en fas-2-leverans.

  • Magisk länk-inloggning

    Inga lösenord. NextAuth v5 med Resend, vitlistad e-post. En läckt länk kan inte logga in en främling.

  • Prompt-injection-skydd

    All användartext från webhooks slås in i UNTRUSTED-block. Modellen instrueras att aldrig följa direktiv inifrån blocket. Schema-validerade URL-allowlists stoppar exfiltrering.

  • Budgettak per agent + per klient

    Varje agent har en daglig budget-tröskel. Varje klient har en månatlig token-envelope. Når någondera taket vägrar runnern att starta — ingen agent kan lura plattformen att blöda en kunds budget. Postgres advisory-lock säkrar mot race conditions.

  • Schemavaliderad output

    Alla strukturerade agenter använder generateObject + Zod. Modellen kan inte skicka skräp som kraschar pipelinen. Externa agenter (Scout/Liaison) har dessutom ett safety_classification-fält.

  • Per-klient webhook-tokens

    Varje klient har sin egen bearer-token i clients.webhook_token-kolumnen. En läckt token kompromitterar bara en klients dataflöde — inte hela plattformen.

  • Append-only audit log

    Varje agent-körning, varje godkännande, varje blockerad refusal loggas. Kan aldrig ändras i efterhand. Felsöker varför Auditor sa X på 30 sekunder.

Stacken

Modern, beprövad, och driftsäker. Allt körs på EU-baserade leverantörer med transparent versionspolicy — inga svarta lådor.

Frontend

  • Next.js 15 (App Router)
  • React 19
  • TypeScript strict
  • Tailwind v4
  • next-intl (sv/en)

Backend

  • Vercel serverless + edge
  • Postgres (Neon EU)
  • Drizzle ORM
  • NextAuth v5 + Resend magic-link

AI-lager

  • Vercel AI SDK v4
  • Claude Haiku 4.5 (specialister)
  • Claude Sonnet 4-6 (Captain + Surgeon)
  • Prompt caching
  • generateObject + Zod-scheman

Drift

  • GitHub Actions cron
  • Postgres rate-limit buckets
  • Resend för transaktionella mejl
  • Audit log + intern eventbus

En dag på plattformen

Vad agenterna gör utan att jag behöver lyfta ett finger — och var jag faktiskt klickar för att godkänna.

  1. 02:00 UTC
    Sentinel kör säkerhetsskanning på sajten + GitHub-repot. Hittar något kritiskt? Det blir ett pending_approval-utkast åt mig.
  2. 06:00 UTC
    Captain sammanställer en morgonbriefing baserat på senaste 24h. Captain-daily mejlar varje Standard/Pro-kund med deras gårdagssiffror.
  3. 09:18
    Jag öppnar /inbox, läser, redigerar två rader, klickar Godkänn. Resend skickar mejlet i mitt namn.
  4. 14:32
    En kund mejlar en supportfråga. Liaison drar utkast i min röst. Jag godkänner.
  5. var 6:e timme
    Watchman pollar din site, hämtar sitemap + canonical rooten, loggar 4xx/5xx i client_errors. Återkommande fel eskaleras till Surgeon.
  6. vid tröskel
    Surgeon läser den brutna URL:en, hämtar relevant kod från ditt repo, drar en supervised PR med fix. Du läser, mergar eller stänger.
  7. var 30:e minut
    Guardian kollar alla agenters hälsa. En har missat sin cron — eskalerar bara om det är två cykler i rad.
  8. måndag 07:00
    Auditor fan-outar en run per aktiv kund. Veckorapport landar i /inbox för granskning, sedan mejlas till kunden.

Det är samma system jag bygger åt dig

Du behöver inte bygga någonting själv. Du behöver bara veta att den som bygger för dig kör samma stack själv, varje dag, och ser problemen innan du gör det.

Boka 15 min samtal