<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Freelance-Entwickler für .NET, Angular, Python und Flutter in Westflandern on Rock-IT - Peter Dewachtere - Freelance-IT-Entwickler</title><link>https://dewachtere.be/de/</link><description>Recent content in Freelance-Entwickler für .NET, Angular, Python und Flutter in Westflandern on Rock-IT - Peter Dewachtere - Freelance-IT-Entwickler</description><generator>Hugo</generator><language>de</language><lastBuildDate>Tue, 13 Oct 2026 14:52:41 +0200</lastBuildDate><atom:link href="https://dewachtere.be/de/index.xml" rel="self" type="application/rss+xml"/><item><title>Omni-Term B2B-Webshop</title><link>https://dewachtere.be/de/projects/omni-term-webshop/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/projects/omni-term-webshop/</guid><description>&lt;p&gt;&lt;a href="https://www.omniterm.be"&gt;Omni-Term&lt;/a&gt; aus Izegem ist seit 1970 Großhändler für Heizung, Solar und Lüftung, mit mehreren Niederlassungen und professionellen Installateuren als Kunden. Für diese Installateure baue und warte ich den B2B-Webshop &lt;strong&gt;pro.omniterm.be&lt;/strong&gt;: die digitale Verlängerung der Verkaufstheke, 24 Stunden am Tag geöffnet.&lt;/p&gt;
&lt;h3 id="die-herausforderung"&gt;Die Herausforderung&lt;/h3&gt;
&lt;p&gt;Installateure bestellen oft abends oder von der Baustelle aus. Sie wollen sofort wissen, ob ein Artikel in ihrer Niederlassung vorrätig ist und wann sie ihn abholen können oder geliefert bekommen. Der Webshop muss deshalb nahtlos mit dem ERP-System von Omni-Term zusammenarbeiten: Kundenspezifische Preise, Bestand pro Niederlassung, offene Aufträge und Rechnungen müssen immer stimmen.&lt;/p&gt;</description></item><item><title>BillableMe: Leistungserfassung für Freelancer</title><link>https://dewachtere.be/de/projects/billableme/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/projects/billableme/</guid><description>&lt;p&gt;Als Freelancer weiß ich, wie mühsam es ist, nach einem langen Arbeitstag noch Stunden zu rekonstruieren, Belege zu sammeln und sich an Ideen zu erinnern, die man unterwegs hatte. &lt;strong&gt;BillableMe&lt;/strong&gt; ist die App, die ich genau dafür selbst entwickelt habe: Alles, was Sie für einen Kunden tun, erfassen Sie sofort auf Ihrem Smartphone, pro Kunde und pro Projekt.&lt;/p&gt;
&lt;h3 id="was-billableme-kann"&gt;Was BillableMe kann&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stunden und Tätigkeiten&lt;/strong&gt;: Leistungen pro Kunde, Projekt und Tätigkeit erfassen, mit integriertem Timer oder nachträglich, und pro Tag, Woche, Monat oder Jahr auswerten&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kosten und Fahrten&lt;/strong&gt;: Betriebsausgaben und Zusatzkosten pro Erfassung, mit Verkehrsmitteln und Fotos von Belegen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Belege lesen mit KI&lt;/strong&gt;: Das Foto eines Kassenbons wird automatisch ausgelesen (OCR), sodass Beträge nicht mehr von Hand eingetippt werden müssen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sprachnotizen&lt;/strong&gt;: Unterwegs ein To-do, eine Erinnerung oder eine Notiz aufnehmen; die App wandelt sie automatisch in Text um, auf Niederländisch oder Englisch, und macht sie durchsuchbar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sicher und mehrsprachig&lt;/strong&gt;: Anmeldung per Biometrie, vollständig auf Niederländisch und Englisch, mit einem Health Check des Backends beim Start&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="technologie"&gt;Technologie&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;App&lt;/strong&gt;: Flutter mit Riverpod, GoRouter und Freezed, Audioaufnahme und -wiedergabe, Material Design; über TestFlight getestet und demnächst im App Store und bei Google Play verfügbar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend&lt;/strong&gt;: NestJS (TypeScript) mit TypeORM und PostgreSQL, JWT-Authentifizierung, Redis und Bull-Warteschlangen für Hintergrundaufgaben, Audit-Logging und Optimistic Locking&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KI-Dienste&lt;/strong&gt;: eigener Whisper-Transkriptionsdienst in Python (FastAPI, ohne GPU) und Google Document AI für das Auslesen von Belegen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hosting &amp;amp; DevOps&lt;/strong&gt;: Docker Swarm mit mehreren API-Replikas, nginx, privater Registry und Health Checks, gehostet von Rock-IT&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="warum-ein-eigenes-produkt"&gt;Warum ein eigenes Produkt?&lt;/h3&gt;
&lt;p&gt;BillableMe ist aus meiner eigenen täglichen Praxis entstanden und wird so genutzt, wie ein echter Anwender es nutzt. Zugleich ist es mein Testfeld für neue Technologie: Spec-driven Development, KI-Transkription und Dokumentenerkennung wurden hier zuerst erprobt, bevor sie bei Kunden zum Einsatz kommen. Was hier gut funktioniert, kommt auch meinen Kunden zugute.&lt;/p&gt;</description></item><item><title>POVV DSV Tool: Bestell-App für Mitglieder</title><link>https://dewachtere.be/de/projects/povv-dsv-tool/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/projects/povv-dsv-tool/</guid><description>&lt;p&gt;&lt;a href="https://www.povv.be"&gt;POVV&lt;/a&gt; (Producenten Organisatie Vleesvee, die Erzeugerorganisation für Fleischrinder) ist eine Genossenschaft, die Fleischrinderhalter unterstützt und ihre Marktposition stärkt. Über POVV bestellen die Mitglieder unter anderem Viehfutter bei verschiedenen Lieferanten. Um diesen Bestellprozess zu vereinfachen, habe ich das &lt;strong&gt;DSV Tool&lt;/strong&gt; entwickelt: eine mobile App für die Mitglieder, einen Web-Verwaltungsbereich für das Sekretariat und ein zentrales Backend, das alles verbindet. Rock-IT arbeitet bereits seit 2021 mit POVV zusammen; nach der Website folgte 2026 diese Bestellplattform.&lt;/p&gt;</description></item><item><title>Kadeo: Website für ein Keramikatelier</title><link>https://dewachtere.be/de/projects/kadeo-website/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/projects/kadeo-website/</guid><description>&lt;p&gt;&lt;a href="https://katleendeprez.be"&gt;Kadeo&lt;/a&gt; ist das Keramikatelier von Katleen Deprez. Sie wünschte sich eine Website, die ihre Arbeit sprechen lässt: ruhig, warm und visuell, mit einer Galerie, die sie selbst ergänzen kann, ohne dass ein Entwickler eingreifen muss. Ich habe die Website von A bis Z entworfen und gebaut und hoste sie auf der Infrastruktur von Rock-IT.&lt;/p&gt;
&lt;h3 id="die-herausforderung"&gt;Die Herausforderung&lt;/h3&gt;
&lt;p&gt;Bei einer Portfolio-Website für eine Künstlerin dreht sich alles ums Bild. Fotos müssen schnell laden, auf jedem Bildschirm scharf sein und sich einfach verwalten lassen: hochladen, zuschneiden, in Bereiche einordnen, fertig. Gleichzeitig muss die Website bei Google auffindbar sein, ein Kontaktformular haben, das Spam fernhält, und die Cookie-Gesetzgebung einhalten. Und das alles ohne Abonnementkosten für ein externes CMS.&lt;/p&gt;</description></item><item><title>Kadeo Photo Uploader: Foto-App für das Atelier</title><link>https://dewachtere.be/de/projects/kadeo-photo-uploader/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/projects/kadeo-photo-uploader/</guid><description>&lt;p&gt;Eine neue Arbeit kommt aus dem Ofen, das Foto wird mit dem Smartphone gemacht &amp;hellip; und dann muss es noch auf den Laptop, zugeschnitten und hochgeladen werden. Für das Keramikatelier &lt;a href="https://katleendeprez.be"&gt;Kadeo&lt;/a&gt; habe ich deshalb eine kleine, zielgerichtete Flutter-App gebaut, die diesen Umweg überspringt: Foto wählen, Bereich wählen, hochladen. Fertig.&lt;/p&gt;
&lt;h3 id="die-herausforderung"&gt;Die Herausforderung&lt;/h3&gt;
&lt;p&gt;Die &lt;a href="https://dewachtere.be/de/projects/kadeo-website/"&gt;Website von Kadeo&lt;/a&gt; hat einen vollwertigen Verwaltungsbereich, aber auf einem Smartphone ist ein Browser-CMS umständlich. Die App sollte schnell und einfach sein, Fotos automatisch in der richtigen Qualität liefern und sicher mit der Website kommunizieren, ohne dass jedes Mal ein Passwort eingetippt werden muss. Außerdem musste sie nicht in den App Store: Sie läuft nur auf dem iPhone der Keramikerin.&lt;/p&gt;</description></item><item><title>MVDM Advocaten: Website für eine Anwaltskanzlei</title><link>https://dewachtere.be/de/projects/mvdm-advocaten/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/projects/mvdm-advocaten/</guid><description>&lt;p&gt;&lt;a href="https://www.mvdmadvocaten.be"&gt;MVDM Advocaten&lt;/a&gt; ist eine Anwaltskanzlei mit Standorten in Ypern und Brielen. Seit 2018 betreue ich die Website der Kanzlei, anfangs unter dem Namen Onraet-Verfaille. Als die Kanzlei im Herbst 2022 als MVDM Advocaten weitermachte, erhielt die Website ein völlig neues Erscheinungsbild, mit der schlichten Schwarz-Weiß-Fotografie, die heute die Visitenkarte der Kanzlei ist.&lt;/p&gt;
&lt;h3 id="die-herausforderung"&gt;Die Herausforderung&lt;/h3&gt;
&lt;p&gt;Eine Anwaltskanzlei will Vertrauen ausstrahlen: schlicht, professionell und vor allem klar. Besucher suchen schnell die Antwort auf drei Fragen: Was macht diese Kanzlei, was kostet es und wer sind die Anwälte? Die Website sollte außerdem auf Niederländisch und Französisch verfügbar sein, bei Google gut gefunden werden und die Namensänderung auffangen, ohne Besucher zu verlieren.&lt;/p&gt;</description></item><item><title>Sprachnotizen mit KI: So wandelt BillableMe Audio mit Whisper in Text um</title><link>https://dewachtere.be/de/blog/whisper-spraaknotities-billableme/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/blog/whisper-spraaknotities-billableme/</guid><description>&lt;p&gt;Als Freelancer hat man die besten Ideen im Auto oder auf der Baustelle, genau dann, wenn Tippen nicht geht. Deshalb hat &lt;a href="https://dewachtere.be/de/projects/billableme/"&gt;BillableMe&lt;/a&gt; Sprachnotizen bekommen: Man spricht ein To-do, eine Erinnerung oder eine Notiz ein, und eine halbe Minute später steht der Text dabei, durchsuchbar. So bin ich vorgegangen.&lt;/p&gt;
&lt;h3 id="die-anforderungen"&gt;Die Anforderungen&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Audio bleibt auf meinem eigenen Server, ohne externen Transkriptionsdienst.&lt;/li&gt;
&lt;li&gt;Niederländisch und Englisch, mit automatischer Spracherkennung.&lt;/li&gt;
&lt;li&gt;Keine GPU: Es muss auf dem bestehenden Docker Swarm laufen.&lt;/li&gt;
&lt;li&gt;Der Nutzer wartet nie auf die Transkription.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="schritt-1-aufnehmen-in-flutter"&gt;Schritt 1: Aufnehmen in Flutter&lt;/h3&gt;
&lt;p&gt;Die App nimmt mit dem &lt;code&gt;record&lt;/code&gt;-Package in AAC (m4a) auf, fragt die Mikrofonberechtigung an und lässt sofort eine Kategorie, eine Markierung und einen Titel wählen. Die Datei geht als Multipart-Upload an die NestJS-API. Ab diesem Moment steht die Notiz in der Liste, mit dem Status „wird verarbeitet“.&lt;/p&gt;</description></item><item><title>Suchen in einem technischen Katalog: Elasticsearch und ETIM bei Omni-Term</title><link>https://dewachtere.be/de/blog/etim-zoeken-elasticsearch-omniterm/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/de/blog/etim-zoeken-elasticsearch-omniterm/</guid><description>&lt;p&gt;Ein Installateur, der „prescomanometer 1/2“ eintippt, will nur eines: den richtigen Artikel, und zwar sofort. Im &lt;a href="https://dewachtere.be/de/projects/omni-term-webshop/"&gt;B2B-Webshop von Omni-Term&lt;/a&gt; suchen Installateure nach Artikelnummer, Lieferantencode, Marke, Bezeichnung oder einem technischen Merkmal, und das in einem Katalog mit vielen Herstellern. So habe ich diese Suchfunktion aufgebaut.&lt;/p&gt;
&lt;h3 id="ein-suchfeld-viele-arten-von-anfragen"&gt;Ein Suchfeld, viele Arten von Anfragen&lt;/h3&gt;
&lt;p&gt;Die Suchanfrage wird zunächst analysiert. Erkennt der Code eine Artikelnummer oder einen Lieferantencode, läuft die Anfrage direkt über exaktes und Wildcard-Matching auf diesen Feldern, mit dem höchsten Boost. Erkennt er einen Markennamen, erhalten Produkte dieser Marke Vorrang. Der Rest sind gewöhnliche Begriffe, die gleichzeitig in mehreren Feldern gesucht werden: die Bezeichnung als exaktes Keyword, als analysierter Text und als Edge-N-Gramm für Präfixe, die Produktbeschreibung und die Hierarchie von der Kategorie bis zur Produktfamilie. Die Suche nach einer alten Artikelnummer liefert über eine verschachtelte Liste von Vorgängern auch den Nachfolger.&lt;/p&gt;</description></item></channel></rss>