Individuelle Webentwicklung und Apps

Seit 2011 entwickle ich maßgeschneiderte digitale Produkte und unterstütze als freiberuflicher Software Entwickler Teams in der Web- und App Entwicklung. Als Fullstack Entwickler übernehme ich dabei alle Bereiche, die vom Prototypen bis zum Launch erforderlich sind. Wollen Sie eine neue Webanwendung entwickeln oder individuell erweitern, oder suchen Sie Unterstützung oder Beratung für Ihr Team? Kontaktieren Sie mich gerne unkompliziert und unverbindlich über das Kontaktformular!

Leistungen

Cases

NDR Ticketshop Relaunch

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 umgesetzt wurde.

Nooshub.com - AI Powered RSS Reader

Nooshub.com - AI Powered RSS Reader

RSS? Viele werden die Technologie garnicht kennen, obwohl sie schon sehr lange existiert und viele gute Eigenschaften des "alten" Internets mitbringt - zum Beispiel 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 diese Inhaltsmengen ist maschinelles Lernen, auch als künstliche Intelligenz (KI) bekannt, 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 große Mengen an Artikeln 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 lesen 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.

Mehr

Technologie

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 Single-Page App (SPA) möglich. Dazu verwende ich React.js, eventuell zusammen mit Redux und Typescript. Die Verbindung zum Backend kann über eine klassische REST Schnittstelle, auch mit OpenApi, oder mit GraphQL erfolgen.
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.

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 Prototypen 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 Performance in Microservices 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.

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.

Sonst so

Gelegentlich erstelle ich Apps für iOS und macOS mit Swift und Objective-C, versuche mich aber auch in der Entwicklung von Audio Plugins mit C(++), das aber eher als Hobby ☺️

Mehr

Kunden

Startup, Mittelstand oder größere Firmen - alle sind willkommen!

Arbeitsweise

Neue Projekte

Moderne Webentwicklung ist eine komplexe Mischung aus vielen verschiedenen Technologien. 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.

Unabhängig von der verwendeten Technologie lege ich 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üne Wiese" Projekte sind eine willkommene Gelegenheit, um von Beginn an eine belastbare Architektur zu erstellen, die langfristig leicht zu warten und erweitern ist, möglicherweise auch von anderen Teams.

Software Entwicklung ist komplex - mit regelmäßigem Feedback und wöchentlicher Planung 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 langwieriger Prozess sein, der viel Vorsicht erfordern kann. Vorhandene gute automatisierte Tests sind eine Voraussetzung, die eventuell erst geschaffen werden muss.

Kontakt

Kontakt

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

Vielen Dank für die Nachricht!

Work

Mehr

Blog

Mehr