Hopp til hovedinnhold
Fag i Bekk/Bakdel 🧑‍🍳 — Bedre ...Bakdel 🧑‍🍳 — Bedre oppskrifter ...

Bakdel 🧑‍🍳 — Bedre oppskrifter pĂ„ internett.

Publisert:22. oktober 2024
Skrevet av:Dag Stuan

Noe av det beste med programmering er at man kan lĂžse hverdagslige problemer helt selv. Med det nyeste hobbyprosjektet mitt gjĂžr jeg nettopp det. MĂžt Bakdel.no!

Problemet

De siste Ärene har jeg begynt Ä bake brÞd og annen gjÊrbakst hjemme. Jeg har noen oppskrifter som jeg har brukt lenge, og jeg finner ogsÄ oppskrifter pÄ nettet nÄr jeg vil bake en annen brÞdtype eller andre ting.

Det finnes tusenvis av kilder til oppskrifter pĂ„ nettet, og det er derfor sjelden jeg finner oppskrifter pĂ„ samme sted. Mange av sidene er helt “ok” Ă„ bruke, men jeg syns allikevel at det ofte er mer fokus pĂ„ personen som publiserer oppskriften, heller enn meg som skal bake. Oppskriftene er fulle av livshistoriene til bloggerene som skriver de, har massevis av reklame, eller affiliate-lenker til ting jeg kan kjĂžpe. Og noen av stedene har ogsĂ„ brukt en slags “bait-and-switch” taktikk hvor de har lagt oppskriftene bak betalingsmur etterhvert.

Selv om oppskriftene ofte er gode, syns jeg ogsÄ det er vanskelig Ä bruke de. Jeg mÄ konstant scrolle mellom ingredienslista og oppskriftsteksten nÄr jeg er pÄ mobil, og oppskriftsteksten er ofte fylt av mye informasjon jeg ikke trenger.

Men det siste problemet, som er hovedgrunnen til at jeg har laget Bakdel, er skalering. NÄr jeg baker brÞd vil jeg bake tre brÞd om gangen, siden det er det jeg har plass til i ovnen. Oppskriftene jeg finner er ofte for ett eller to brÞd om gangen, og da mÄ jeg skalere selv. SÄ nÄr jeg lagde meg et eget Excel-ark bare for Ä bake, da tenkte jeg at det mÄ vÊre mulig Ä gjÞre dette bedre..

Excelark for skalering av ingredienser i en brĂždoppskrift.

Hvordan kan det bli bedre?

Det jeg Ăžnsket meg, var en plass hvor jeg kunne:

  • Lagre oppskriftene jeg liker i et format som er lettlest og oversiktlig, uten reklame eller annen unĂždvendig informasjon.
  • Slippe Ă„ scrolle mellom ingredienslista og oppskriftsteksten underveis.
  • Skalere oppskriftene slik at jeg kan bake tre brĂžd istedenfor to, eller lage vafler selv om jeg bare har to egg igjen i kjĂžleskapet pĂ„ en sĂžndag.

Ideen

I Bekk Trondheim har vi hatt noen workshop-kvelder i lĂžpet av hĂžsten hvor vi har lĂŠrt oss Ă„ bruke Sanity. Sanity er et hodelĂžst CMS som lar meg definere innhold i form av “dokumenter” eller “objekter”. I motsetning til et tradisjonelt CMS er ikke innholdet i et hodelĂžst CMS bundet til noe presentasjonslag, men er nĂŠrmere beslektet en tradisjonell SQL-database eller andre mer lavnivĂ„ abstraksjoner for innhold.

RedaktĂžrgrensesnittet i Bakdel

Det som skiller Sanity fra andre hodelĂžse CMS-lĂžsninger, er muligheten til Ă„ skreddersy redaktĂžropplevelsen. NĂ„r man setter opp et prosjekt er man selv ansvarlig for Ă„ sette opp “Sanity Studio”, som er brukergrensesnittet for Ă„ redigere innholdet. Dette gjĂžr at man relativt enkelt kan skreddersy en redaktĂžropplevelse til innholdet som produseres.

NÄr jeg ble litt kjent med hvordan man setter opp Sanity, fikk jeg en idé: Hva om jeg kan modellere oppskrifter og ingredienser som innhold i Sanity, og referere til ingredienser inne i en oppskriftstekst? PÄ den mÄten kunne jeg sette opp en innholdsmodell som gjorde at jeg lett kunne legge inn oppskrifter, og referere til ingrediensene inne i oppskriftsteksten.

Ingrediens-referanser inne i fritekstfelt i Sanity

Med litt mer logikk kunne jeg ogsÄ skalere ingrediensene underveis, slik at ferdig skalerte ingredienser kunne vises inne i teksten. NÄr jeg viste en liten demo frem til noen kolleager fikk jeg ogsÄ tips om at det kunne vÊrt fint Ä sjekke av ingrediensene underveis, og det gikk ogsÄ ganske raskt Ä legge til. Med det var grunnproduktet pÄ plass, og mesteparten av tiden etter det har gÄtt med til finpuss.

Oppskrift med skalerte ingredienser inne i teksten, og grensesnitt for skalering.

Andre teknologivalg

NÄr jeg koder pÄ hobbybasis prÞver jeg Ä ha en god blanding av teknologi jeg kjenner godt, samtidig som jeg prÞver Ä bruke noe nytt. Da kan jeg vÊre produktiv med de teknologiene jeg kjenner fra fÞr, samtidig som jeg kan fÄ lurt inn litt ny kunnskap. Kjente teknologier og produktivitet hjelper ogsÄ for at jeg faktisk skal beholde motivasjonen helt til jeg har et brukbart produkt.

Bakdel bestÄr av en Next.js-app som bÄde inneholder nettsiden og Sanity-studioet. Styling og UI-komponenter bruker Tailwind og Shadcn for Ä gjÞre det raskest mulig Ä komme i gang. Pluss at jeg ikke hadde jobbet med noen av disse fÞr, sÄ det var en fin mulighet til Ä teste litt ny teknologi. Jeg fikk ogsÄ litt drahjelp av Vercel sin v0-plattform for Ä komme raskt opp i fart.

Ellers kjĂžrer appen hos Vercel, med DNS og proxy hos Cloudflare. Alle disse teknologivalgene bidro til at det tok veldig kort tid fĂžr jeg var i produksjon, og fĂžrste versjon av appen var ute etter bare en ukes arbeid.

Veien videre đŸ›Łïž

Etter omtrent en mĂ„neds arbeid har jeg et produkt jeg er relativt fornĂžyd med, og som jeg bruker flere ganger i uka nĂ„r jeg skal bake. Ingrediensene vises inne i teksten selv om oppskriften er skalert, og man kan skalere oppskriftene basert pĂ„ enkeltingredienser. I tillegg er det lite unĂždvendig informasjon, og ingen reklame. 🎉

Selv om jeg ikke har noen planer om Ä begynne Ä konkurrere med Matprat, sÄ er det fint Ä iallefall ha én plass jeg trenger Ä gÄ til nÄr jeg skal bake, og hvor det er lett Ä legge inn oppskriftene jeg liker. Og hvis noen andre ogsÄ kan fÄ nytte av det, er det ogsÄ en fin bonus.

Jeg har planer om Ä prÞve Ä fÄ inn enda mer skaleringslogikk fremover, blant annet mulighet til Ä endre pÄ enheter i oppskriften som Ä bytte fra teskje til spiseskje nÄr man skalerer opp en oppskrift, eller la brukerene bytte fra desiliter til gram selv.

Hvis du har et forslag til en oppskrift som mangler, eller kanskje du lurer pÄ noe annet? Ta gjerne kontakt med tilbakemeldinger!

Du finner lÞsningen pÄ bakdel.no.

🍑

Del kunnskapen

Har du en kollega som ogsÄ hadde dratt nytte av denne artikkelen?

Skrevet av

Mer fra Fag i Bekk

NÄ er du ved veis ende. GÄ til forsiden hvis du vil ha mer faglig pÄfyll.

Til forsiden