Hallo!

Ich bin seit 2011 als freiberuflicher Software Entwickler überwiegend in der Webentwicklung tätig. Sowohl remote oder auch in Ihrem Team in Hamburg unterstütze ich Kunden von kleinen Startups bis hin zu großen Firmen aus dem Enterprise Sektor. Zu den Technologien, die ich derzeit am meisten benutze, zählen Ruby on Rails, Javascript, Python und Swift. Bitte benutzen Sie mein Kontaktformular um sich mit mir in Verbindung zu setzen.

Leistungen

Cases

Nooshub.com - AI Powered RSS Reader

RSS? Viele werden die Technologie garnicht kennen, obwohl sie doch schon so lange existiert und viele gute Eigenschaften des "alten" Internets mitbringt - die Offenheit, Inhalte zu teilen, ohne auf einer Plattform eingeschlossen zu sein.

Heute gibt es aber sehr viele Inhalte, im Gegensatz zu den Anfängen, in denen Blogger wöchentlich Inhaltlich veröffentlichten. Für die Zähmung dieser Inhaltsmengen ist maschinelles Lernen a.k.a. künstliche Intelligenz (KI) wie geschaffen. KI braucht nämlich große Datenmengen, um ihr Potential ausschöpfen zu können.

Der Bereich der KI, der sich mit Sprache befasst, heißt NLP - Natural Language Processing. Der RSS Reader "Nooshub" verwendet NLP Techniken, um Artikel inhaltlich zu sortieren. Er "liest" dafür Unmengen an Inhalten und repräsentiert Wörter so gut es geht mathematisch, um dann neue Artikel in Echtzeit einordnen zu können.

Dadurch können in Ihren Nachrichten-Feeds Trends und Duplikate erfasst werden, so dass man einen schnellen Überblick über die Nachrichtenlage bekommen kann und ähnliche Artikel nicht mehrmals überfliegen muss.

Dabei sind keine Nutzerdaten erforderlich, es werden nur die Inhalte der Nachrichten verwendet. Ebenso wird nichts gefiltert, so dass man transparent alle abonnierten Nachrichten erhält, um sich ein Bild zu machen.

NDR Ticketshop Relaunch

Als die Elbphilharmonie in Hamburg langsam vor der Eröffnung stand, sollte auch der online NDR Ticketshop neu umgesetzt werden, in dem Karten für die Elbphilharmonie gekauft werden können.

Da der Shop auch virtuellen Anstürmen gewachsen sein muss, wurde großen Wert auf Performance gelegt. Der angehängte Shop basiert auf dem Eventim System. Das CMS ist eine an die Bedürfnisse der Redaktion angepasste Lösung, die mit Ruby on Rails und PostgreSql arbeitet.

Für das responsive Frontend wurde Bootstrap als Framework verwendet.

Technologie

Backend Entwicklung

Ruby on Rails ist die Technologie meiner Wahl für die Entwicklung von Webanwendungen. Es ist ein ausgereiftes Framework mit einer großen Community, das eine schnelle Entwicklung ermöglicht und alles miteinander verbindet, vom Bau des Prototyps bis zum Endprodukt.

Für Anwendungen des maschinellen Lernens ist Python die natürliche Wahl. Viele solide Bibliotheken aus den Bereichen Statistik, Mathematik und KI-Algorithmen existieren bereits und sind bereit, für Ihre nächste Anwendung verwendet zu werden.

Wenn zusätzliche Leistung benötigt wird, ist GO die Sprache der Wahl. Es ist einfach, kinderleicht zu deployen, blitzschnell, hat eine große Community hinter sich und ein lustiges Logo - was will man mehr?

Die meisten Anwendungen brauchen eine Datenbank. Es gibt viele Datenbanken, die eine Sache großartig machen, PostgreSql ist jeder Aufgabe gewachsen, von der Volltextsuche bis zur Speicherung komplexer Strukturen. Von der Skalierung bis zur Datensicherung ist es ein gut durchdachtes Open-Source-Projekt.

Frontend Entwicklung

Beim Frontend kann die Wahl der richtigen Technologie viel Zeit sparen. Abhängig von der Interaktivität der App ist alles von Vanilla JS bis hin zur kompletten einseitigen App möglich. Dazu verwende ich React.js, eventuell zusammen mit Redux und Typescript.
CSS ist eine mächtige Sprache, die sich ständig weiterentwickelt - Variablen, Flexbox und Raster erleichtern komplexe Layouts. Mit SCSS wird sie noch mächtiger und schneller zu schreiben.

Infrastruktur

Nicht zuletzt muss die sorgfältig gestaltete App irgendwo wohnen. Ich verwende Capistrano für die Bereitstellung, Ubuntu als Server, Chef für die Serververwaltung und immer öfter Docker für die Entwicklung.

Kunden

Startup, Mittelstand oder größere Firmen - alle sind willkommen, auch wenn hier nur größere Firmen gelistet sind.

Arbeitsweise

Neue Projekte

Moderne Webentwicklung ist eine komplexe Mischung aus vielen verschiedenen Technologien, die es zu beherrschen gilt. Ausgangspunkt eines Projekts ist daher die Beantwortung der Frage, welche Technologien zur Zielerreichung eingesetzt werden können.

In den letzten Jahren hat sich für meine Projekte ein Technologiestack herausgebildet, mit dem die überwiegende Mehrheit der Web-Projekte skaliert, gewartet und mit hoher Performance durchgeführt werden kann.

Von der Wahl des richtigen Hostings bis zur Vermeidung von SaaS-Abonnements habe ich immer ein Auge auf die Ausgaben und lege besonderen Wert auf modulare, austauschbare Blöcke in der Software-Architektur.

Dieses Prinzip erlaubt es Ihnen, klein anzufangen und nach Bedarf zu skalieren und gleichzeitig eine wartbare Anwendung zu haben. Grönländische Projekte sind eine willkommene Gelegenheit, sich bewährte Verfahren zu Eigen zu machen und eine Anwendung zu erstellen, die Ihnen auf Jahre hinaus dienen wird, und die zudem leicht zu warten ist, möglicherweise von anderen Teams.

Die Arbeit an komplexen Webprojekten erfordert regelmäßiges Feedback. Nur so können große Projekte zur Zufriedenheit des Kunden umgesetzt werden (agiles Arbeiten).

Legacy Code

Viele erfolgreiche Webanwendungen sind im Laufe der Jahre historisch gewachsen. Die Arbeit an einem solchen Projekt ist sicherlich eine andere Herausforderung als die Neuentwicklung, aber es läuft darauf hinaus, die unter dem Punkt Neuentwicklung erwähnten Prinzipien der Modularität schrittweise einzuführen.

Dies kann ein sehr langwieriger Prozess sein, der viel Vorsicht erfordert. Vorhandene gute automatisierte Tests sind eine Voraussetzung, die eventuell erst geschaffen werden müssen.

Bei der Anpassung der Technologien, wie sie oft im Front-End erforderlich ist, geht es um die sorgfältige Abwägung verschiedener Optionen, da eine solche Modifikation leicht unterschätzt werden kann und zu hohen Betreiberkosten und geringem Anwendernutzen führen kann.

Kontakt

Kontakt

Haben Sie ein Projekt, bei dem ich behilflich sein könnte? Schreiben Sie mir einfach!

Vielen Dank für die Nachricht!

Blog

Mehr