Senior PHP Fullstack Developer
Pragmatische Software für ambitionierte Projekte.
Ich entwickle wartbare Webanwendungen mit Laravel, Statamic, Livewire und einem klaren Blick auf das, was dein Business wirklich braucht. Ich biete auch Online-Shops im Shppware-Umfeld an.
Hi, ich bin Jens Twesmann – seit über zwei Jahrzehnt baue ich Webanwendungen, die produktiv eingesetzt werden, statt nur gut auszusehen. Mein Schwerpunkt liegt auf dem PHP/Laravel-Stack, ergänzt durch Statamic für Inhaltspflege und Livewire/Alpine für reaktive UIs ohne SPA-Overhead. Weiterhin arbeite ich im Shopware 6 Umfeld und bin spezialisiert aufSchnittstellen zu anderen System wie beispielsweise SAP<->Shopwarre oder die Einbindung von PIM-Systemen an Shopware.
Skills
Stack, mit dem ich arbeite
Arbeit
Ausgewählte Projekte
Eisstock Soest – Buchungssystem für den Weihnachtsmarkt
Stundenweise buchbare Eisstockbahnen und beheizte Gondeln auf dem Soester Weihnachtsmarkt – mit Stripe-Anzahlung, Multi-Slot-Buchungen und einem Admin-Bereich für die Standcrew.
Intranet für einen Träger im Bildungsbereich
Freelance-Mitarbeit an einer zentralen Kommunikations- und Verwaltungsplattform für einen Träger mit dutzenden Kindertageseinrichtungen – Single-Sign-On, redaktioneller Newsletter und externe Stammdatenpflege per Magic-Link.
Portchecks – TCP-Monitoring als kleine SaaS
Ein schlanker Monitoring-Dienst, der TCP-Ports überwacht und nur dann mailt, wenn der Zustand vom Soll abweicht. Komplett eigenes SaaS, von Datenmodell bis Stripe-Abrechnung.
Blog
Aus dem Blog
Stripe als Source-of-Truth: warum Plan-Updates nur in eine Richtung fließen sollten
Wer den Plan eines Users in der eigenen Datenbank aktualisiert und dann hofft, dass Stripe mitkommt, baut sich Out-of-Sync-Bugs ein. Wie ich das in Portchecks rigoros andersherum aufgesetzt habe.
Zwei Queue-Spuren statt einer: was ich beim Bau meines Monitoring-SaaS gelernt habe
Eine einzige Queue für alle Monitoring-Jobs sieht solide aus – bis ein Schwall stündlicher Checks deine minütlichen Probes blockiert. Hier ist die kleine Architekturentscheidung, die das Problem aus der Welt geschafft hat.
Retention nicht pauschal, sondern pro Frequenz – mit dem Enum als Single-Source-of-Truth
Eine pauschale Aufbewahrungsdauer für Monitoring-Daten ist entweder Speicherverschwendung oder Verlust nützlicher Historie. Wie ich beide Probleme mit einer einzigen Methode am Enum aus der Welt schaffe.
Projekt im Kopf?
Erzähl mir, was du brauchst — Antwort kommt in der Regel innerhalb von 24 Stunden.