Kim Søvsø

July 5, 2023

Fra idé til prototype med ChatGPT

Du kender det sikkert: Det er lørdag aften og du er egentlig på vej i seng. Men en idé har rumsteret i baghovedet nogen tid - og måske ku' du lige se om ikke den kunne have gang på jord?

Enter: En god øl og ChatGPT (link til den samlede dialog med ChatGPT findes i bunden, her i teksten er primært forkortede uddrag/screenshots).

Ideen: Som elbil-ejer vil jeg gerne have aktuelle timepriser på el indsat i en Google-kalender, så jeg let kan se det kommende døgns priser og få en notifikation, når timeprisen er under en given pris.

Til det skal jeg bruge noget data om elpriserne og en måde at få det ind i kalenderen.

De data har nogle flinke nordmænd sørget for, at jeg let kan tilgå på forskellige måder via denne side:
https://www.elprisenligenu.dk/elpris-api

Her kan jeg bl.a. tilgå en direkte service, der returnerer elprisen for vest-danmark på timebasis for en given dato:
https://www.elprisenligenu.dk/api/v1/prices/2023/07-02_DK1.json

Men hvordan skal jeg få de data ind i kalenderen? Først afsøger vi lidt muligheder i både Python og JavaScript (detaljer udeladt, det blev for komplekst til min prototype at bruge Googles API). Jeg overvejer også at bruge IFTTT-tjenesten hvor det er super simpelt at oprette events i Google-kalenderen, men udfordringen bliver det lidt mere komplekse omkring priserne (mere om det senere) og logikken i, hvornår jeg gerne vil have notifikationer.

Pointen her er ikke de konkrete prompts eller svar, men at det med ChatGPT er super simpelt at gå på opdagelse i forskellige muligheder:

image.png


...

image.png


...

image.png


Nå, måske er løsningen bare at oprette en iCal-fil (.ics)? Hvis jeg kan bestemme indholdet, så kan jeg nok få lige præcis de data i filen, som jeg ønsker.

Jeg kan jo prøve at give JSON-data'ene fra den norske service som input og se om ikke ChatGPT kan hjælpe mig med at få det til at blive en ics-fil:

image.png

image.png


... og der er endda instrukser med til at installere de nødvendige biblioteker!

image.png


Meen, jeg er lidt rusten i teknikken, så hvordan er det nu lige jeg let eksekverer koden på min Mac?

image.png


Klar tale! Men kunne jeg ikke lige få modificeret koden til at tilgå JSON-data direkte fra den norske service?

image.png


Ikke alt spiller - men min code-buddy kan naturligvis også fejlsøge :)

image.png


Så langt - så godt. Men nu bliver det magisk! At udregne den faktiske elpris pr. time er lidt komplekst, da den består af grundprisen (fra servicen) samt afgifter, forskellige tariffer i forskellige tidsrum og naturligvis også moms.

Priserne googler jeg mig til og forklarer her i nogenlunde menneskesprog - og vupti, så får jeg en opdateret kildekode med logikken indbygget - endda med brug af variabler, så jeg senere kan justere på de forskellige tillæg:

image.png


Den logik kunne jeg godt have brugt en god portion energi på at få på plads selv...

Det kunne også være smart at få en notifikation, hvis den samlede pris er under en eller anden grænseværdi:

image.png


Og sidste step, inden det - for alvor - blev sengetid: At prøve at importere .ics-filen i Google Calendar:

image.png


Mission accomplished! Og så er det ud og sætte elbilen til at lade fra kl. 13 og frem!

Samlet tidsforbrug fra idé til prototype var ca. en times tid.

Vil du se hele min tråd med ChatGPT, så kig her via den relativt nye feature, som gør det muligt at linke til samtaler.

About Kim Søvsø

Tanker om livet i en hastigt stigende digital verden.