Senior PHP Fullstack Developer
Pragmatic software for ambitious projects.
I build maintainable web apps with Laravel, Statamic, Livewire — focused on what your business actually needs.
Hi, I'm Jens Twesmann – for more than a decade I've been building web applications that are used in production, not just shown in pitches. My focus is the PHP/Laravel stack, complemented by Statamic for content and Livewire/Alpine for reactive UIs without the SPA tax.
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.