Prosjekter
Alt jeg har bygget, fra nettsider til bookingsystem. Trykk på et kort for hele saken.
- Sparsom

Sparsom
PROBLEMETOversikt over egen økonomi krever at du fører budsjettet selv, og faste trekk du har glemt fortsetter å gå. Femten forslag i en liste blir null handling.
HVA JEG GJORDEJeg bygde landingssiden og ventelisten. Det ene grepet som er verdt å nevne: siden nekter å publisere en påstand om sikkerhet før et menneske har sjekket kilden. Mangler kilden, stopper hele bygget.
STATUS I DAGSelve appen er ikke bygget ennå. Det som står ute er landingssiden og ventelisten.
STACKsparsom.aiNEXT.JS · REACT 19 · TAILWIND V4 · MOTION · PLAYWRIGHT · VERCEL
- Toms Arena

Toms Arena
KUNDENKlinikken er Tom Skjønnhaugs. Han har behandlet toppidrettsutøvere siden 1985, og Thor Hushovd, Lars Monsen og Nusa er blant klientene. Slik står det på klinikkens egen side.
HVA JEG GJORDEJeg bygde klinikkens landingsside: hva behandlingen er, hvem den er for, og hvem som står bak den. Timebestillingen er klinikkens egen, og den er ikke rørt.
STACKVANILLA JS · SETMORE · VERCEL
- Ice Dream

Ice Dream
HVA JEG GJORDEJeg bygde siden for kiosken og kafeen. Hele menyen er sortert i grupper, så en gjest finner is, vafler og pizza uten å lese hele lista. Åpningstidene er ikke et bilde av en tabell: en indikator regner ut om det er åpent akkurat nå, og sier når det åpner igjen hvis det ikke er det. Nederst står det hvor i senteret de ligger.
STACKicedreamstrommen.noNEXT.JS · REACT 19 · TYPESCRIPT · TAILWIND V4 · VERCEL
- Varingskollen Borettslag

Varingskollen Borettslag
PROBLEMETDokumentlenkene til vedtekter, husordensregler og søknadsskjemaer pekte på ingenting. Nyhetene lå i nettleserens eget minne, bak et passordfelt i frontend-koden. Fellestilhengeren hadde ingen bookingløsning.
HVA JEG GJORDEJeg portet siden til Next.js og bygde styreverktøyet: innlogging med engangslenke, låst til styrets fem adresser, adminpanel for nyheter og infoskriv, og tilhengerbooking mot en database med sikkerhet på radnivå, der naboen sletter sin egen booking med en nøkkel i stedet for å måtte logge inn. Forholdene øverst på siden hentes fra tre kilder: Fnugg gir heiser, løyper og snødybde, MET gir varselet, og Frost gir målingene fra stasjonen. Fnuggs betingelser krever at krediteringen står sammen med dataen, så den rendres bare på siden som viser forholdene, og forsvinner hvis en kilde er nede.
STATUS I DAGDatabaselaget er bygget, men venter på at styret slår det på.
STACKNEXT.JS · TYPESCRIPT · TAILWIND · VERCEL
- Håvard Weider

Håvard Weider
PROBLEMETHåvard er tømrer og driver firmaet alene. Jobbene kom inn på telefon, og han hadde ingen side som viste hva han faktisk gjør.
HVA JEG GJORDEJeg bygde siden. To ting er verdt å nevne. Det ene er et klikkbart hus: du peker på den delen av bygget jobben gjelder, og får tjenesten som hører til. Det andre er hero-videoen, som først hentes når den er en firedel i syne, og aldri på liten skjerm, i sparemodus eller på 2G, så en dyr fil ikke sendes til noen som ikke ba om den.
STACKhweider.noNEXT.JS · REACT 19 · TYPESCRIPT · TAILWIND V4 · VERCEL
- Pawsome Plushies

Pawsome Plushies
HVA JEG GJORDEJeg satte opp nettbutikken mot det amerikanske markedet, med Meta Pixel og Conversions API for sporing, Klaviyo for e-post og Judge.me for omtaler.
STACKpawsomeplushies.comNETTBUTIKK · META PIXEL/CAPI · KLAVIYO · JUDGE.ME
- KMG Stansefabrikk

KMG Stansefabrikk
KUNDENKarl M. Gulbrandsen Stansefabrikk er en stansefabrikk i norsk industri, etablert i 1917. De driver platebearbeiding, sponfraskillende bearbeiding og tråderodering med DAK/DAP, og tegner og utvikler produkter sammen med kunden etter en behovsspesifikasjon. Det er bedriftens egne opplysninger, oppgitt på bedriftens egen side.
HVA JEG GJORDEJeg bygde siden på nytt: 24 ruter på norsk og engelsk, alle statisk prerendret, med hver tekst og hvert tall generert fra kildefilene framfor skrevet av for hånd. Forsiden følger ett emne gjennom fem tilstander, fra coil til ferdig del, og under hver tilstand står maskinen som gjør jobben med sine egne mål. Der kilden mangler et faktum eller motsier seg selv, står det merket i siden og samlet i et arbeidsark til kunden framfor å bli gjettet.
STATUS I DAGSiden ligger på et forhåndsvisningsdomene mens innholdet gjennomgås med kunden.
STACKkmg-beta.vercel.appNEXT.JS · REACT 19 · TYPESCRIPT · TAILWIND V4 · VERCEL
- Bookingsystem

Bookingsystem
PROBLEMETEt bookingsystem er ikke en bestillingsknapp. Det er ledige tider som må regnes ut mot ferier, sperrede timer og det som allerede er booket, roller som ser hver sine data, og en logg som viser hvem som åpnet hva.
HVA JEG GJORDEBestilling i seks steg (behandler, tjeneste, dato, tid, detaljer, bekreftelse), der hver dag i månedsrutenettet viser faktisk antall ledige, regnet ut mot helligdager, sperrede tider, ekstra åpne dager og allerede bookede timer. Adminpanelet er ti ruter: kalender, alle bookinger med filtrering og CSV-eksport, kunder, tjenester, behandlere, dokumenter, meldingsinnboks, innstillinger, stengte tider og en append-only journallogg. Avbestilling, venteliste og kontaktskjema hører med. Tekstene finnes på norsk og engelsk.
STATUS I DAGKlinikken er oppdiktet, og nettstedet sier det selv på hver side. Alle data nullstilles hvert døgn, og siden ber leseren la være å skrive inn ekte personopplysninger. Begge innloggingene til adminpanelet står åpent på forsida, fordi halvparten av systemet ligger bak dem.
STACKbooking-demo-rosy.vercel.appSUPABASE · POSTGRES · EDGE FUNCTIONS · CLOUDFLARE TURNSTILE · VERCEL