paint-brush
Wie ich mit ChatGPT und JavaScript nach Berlin gezogen binvon@isaksolheim
797 Lesungen
797 Lesungen

Wie ich mit ChatGPT und JavaScript nach Berlin gezogen bin

von isak.me3m2023/12/17
Read on Terminal Reader

Zu lang; Lesen

Ich habe einen Bot erstellt, der automatisch personalisierte, kontextbezogene Nachrichten an jeden neuen Eintrag sendet, der auf wg-gesucht.de veröffentlicht wird. Der Bot hat für mich eine Wohnung in Berlin gefunden!
featured image - Wie ich mit ChatGPT und JavaScript nach Berlin gezogen bin
isak.me HackerNoon profile picture
0-item
1-item

TLDR : Ich habe einen Bot erstellt, der automatisch personalisierte, kontextbezogene Nachrichten an jeden neuen Eintrag sendet, der auf wg-gesucht.de veröffentlicht wird. Der Bot hat für mich eine Wohnung in Berlin gefunden!


Wenn Sie sich für die technische Seite dieses Projekts interessieren, können Sie sich beim Lesen dieses Artikels gerne durch den Code wühlen !

Einführung

Als mein Austauschsemester an der Technischen Universität Berlin näher rückte, machte ich mich auf die Suche nach einer Wohnung. Ohne ein bestehendes Netzwerk in Berlin nutzte ich die Website wg-geuscht.de , um potenzielle WG-WGs zu kontaktieren. Dies war ein sehr repetitiver Prozess und ich beschloss, ihn zu automatisieren.

Automatisieren Sie langweilige Dinge mit JavaScript

Ich habe auf wg-gesucht.de E-Mail-Benachrichtigungen für alle neuen potenziellen Wohnungen in meiner Preisklasse eingerichtet und den Pub/Sub-Dienst von Google Clouds mit einem Push-Abonnement genutzt, um auf eingehende E-Mails in meinem Gmail-Posteingang zu achten.


Sobald eine neue E-Mail eintrifft, sendet der Dienst eine Webhook-Benachrichtigung an meinen Server.

E-Mail analysieren

Auf dem mit Express in JavaScript geschriebenen Server las ich die neueste E-Mail in meinem Gmail-Posteingang und analysierte sie mit Regex, um zu sehen, ob die E-Mail Links zu irgendwelchen wg-geuscht-Einträgen enthielt.

Navigieren im Eintrag

Für jede Auflistung habe ich mit Playwright , einem End-to-End-Test-Framework, einen Chromium-Browser erstellt. Dadurch konnte ich auf der Website genauso navigieren, wie man es tun würde, wenn man selbst damit interagiert. Ich habe mich in meinem Konto angemeldet, die Beschreibung des Eintrags zur Kenntnis genommen und auf Nachricht senden geklickt.

Generieren einer Nachricht mit GPT-3.5 Turbo

Die Nachricht wird mit GPT-3.5 Turbo mit der folgenden Eingabeaufforderung generiert:

 const prompt = ` Can you spice up the following text: "${starterText}" The updated text should explain why I would fit in the flatshare with the following listing text: "${listingText}". Add some emojies as well. Mention that my semester is from September to March, so a stay for that perioud would be ideal (but Im always flexible)! And if the listing is written in German, the answer should be in German as well. And if the listing says I need to say a specific word, start the whole text with that word! `;

Die generierte Nachricht wurde zusammen mit ein paar Bildern von mir gesendet.

Das Ergebnis

Die Zeit, die von der Liveschaltung eines Eintrags bis zur Antwort meines Bots verging, betrug etwa 10 Sekunden, was mich zuversichtlich machte, der Ersthelfer zu sein. Dies war die Antwort, die mir eine Wohnung gesichert hat:

 Hallo zusammen! 🦄 Das scheint ja eine richtig coole WG zu sein, in die ich perfekt reinpassen würde! 😄 Ich bin Isak und ich glaube, dass ich perfekt in dein WG-Zimmer passen würde! Mein Semester in Berlin geht von September bis März, also wäre ein Aufenthalt für diesen Zeitraum ideal (aber ich bin auch immer flexibel!). Die Lage der Wohnung klingt super, besonders die Nähe zum RAW-Gelände und zum Boxhagener Platz. Und hey, eine Tram-Station direkt vor der Tür ist auch genial! 🚋 Die Wohnung hört sich toll an, mit Balkon, Badewanne und Waschmaschine. Da fühlt man sich doch gleich wie zuhause! Wenn du Interesse hast, würde ich mich freuen, von dir zu hören. 📞 Liebe Grüße und hoffentlich bis bald! Isak PS Wenn die Anzeige auf Deutsch ist, dann antworte ich auch gerne auf Deutsch. Aber sei gewarnt, mein Deutsch ist manchmal etwas holprig. Ich verstehe nur Bahnhof! 😄


Schlussgedanken

Rückblickend habe ich mehr Zeit damit verbracht, am Bot herumzubasteln, als manuell auf E-Mail-Benachrichtigungen zu antworten. Trotzdem bin ich mit dem Ergebnis dieses Projekts zufrieden. Ich musste viel lachen über die albernen Antworten, die der Bot sendete, und die Häufigkeit, mit der sich die Leute bei mir meldeten, nahm merklich zu (höchstwahrscheinlich, weil ich ihr Ersthelfer war).


Ich habe kürzlich versucht, den Bot wieder hochzufahren, aber seit meiner Suche im Juni ist auf ihrer Website die Captcha-Verifizierung implementiert. Das könnte zum Besseren sein. Soweit ich weiß, wurden viele der Einträge selbst mit ChatGPT erstellt.