<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects on Rock-IT - Peter Dewachtere - Freelance IT Developer</title><link>https://dewachtere.be/en/projects/</link><description>Recent content in Projects on Rock-IT - Peter Dewachtere - Freelance IT Developer</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 16 Sep 2026 10:03:52 +0200</lastBuildDate><atom:link href="https://dewachtere.be/en/projects/index.xml" rel="self" type="application/rss+xml"/><item><title>Omni-Term B2B webshop</title><link>https://dewachtere.be/en/projects/omni-term-webshop/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/en/projects/omni-term-webshop/</guid><description>&lt;p&gt;&lt;a href="https://www.omniterm.be"&gt;Omni-Term&lt;/a&gt;, based in Izegem (Belgium), has been a wholesaler in heating, solar and ventilation since 1970, with several branches and professional installers as its customers. For those installers I build and maintain the B2B webshop &lt;strong&gt;pro.omniterm.be&lt;/strong&gt;: the digital extension of the trade counter, open around the clock.&lt;/p&gt;
&lt;h3 id="the-challenge"&gt;The challenge&lt;/h3&gt;
&lt;p&gt;Installers often order in the evening or from the construction site. They want to know immediately whether an item is in stock at their branch and when they can pick it up or have it delivered. The webshop therefore has to work seamlessly with Omni-Term&amp;rsquo;s ERP system: customer-specific prices, stock per branch, open orders and invoices must always be correct.&lt;/p&gt;</description></item><item><title>BillableMe: work registration for freelancers</title><link>https://dewachtere.be/en/projects/billableme/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/en/projects/billableme/</guid><description>&lt;p&gt;As a freelancer I know how tedious it is to reconstruct hours after a long working day, collect receipts and remember the ideas you had on the road. &lt;strong&gt;BillableMe&lt;/strong&gt; is the app I developed for exactly that: everything you do for a client is logged right away on your smartphone, per client and per project.&lt;/p&gt;
&lt;h3 id="what-billableme-does"&gt;What BillableMe does&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hours and activities&lt;/strong&gt;: log work per client, project and activity, with a built-in timer or afterwards, and review it per day, week, month or year&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expenses and travel&lt;/strong&gt;: business expenses and additional costs per registration, with transport types and photos of receipts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI receipt reading&lt;/strong&gt;: a photo of a receipt is read automatically (OCR), so amounts no longer have to be typed in by hand&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Voice notes&lt;/strong&gt;: record a to-do, reminder or note on the go; the app transcribes it automatically, in Dutch or English, and makes it searchable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secure and multilingual&lt;/strong&gt;: biometric sign-in, fully available in Dutch and English, with a backend health check at start-up&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="technology"&gt;Technology&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;App&lt;/strong&gt;: Flutter with Riverpod, GoRouter and Freezed, audio recording and playback, Material Design; tested through TestFlight and coming soon to the App Store and Google Play&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend&lt;/strong&gt;: NestJS (TypeScript) with TypeORM and PostgreSQL, JWT authentication, Redis and Bull queues for background jobs, audit logging and optimistic locking&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI services&lt;/strong&gt;: a self-hosted Whisper transcription service in Python (FastAPI, CPU-only) and Google Document AI for reading receipts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hosting &amp;amp; DevOps&lt;/strong&gt;: Docker Swarm with multiple API replicas, nginx, a private registry and health checks, hosted by Rock-IT&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="why-an-own-product"&gt;Why an own product?&lt;/h3&gt;
&lt;p&gt;BillableMe grew out of my own daily practice and is used the way a real user uses it. At the same time it is my testing ground for new technology: spec-driven development, AI transcription and document recognition were tried out here first before being used for clients. What works well here also benefits my clients.&lt;/p&gt;</description></item><item><title>POVV DSV Tool: ordering app for members</title><link>https://dewachtere.be/en/projects/povv-dsv-tool/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/en/projects/povv-dsv-tool/</guid><description>&lt;p&gt;&lt;a href="https://www.povv.be"&gt;POVV&lt;/a&gt; (Producenten Organisatie Vleesvee) is a Belgian cooperative that supports beef cattle farmers and strengthens their market position. Through POVV, members order cattle feed and other products from several suppliers. To simplify that ordering process I developed the &lt;strong&gt;DSV Tool&lt;/strong&gt;: a mobile app for the members, a web admin panel for the secretariat and a central backend that ties everything together. Rock-IT has been working with POVV since 2021; after the website, this ordering platform followed in 2026.&lt;/p&gt;</description></item><item><title>Kadeo: website for a ceramics studio</title><link>https://dewachtere.be/en/projects/kadeo-website/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/en/projects/kadeo-website/</guid><description>&lt;p&gt;&lt;a href="https://katleendeprez.be"&gt;Kadeo&lt;/a&gt; is the ceramics studio of Katleen Deprez. She wanted a website that lets her work speak: calm, warm and visual, with a gallery she can update herself without involving a developer. I designed and built the site from A to Z and host it on Rock-IT&amp;rsquo;s infrastructure.&lt;/p&gt;
&lt;h3 id="the-challenge"&gt;The challenge&lt;/h3&gt;
&lt;p&gt;A portfolio site for an artist is all about imagery. Photos have to load fast, look sharp on every screen and be easy to manage: upload, crop, arrange in sections, done. At the same time the site has to be findable in Google, have a contact form that keeps spam out and comply with cookie legislation. All of that without subscription fees for an external CMS.&lt;/p&gt;</description></item><item><title>Kadeo Photo Uploader: photo app for the studio</title><link>https://dewachtere.be/en/projects/kadeo-photo-uploader/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/en/projects/kadeo-photo-uploader/</guid><description>&lt;p&gt;New work comes out of the kiln, the photo is taken with the smartphone&amp;hellip; and then it still has to go to the laptop to be cropped and uploaded. For the ceramics studio &lt;a href="https://katleendeprez.be"&gt;Kadeo&lt;/a&gt; I therefore built a small, focused Flutter app that skips that detour: pick a photo, pick a section, upload. Done.&lt;/p&gt;
&lt;h3 id="the-challenge"&gt;The challenge&lt;/h3&gt;
&lt;p&gt;The &lt;a href="https://dewachtere.be/en/projects/kadeo-website/"&gt;Kadeo website&lt;/a&gt; has a full admin panel, but a browser CMS is cumbersome on a smartphone. The app had to be fast and simple, deliver photos in the right quality automatically, and communicate securely with the website without typing a password every time. Moreover, it did not need to be in the App Store: it only runs on the ceramicist&amp;rsquo;s own iPhone.&lt;/p&gt;</description></item><item><title>MVDM Advocaten: website for a law firm</title><link>https://dewachtere.be/en/projects/mvdm-advocaten/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/en/projects/mvdm-advocaten/</guid><description>&lt;p&gt;&lt;a href="https://www.mvdmadvocaten.be"&gt;MVDM Advocaten&lt;/a&gt; is a law firm with offices in Ypres and Brielen (Belgium). I have looked after the firm&amp;rsquo;s website since 2018, initially under the name Onraet-Verfaille. When the firm continued as MVDM Advocaten in the autumn of 2022, the site received a completely new look, with the understated black-and-white photography that is now the firm&amp;rsquo;s calling card.&lt;/p&gt;
&lt;h3 id="the-challenge"&gt;The challenge&lt;/h3&gt;
&lt;p&gt;A law firm wants to radiate trust: sober, professional and above all clear. Visitors quickly look for the answer to three questions: what does this firm do, what does it cost and who are the lawyers? The site also had to be available in Dutch and French, rank well in Google and absorb the name change without losing visitors.&lt;/p&gt;</description></item></channel></rss>