Keeeb war initial als Tool zu sammeln und organisieren von Informationen für den persönlichen Gebrauch geplant (ähnlich zu Google Keep, Evernote, etc.). Nach einem Pivot hat sich der Fokus vom B2C auf B2B verschoben und aus Keeeb wurde einem kollaborativen Tool zur Recherche im Team.
Ich habe hier während meines Masterstudiums als Werksstudent angefangen und bin nach meinem Abschluss als Vollzeit Entwickler hier geblieben.
Cross browser Erweiterung zur Informationssammlung
Um Informationen in Keeeb zu Speichern ist natürlich ein Werkzeug nötig um diese Informationen während des browsen zu speicher. Als ich hier anfing, gab es nur eine sehr rudimentäres Bookmarklet das diese Aufgabe erfüllt hat. Eine meiner ersten Aufgaben bei Keeeb war es, diese Bookmarklet in eine echte Browser-Extension zu verwandeln. Hierzu haben wir das Kango Framework verwendet, mit dem es uns möglich war, mit einer Code-Basis eine Browser extension für alle gängigen Browser zu erstellen.
Cross plattform App (iOS & Android)
Als Startup hatte Keeeb nicht die finanziellen Ressourcen um für die Entwicklung von mobilen Apps separate Entwickler zu beschäftigen. Daher habe ich eine App für beide Plattformen auf Basis von Phonegap und Backbone.js entwickelt. Ich bin immer noch recht Stolz darauf, das die Anwendung, obwohl sie nicht nativ war, eine ziemlich sehr brauchbare Nutzererfahrung geliefert hat.
Neuentwicklung des Frontends
Das initiale Frontend von Keeeb basierte auf serverseitig gerendertem HTML und einem Haufen jQuery Code. Die Neuauflage war eine (zu der Zeit) moderne single page Anwendung auf basis von AngularJS. Ich war hier von Anfang an in Design und Entwicklung involviert und habe auch nach dem initialen Release auch weiter an neuen Features und der Wartung gearbeitet.
Wartung und Weiterentwickung
Ich war außerdem in der Weiterentwicklung des Pyramid basierten backends eingebunden. Während meine Zeit bei Keeeb haben wir unsere Datenbank von MongoDB zu PostgreSQL gewechselt. Außerdem haben wir eine Elasticsearch basierte Volltextsuche hinzugefügt und unser Job-System von einer in-House Lösung zu einer Lösung auf Basis von Celery und RabbitMQ migriert.
Director of development
Aufgrund von personellen Veränderungen habe ich kurzfristig auch die Rolle des “Director of development” gehalten. In dieser Rolle war ich für das technische Design und die Planung neuer Features verantwortlich und habe die Umsetzung organisiert.