Long time no read

12 May, 2025 4 min Lesezeit

Liebe Leserin, lieber Leser,

es ist schon eine Weile her, seit ich mich das letzte Mal mit einem Blogpost gemeldet habe. Doch solltest du dich nun auf eine höhere Frequenz an Beiträgen einstellen können – zumindest ist das der Plan.

Warum war es so still hier? Nun, in den letzten Monaten habe ich mich intensiv meiner Bachelorarbeit gewidmet, die ich mittlerweile abgeschlossen habe. Dazu wird es bald einen eigenen Blogpost geben, in dem ich die Details vorstellen werde. Wie das so ist, wenn man eigentlich wichtige Dinge zu erledigen hat, habe ich mich natürlich gebührend mit anderen Projekten abgelenkt.

Die Webseite komplett umgebaut

Parallel zur Bachelorarbeit habe ich das gesamte JavaScript-Framework dieser Webseite ausgetauscht. Statt des bisherigen Frameworks setze ich nun auf SolidJS, eine reaktive Bibliothek, die ich mittlerweile für meine Webprojekte bevorzuge.

Was macht SolidJS so besonders? Im Gegensatz zu React verwendet SolidJS ein echtes Reaktivitätssystem, das nicht auf virtuellen DOM-Diffing basiert. Stattdessen kompiliert es zu optimiertem JavaScript, das direkt mit dem DOM interagiert. Das Resultat: bessere Performance und ein schlankeres Bundle. Um ehrlich zu sein habe ich vor allem damit angefangen, weil die Reload-Zeit des Vite Development Servers während der Entwicklung mit React so langsam war, das es mich fast in den Wahnsinn getrieben hat. Diese Gefahr besteht jetzt nicht mehr.

Außerdem habe ich einige eigene Libraries entwickelt - denn wo SolidJS durch Geschwindigkeit und Effizienz gewinnt, verliehrt es 10000:1 was Ökosystem und bestehende Bibliotheken anbietet. Unter meinen Kreationen ist eine Alternative zu React Query, die speziell für SolidJS konzipiert ist (siehe hier), sowie eigene SolidJS-Hooks (siehe hier) für Dexie, eine praktische IndexedDB-Wrapper-Bibliothek. Die gesamte Webseite nutzt nun außerdem die neueste Tailwind-Version, und der lang ersehnte Dark Mode wurde endlich implementiert!

Performance-Verbesserungen

Schneller ist immer besser - auf jeden Fall bei Websiten: Die Galerie-Seite lädt nun deutlich schneller, da ich die Bilder progressiv und in verschiedenen Qualitätsstufen lade. So bekommst du zuerst eine niedrigauflösende Version zu sehen, die dann schrittweise durch die hochauflösende ersetzt wird, während du bereits durch die Galerie stöbern kannst.

Neue Tools

Neben diesen technischen Verbesserungen habe ich auch zwei neue Tools hinzugefügt:

Ollama Chat

Mit dem Ollama Chat kannst du direkt im Browser mit verschiedenen eigenen KI-Modellen chatten. Es handelt sich also um ein “Bring your own AI-Server”-Tool. Das bedeutet, du kannst deinen eigenen (lokalen) Ollama-Server mit dieser UI verbinden und damit chatten. Alle Daten werden lokal in deinem Browser gespeichert und verlassen nicht dein eigenes Gerät!

Der Chat unterstützt auch Websuche (Achtung: hierzu sendet er das Suchrequest an meine API), speichert deine Unterhaltungen für später, erlaubt den Upload von Bildern für multimodale Modelle und verfügt vllt bald sogar über RAG-Funktionalität - mal schauen.

Ich selbst bin noch sehr skeptisch wo uns der KI-LLM-AI-ML-Hipetrain hinführt, aber aus der Sicht eines Informatikers ist die Technik dahinter super spannend. Der Chat war der erste von einigen Ansätzen der ganzen Thematik näher zu kommen und zu verstehen, wie es tatsächlich intern functioniert - auf jeden Fall bis zu einem gewissen Grad.

Browser Editor

Der Browser Editor ist ein vollwertiger Code-Editor direkt im Browser. Du kannst damit Dateien anlegen, bearbeiten und löschen, in Ordnerstrukturen navigieren und von Syntax-Highlighting für verschiedene Programmiersprachen profitieren. Auch hier werden alle deine Projekte lokal in deinem Browser gespeichert. Die Motivation hierzu kommt vor allem daher, dass meine Markdown-Render-Engine für die AI-Chat mir so gut gefällt, dass ich sie auch für meine Notizen möchte - und da hightligh.js Syntax-Highlighting nicht nur für Markdown sondern für ganze viele Programiersprachen untersützt, schien es mir nur sinvoll dann dass auch in die UI zu integrieren.

Disclaimer

An dieser Stelle ein wichtiger Hinweis: Sowohl der AI Chat als auch der Browser Editor sind meine persönlichen Bastelprojekte und können sich jederzeit ändern. Es handelt sich um experimentelle Features, für die ich keinerlei Garantie übernehme – weder für die Funktionalität noch für die Datensicherheit. Also nutz sie gerne, aber betrachte sie als das, was sie sind: Spielwiesen für meine Programmier-Experimente.

Was kommt als Nächstes?

Nachdem ich meine Bachelorarbeit nun erfolgreich abgeschlossen habe, plane ich, dir bald davon zu berichten. Außerdem sind weitere Verbesserungen an der Webseite geplant und natürlich neue Blogbeiträge zu verschiedenen Themen.

Also schau gerne regelmäßig vorbei – es wird nicht mehr so lange still bleiben!

Bis bald, Valentin

#Informatik #Projekte #SolidJS #Tailwind #KI