RSBOOK Historien bag systemet
Fortælling og tal:

Et bookingsystem, der voksede.

Én klinik. Én stædig Kim. AI i maskinrummet. Og et system, der faktisk tager imod bookinger.

Forsiden af Real Skins nye klinikside med overskriften Fortryder du din tatovering? Du er ikke alene, og en formular til prisestimat ud fra et billede.
Login-siden på book.realskin.dk på en telefon. Man logger ind med e-mail og mobilnummer og får en kode.
Booking i drift
Rigtige skærmbilleder fra 6. oktober 2026: bookingens login og den nye klinikside.

Hvad er det her?

Jeg ville egentlig bare gøre det lettere at booke en tid.

Det blev til booking, betaling, kundeportal og et kontrolrum til klinikken. AI hjælper med at bygge, finde fejl og holde styr på arbejdet. Jeg er stadig det eneste menneske med administratorhatten på. Målet er det samme som altid: mindre gentagelig administration og mere tid til at behandle kunder.

Projektet har nu flere stopknapper end min kaffemaskine. Kaffemaskinen føler sig underprioriteret.

Hvad kan systemet?

Kort fortalt: alt det, en kunde skal bruge for at komme fra “jeg vil gerne have en tid” til “vi ses på tirsdag”.

Book en tid

Kalenderen er online, også når Kim har hænderne fulde. Ombooking og aflysning klarer kunden selv.

Betal online

Revolut-betaling er en del af bookingflowet.

Din egen side

Kundeportalen samler aftaler og konto. Ingen jagt gennem gamle mails.

Husk aftalen

SMS og e-mail sørger for bekræftelser og påmindelser.

15 min

Tiden er din

Den tid, du vælger, holdes til dig, mens du gør bookingen færdig.

AI med en voksen i rummet

Assistenten hjælper med viden, opslag og forslag. Kim godkender, før der sker noget hos en kunde.

19

En rigtig klinikside

Behandlinger, priser, før og efter, og 19 artikler. Den er live på realskin.dk.

Oktober: mere hverdag, mindre fanfare

Juli var ikke slutningen. Det var bare dér, siden holdt op med at tage noter.

  1. Bookingkernen arbejder allerede

    Booking, ombooking, aflysning, påmindelser og Revolut-betaling er i drift.

    book.realskin.dk svarede ved tjekket 6. oktober 2026.

  2. Kontrolrummet er bygget om

    I september fik klinikken en dagsoversigt som tidslinje, en kalender som tidsgitter, en indbakke i tre ruder og et kundekort, man kan læse.

    Bygget og flettet i september. Ikke en ny live-test af hvert flow.

  3. Næste besked løber ikke foran beviserne

    Udsendelser har fået et dagligt loft og en vagt, der stopper dem i tide. Den næste udsendelsesrunde venter på gennemgang og godkendelse.

    Ingen ny udsendelse er sendt som en del af denne side.

Spol historien

Fra den første idé til den lidt mere voksne version. Tryk dig frem. Historien har ingen autoplay, præcis som godkendelserne.

    1. 16.

      Historien får sin egen adresse

      CPHDK samler byggeriet til familie og venner. Fire versioner, fordi Frederik naturligvis også skal have sin egen.

    2. 20.

      Den første automatiske booking

      Det gamle arkiv markerer den første automatiske booking. Pludselig var det ikke kun en flot kalender.

    3. 21.

      Byggeriet får et tidsstempel

      Maj-snapshotet gemmer 1.509 commits og de tekniske optællinger. Tallene bliver liggende i historien, med dato og metode.

    4. 18.

      Farverne kommer tilbage

      Booking er live, kliniksiden kan ses på Vercel, og CPHDK får sit farverige univers igen. Bestyrelsesreferatet går på sommerferie.

    5. Aug.

      Reglerne bliver skarpere

      Login, betaling og ændringer i databasen får strammere regler. Indgående beskeder kan få et AI-udkast ud fra klinikkens egne fakta, og Kim godkender, før noget bliver sendt.

    6. Sep.

      Kontrolrummet bliver bygget om

      Dagen som tidslinje, kalenderen som tidsgitter, indbakken i tre ruder og et kundekort, man kan læse. De små daglige opgaver får endelig opmærksomhed.

    7. 5.

      Bevis før fanfare

      Valgte tider holdes nu i 15 minutter, og bookingflowet er finpudset. Alt til og med #1694 er flettet. Næste lanceringsrunde afventer gennemgang. Konfettien øver sig i tålmodighed.

    Marts til juli er historik fra den tidligere side. August til oktober er afstemt med daterede kilder fra udviklingen og driften.

    Tallene, målt 6. oktober

    Målt, ikke gættet. Gamle tal beholder deres egne datoer, og et tal bliver ikke yngre af at få neon på.

    2.745

    commits på main

    GitHub, 6. oktober 2026. Søjlerne er talt bagud på main, til og med hver dato.

    1.597

    flettede ændringer

    Pull requests flettet i alt. 140 af dem siden 18. juli.

    cirka384.000

    linjer kode

    Booking, API, klinikside og tests.

    429

    testfiler

    Filer, der prøver koden af. Ikke antal testcases.

    19

    artikler

    På den nye klinikside.

    Med samme målemetode er koden cirka fordoblet siden maj.

    Se kilder og metoder

    Det komplette billede

    Booking først. Så alt det rundt om booking, der pludselig viste sig også at være et arbejde.

    Booking og konto

    • Online kalender og aftaler
    • Ombooking og aflysning
    • Valgte tider holdes i 15 minutter
    • Kundeportal med egen historik

    Betaling og beskeder

    • Revolut i bookingflowet
    • Bekræftelser og påmindelser på SMS og e-mail
    • Venteliste med besked i dansk tid
    • Log over leverede SMS'er

    Admin og AI

    • Dagen som tidslinje, kalenderen som tidsgitter
    • Indbakke i tre ruder og et læsbart kundekort
    • JARVIS som hjælp til Kim
    • Forslag og kontrollerede handlinger med godkendelse

    Klinikside og viden

    • Behandlinger, priser og FAQ
    • Før og efter, og prisestimat ud fra et billede
    • 19 artikler
    • Live på realskin.dk

    Kode, fletning og drift er tre forskellige beviser. Bookingkernen er bekræftet i drift. De øvrige punkter er dokumenteret i udviklingshistorikken, og ikke alle er testet live igen til denne side.

    Det der skete efter juli

    140 flettede ændringer på knap tolv uger. Her er dem, man kan mærke.

    1. Sikkerheden bliver skruet op

      Login, betaling og ændringer i databasen får strammere regler. Det er den slags arbejde, man kun opdager, hvis det mangler.

    2. Receptionisten får et hoved

      Indgående beskeder bliver samlet ét sted, og AI kan skrive udkast ud fra klinikkens egne fakta. Kim godkender, før noget bliver sendt.

    3. Kundernes assistent bliver bygget, bag lås

      Med kvitteringer for hver handling og en fast slettefrist på to år uden aktivitet. Den åbnes kun trinvis og med Kims godkendelse.

    4. Kliniksiden får sin designpakke

      Nye sider, nyt udtryk og en enkel vej fra spørgsmål til booking.

    5. Kontrolrummet bliver bygget om

      Fælles designsystem på alle sider, dagen som tidslinje, kalenderen som tidsgitter, indbakken i tre ruder, et læsbart kundekort og en log over leverede SMS'er.

    6. Bookingen bliver strammet op

      Valgte tider holdes i 15 minutter, ubetalte reservationer bevares, og overlap bliver blokeret. Kundeprofiler skal være helt bekræftet.

    7. Lanceringslaget får mere kontrol

      Udsendelser får et dagligt loft og en vagt. Det handler om at kunne stoppe i tide, ikke om at næste udsendelse allerede er sket.

    8. Finpudsning før næste runde

      Bookingflowet får renere trin og dialoger, venteliste-SMS'en viser dansk tid, og admin rydder skærmen ved log ud. Senest flettede ændring: #1694.

    Statistik med tidsstempel

    Tre målinger, hver med sin egen dato. Maj og juli står, som de blev skrevet dengang.

    21. maj 2026

    Arkiveret snapshot

    Commits
    1.509
    Kildelinjer
    ca. 191.000
    Test- og spec-filer
    233
    Artikler
    13

    18. juli 2026

    Arkiveret snapshot

    Commits
    ca. 2.070
    Fletninger siden maj
    næsten 350
    Artikler
    19

    6. oktober 2026

    Ny måling

    Commits
    2.745
    Flettede ændringer i alt
    1.597 (140 siden 18. juli)
    Kildelinjer
    ca. 384.000
    Testfiler
    429
    Artikler
    19

    Commits på main

    Talt bagud 6. oktober på main, til og med hver dato i dansk tid. Ikke de arkiverede tal.

    Kildelinjer

    Vores egen metode, kørt 6. oktober på main, som den så ud ved udgangen af 21. maj og i dag.

    Kortene for maj og juli står, som siden skrev dengang. Søjlerne er en ny optælling bagud, lavet 6. oktober: 1.516 commits til og med 21. maj og 2.076 til og med 18. juli, og med vores egen metode ca. 190.000 linjer og 230 testfiler på main ved udgangen af 21. maj. En optælling bagud viser, hvad historikken på main indeholder i dag, ikke præcis hvad der blev talt på dagen. Et PR-nummer er ikke antallet af PR'er.

    Værktøjer og teknik

    Flere AI-værktøjer, faste roller og et menneske, der godkender. Ja, det begyndte som “en lille bookingside”. Den formulering er under intern undersøgelse.

    Tænkning og kritik

    Planer, forklaringer og et ekstra blik på det, der kan være forkert.

    Kode og validering

    Implementering, tests og fakta fra den kode, der faktisk findes.

    JARVIS

    Kims navn for assistenten i systemet. Den har sin egen version af siden.

    Kim

    Eneste menneskelige administrator. Stadig ansvarlig. Stadig ikke genopladelig.

    • BookingHTML, CSS og JavaScript
    • APINode.js og Express
    • DataPostgreSQL
    • KliniksideNext.js og Tailwind
    • DriftVercel
    • BeskederSMS og e-mail
    • BetalingRevolut

    Det økonomiske perspektiv, til Frederik

    Okay Frederik. Vi beholder regnemaskinen. Vi giver den bare ikke lov til at opfinde et regnskab.

    Mindre gentagelig administration, færre manuelle overleveringer og en lettere vej til en tid er målene. En stor kodebase er ikke i sig selv et økonomisk resultat. Siden viser ingen private driftsbeløb, kundeværdier eller omsætningstal.

    Hvad hvis tiden faktisk bliver frigivet?

    Prøv dine egne antagelser. Det er et eksempel, ikke en måling af Real Skin.

    5
    Fra 0 til 20 timer.
    Mellem 0 og 5.000 kr. Intet bliver gemt eller sendt.

    Mulig årlig tidsværdi i dit eksempel

    78.000 kr.

    5 timer × 300 kr. × 52 uger

    Brutto, før omkostninger. Frigivet tid er ikke automatisk ekstra omsætning eller overskud.

    Faktisk tid sparet

    Mål de gentagne opgaver før og efter. “Det føles hurtigere” er en god start, men et dårligt bilag.

    En lettere vej til en tid

    Se om kunderne finder og gennemfører en booking. Flere funktioner tæller først, når de gør den vej lettere.

    Omkostninger og ansvar

    Systemet skal stadig vedligeholdes, kontrolleres og betales. AI overtager hverken regningen eller ansvaret.

    Regnemaskinen har fået store tal ud af små antagelser. Den er fortsat ikke udnævnt til økonomidirektør.

    Hvad har vi egentlig bygget her?

    JARVIS er Kims kælenavn for assistenten i RSBOOK. Den hjælper med overblik, opslag og forslag. Kim er stadig den eneste menneskelige administrator, og kundehandlinger følger godkendelsesvejen.

    “Jeg har forberedt et forslag. Min plan om selv at blive chef er blevet afvist af den eneste chef.”

    Prøv den tørre versionSkrevet demo. Svarene ligger i siden og taler ikke med klinikkens AI eller kundedata.

    JARVIS, skrevet svarBookingkernen er i drift. book.realskin.dk svarede ved tjekket 6. oktober. Næste lanceringsrunde afventer de sidste kontroller. Konfettien har fået besked på at blive i skuffen.

    Tre roller, forskelligt ansvar

    Hjælp til besøgende

    Generel viden om klinikken, behandlinger og spørgsmål før en booking.

    Hjælp til kunden

    Ens egen aftale og bookingkontekst, i de kundeflows den er åbnet for.

    Admin JARVIS

    Kims assistent til opslag, overblik og forslag. At kunne forberede en handling er ikke det samme som frit at måtte udføre den.

    JARVIS har også en historie

    Februar til april

    OpenClaw-eksperimentet

    Det tidlige forsøg brugte flere specialiserede agenter. Det lærte os noget om overleveringer og endnu mere om kompleksitet. Flokken blev pensioneret.

    Sommer

    Assistenten flytter ind i systemet

    Booking, klinikviden og kontrollerede værktøjer bliver den vigtige kombination. Historien skifter fra “se alle mine bots” til “hvad hjælper faktisk klinikken?”. Det er fremgang. Også for familien.

    Efterår

    Hjælp, hukommelse og klare grænser

    Kim vil gerne beholde sit eget færdige JARVIS-arbejde, når han kommer tilbage til det. Rettelsen, der bevarer konteksten i den åbne side, blev flettet 5. oktober. Varig lagring gennem en genindlæsning er ikke dokumenteret.

    Om datoer, tal og kilder

    Fortællingen og de nye tal er fra 6. oktober 2026. Maj og juli er bevaret som historiske snapshots, ikke som nye målinger. Siden viser ingen kundetotal, ingen kundeoplysninger og ingen påstået besparelse.

    Frederiks regnemaskine bruger kun dine egne antagelser. JARVIS-demoen har skrevne svar. Ingen af delene henter, gemmer eller sender noget.

    Se kilder og metoder
    TalKilde og metodeMålt
    2.745 commitsCommits på main ifølge GitHub. Talt bagud på samme måde: 1.516 til og med 21. maj og 2.076 til og med 18. juli (dansk tid). De arkiverede sider skrev 1.509 og ca. 2.070.6. okt. 2026
    1.597 ændringerFlettede pull requests i alt på GitHub, inklusive opdateringer af afhængigheder. 140 er flettet efter 18. juli.6. okt. 2026
    ca. 384.000 linjerLinjer i kodefiler (JavaScript, TypeScript, CSS, HTML, SQL, shell og Python) i booking, API, klinikside og tests på main. Uden afhængigheder, lockfiler og minificerede filer. Samme metode giver ca. 190.000 på main ved udgangen af 21. maj.6. okt. 2026
    429 testfilerFiler navngivet som test eller spec i de samme mapper. Samme metode giver 230 på main ved udgangen af 21. maj. Det er filer, ikke testcases.6. okt. 2026
    19 artiklerArtikelindekset i kliniksidens kode og bloggen på Vercel.6. okt. 2026
    Booking i driftbook.realskin.dk og dens sundhedstjek svarede. Bookingens kode i drift er den samme som på main.6. okt. 2026
    Maj og juliArkiverede tal fra de tidligere versioner af denne side. Ikke målt igen.21. maj og 18. juli 2026