Jeg bygde om kenove.no på én kveld. Det gamle nettstedet var en CV med Star Treks LCARS-grensesnitt som tema. Det så slående ut. Med ombyggingen gikk det fra CV til publikasjon.



Det nye nettstedet er en læringspublikasjon. Tospråklig. Redigerbart fra hvor som helst. Eid av meg, ikke låst inne på noens plattform.
Dette er hva jeg brukte, i rekkefølgen jeg brukte det.
Verktøystakken i én setning. Lovable skriver React-appen og hoster den. Sanity lagrer innholdet. GitHub holder koden synkronisert mellom Lovable og Mac mini-en min. Claude Code redigerer alt jeg vil gjøre selv.
Steg 1: Lovable, sett opp prosjektet. Jeg beskrev hva jeg ville ha på vanlig engelsk: et tospråklig redaksjonelt nettsted, engelsk på rotnivå, norsk under /no, innhold fra Sanity, hostet av Lovable. Jeg valgte TanStack Start-malen (ikke standard Vite SPA) fordi jeg ville ha server-side rendering for SEO. Lovable satte opp grunnstrukturen for appen: React, TypeScript, Tailwind, shadcn/ui, filbasert ruting under src/routes/, en server-entry i src/server.ts.
Steg 2: Sanity, sett opp CMS-et. Lovable koblet inn et Sanity Studio i en studio/-mappe i samme repo. Studioet er editoren jeg bruker til å skrive og publisere innlegg. Jeg definerte fire dokumenttyper i schemaet: note (korte essays), walkthrough (denne typen tekst), nowUpdate (/now-siden), og senere toolResearch (en intern kunnskapsbase for å forankre fremtidige utkast). Hver redigerbar type fikk language- og translationOf-felt slik at det tospråklige oppsettet virker på datalaget, ikke bare på rutingen.
Steg 3: Deploy schemaet. Fra studio/ kjørte jeg npx sanity@latest schema deploy. Det registrerer schemaet slik at API-et kjenner igjen mine egendefinerte felt. Én gotcha: Studioet trenger en Node-versjon som matcher Sanitys engines-krav. Jeg pinnet Node 22 via Homebrew (brew install node@22) fordi system-Node 25 brøt Studioets dype avhengigheter.
Steg 4: Koble til GitHub. Lovables toveis GitHub-synk er hjørnesteinen i alt som kommer etterpå. Hver endring i Lovable pusher en commit. Hver commit jeg pusher fra Mac mini-en min, plukker Lovable opp. Det er dette som gjør delingen mulig: visuelt arbeid i Lovable, logikk og migrasjoner i Claude Code. Uten den synken må du velge ett verktøy og leve med begrensningene.
Steg 5: Klon repoet, åpne det lokalt. Jeg klonet GitHub-repoet til Mac mini-en min. Derfra redigerer jeg kode i Claude Code CLI når Lovable sliter: kompleks rutinglogikk, async-timing i Supabase-flyter, og senest en typografisk gjennomgang av 30 filer for å fjerne tankestreker overalt.
Steg 6: La Lovable hoste det. Lovable serverer SSR-appen på sin egen hosting. Deploy skjer automatisk ved hver endring, enten endringen startet i Lovable eller som en commit pushet fra Mac mini-en min via GitHub. Ingen ekstra hosting-konto å sette opp, ingen deploy-konfigurasjon å vedlikeholde.
Steg 7: Self-host Sanity Studio. Jeg redigerer innlegg ofte nok til at jeg ville ha Studioet alltid kjørende på localhost:3333. På macOS betyr det en LaunchAgent: en liten plist på ~/Library/LaunchAgents/no.ferbu.sanity.plist som kjører sanity dev ved innlogging, starter på nytt ved krasj, og overlever omstarter. Å redigere et innlegg blir ett tastetrykk: Cmd+Tab til nettleseren, skriv, publiser.
Det som overrasket meg. Toveis GitHub-synk høres kjedelig ut på papiret. I praksis er det den ene funksjonen som låser opp hele oppsettet. Uten den ville Lovable vært en lukket hage. Med den står Lovable og Claude Code side om side, og kodebasen er min hele veien gjennom.
Det jeg ville hoppet over neste gang. Lovable feilrettingssløyfer. Når noe ryker på en måte Lovable ikke ser, «fikser» den noen ganger feil ting tre ganger på rad og brenner betalte kreditter på det. Raskere vei: åpne Claude Code, les den faktiske stack-tracen, fiks det faktiske problemet. Push så tilbake, la Lovable se diffen, og gå videre.
Det jeg ville beholdt. Å behandle Sanity som sannhetskilden. Alt som er innhold (innlegg, gjennomganger, /now-siden) lever i Sanity. Nettstedet er en renderer for det. Den separasjonen betyr at jeg kan endre nettstedet uten å skrive innholdet om igjen, og jeg kan endre innholdet uten å røre nettstedet.
Det dette åpner for. Å legge til et nytt innlegg er å åpne Studio, skrive, publisere. Å legge til en ny seksjon er å beskrive det for Lovable, se diffen komme inn, finpusse i Claude Code. Nettstedet er raskt, mitt eget, tospråklig, og redigerbart fra hvilket rom som helst. Hele stakken koster omtrent prisen på en strømmetjeneste i måneden på nivået jeg ligger på nå. Lovable er den største utgiftsposten; Sanity og GitHub ligger på gratisnivå i denne skalaen.
Nettstedet du leser er beviset.
Flere gjennomganger som denne på kenove.no. Abonner nederst hvis du vil ha dem når de publiseres.
