What we've built over the past years, with an indication of size. So you can see roughly what a comparable project would cost you.
Two accounting firms, white-label
Secure client portal for accounting firms
Situation
Annual accounts and payslips went back and forth as email attachments. Not secure, not traceable and hard to explain to an auditor.
Solution
A portal where clients upload and download files. Staff log in with their Microsoft 365 account, clients with two-factor authentication. Files are stored encrypted, expire after a configurable period, and every action is logged.
PythonFlaskMicrosoft 365DockerEncryptie
Shooting association, Emmeloord
Member management and shooters' app for SV de Rotterdamse Hoek
Situation
Members, club firearms, fees, documents and lane bookings were spread across paper, spreadsheets and chat groups. The board had no overview and federation data had to be gathered again every time.
Solution
Two applications: a member manager for the board (members, firearms, encrypted documents, annual fees, member mailings, role-based access with 2FA) and a shooters' app for members (bookings, scores, marketplace). Built for volunteers, so usable without a manual.
PythonFlask2FADocker
Wiberg Taxaties, client since 2010
Secure upload portal for Wiberg Taxaties
Situation
Clients had to deliver valuation documents, but email is insecure and nobody knew which files were complete.
Solution
An upload portal with a multi-step wizard. The administrator defines workflows: which fields are required, who receives the files and which consents are needed. Uploader and recipient are notified automatically. Fully Dutch, including date formats.
PythonFlaskDocker
Ellen's Nagelstudio, Peter Koster, Praktijk voor Mesologie Lelystad
Business websites with their own admin panel
Situation
WordPress sites with plugins that constantly needed updates and attention, and contact forms that occasionally stopped working.
Solution
Rebuilt in Flask with a simple admin panel for texts and images, a contact form via their own mail server and a cookie banner that meets current requirements. No more plugins to maintain.
PythonFlaskDockerNginx
Used by Wiberg Taxaties and a multi-site organisation
Processware ISMS
Situation
ISO 27001 and NIS2 require demonstrable management of security controls, incidents and awareness. That can't be maintained in Word and Excel.
Solution
A platform with the Annex A controls, incident registration following the reporting procedure, an IT management module, security awareness questionnaires with personal invitations, secure file exchange and central log collection from Linux servers.
PythonFlaskISO 27001NIS2SIEMDocker
Internal, used for client servers
Management tools for hosted client servers
Situation
Keeping an eye on backups, intrusion attempts and vulnerabilities across dozens of servers is manual work that gets forgotten.
Solution
A backup scheduler that plans and monitors backups per client and destination; a fail2ban dashboard that gathers bans from all Ubuntu/ISPConfig servers over SSH (in development); and a CVE scanner combining NVD data with Nuclei scans.
PythonFlaskSSHDocker
Internal, Processware
Overview dashboard for Docker environments
Situation
Dozens of containers spread over four environments, and searching Portainer for the right URL every time.
Solution
A small Flask dashboard on the Portainer API showing all containers with clickable links on one page. A typical example of a few-hour tool that saves time every day.
PythonFlaskPortainer APIDocker
Since 1999
Infrastructure management for a multi-site organisation
Situation
An organisation that doesn't want its own IT department, but does want servers, workstations, backups and security that simply work.
Solution
Ongoing management of servers and virtualisation, migrations, monitoring and security, with one fixed point of contact. Outages are handled when they occur, not on the next working day.
ProxmoxLinuxWindows ServerMonitoringBackups
A hobby that got out of hand, in daily use
HouseDash: a spatial dashboard for the whole house
Situation
Domoticz, Zigbee2MQTT, Home Assistant, Homey, Tasmota, UniFi, Sonos and Tibber each have their own app and their own device list. Nobody wants to open eight apps to see what's going on at home.
Solution
A wall-panel dashboard that normalises all those sources into one device list, with live MQTT updates, an energy-flow visualisation (solar, battery, grid, consumption), aircraft at their real position in the sky and a local voice assistant (Ollama, Whisper, Piper) that sends nothing outside.
Measuring bullet velocity with light gates needs a long setup and the right lighting; on an indoor range that is awkward and error-prone.
Solution
A radar chronograph on an InnoSenT SMR-333 24 GHz Doppler module and an ESP32-C6 with touchscreen: custom analogue front-end, crystal-referenced sampling, FFT analysis of the Doppler signal and storage of measurement traces. Measured range 130 to 380 m/s (air gun, .45, 9 mm), enclosure in Fusion 360 for tripod or bench block.
ESP32-C624 GHz radarFFTEigen PCBFusion 360
Own development, working prototype
Hybrid heating controller on delta-T
Situation
A thermostat controls on room temperature and knows nothing about what the underfloor heating actually delivers. The system oscillates and energy is wasted.
Solution
A controller that acts on the temperature difference between supply and return, complementing or replacing the thermostat. ESP32-S3 on a custom PCB with OneWire temperature sensing and two relays, a wireless battery-powered ESP32-C6 room sensor over ESP-NOW, web interface, MQTT and OTA updates. With a Flask mock server for testing without hardware.
ESP32-S3ESP32-C6ESP-NOWOneWireMQTTEigen PCB
SV de Rotterdamse Hoek
Air quality meter for the indoor shooting range
Situation
The board wants to decide on evidence whether the range's ventilation and filtering need replacing, but there was no data. The range is a bunker with no reception.
Solution
A meter on an ESP32-C6 with touchscreen that logs particulates (PM1/2.5/10), temperature, humidity and pressure to microSD, active only during range hours and on battery through mains outages. Its own Wi-Fi access point for reading out with a phone in the bunker, and store-and-forward to MQTT once connected. Per-session reporting with peak, average and recovery time as a measure of ventilation.
ESP32-C6PM2.5microSDMQTTAccu
Own development
LoRa tracker with gateway, fully offline
Situation
GPS tracking usually means a SIM card, a subscription and your data with a third party. For sites, boats or equipment outside mobile coverage that doesn't work.
Solution
Tracker, gateway and relay on ESP32 with LoRa: 2 to 5 km range, 1 to 60 days battery life, its own mesh with relay and deduplication, AES-128 encryption, two-way messages with acknowledgement, geofence alerts and a mobile-first dashboard on the gateway with map, per-tracker settings and firmware updates via the browser. No internet, no SIM, all data local.
ESP32LoRaGPSAES-128Mesh
Open source, MIT
Orcon 15RF controller for heat-recovery ventilation
Situation
An Orcon HRC unit can only be operated with its own wall controller; connecting it to Home Assistant or switching automatically on CO₂ and humidity isn't possible.
Solution
An ESP32 that emulates the 15RF wall controller over 868.3 MHz RAMSES-II: fan modes, timed boost, summer bypass and an unbalanced night-cooling mode, via web UI, MQTT with Home Assistant auto-discovery or a touchscreen. Protocol reverse-engineered and host-tested; the unit's own safety logic stays untouched.
ESP32RAMSES-II868 MHzMQTTHome Assistant
Own product
PowderSense, a measuring device for reloaders
Situation
Reloaders wanted to see instantly whether each powder charge is right, without a scale and without extra steps.
Solution
An ESP32-C6 device with colour display and Wi-Fi that measures live and shows HIGH/LOW/PERFECT, with a web dashboard for configurations and sessions. Schematic, enclosure and firmware all in-house.
ESP32-C6C++Hardware3D-print
Describe in a few sentences what you want to solve. Within five working days you get a plan with a maximum price. Free and without obligation.
Wi-Fi/MQTT/touchscreen controller for Orcon HRC heat-recovery ventilation units (HRC300/HRC400/MVS-15R). Emulates the Orcon 15RF wall controller over 868.3 MHz RAMSES-II, from a web UI, MQTT with Home Assistant auto-discovery or a 480×480 touch display: fan modes, timed boost, summer bypass and an unbalanced night-cooling mode. Protocol reverse-engineered and host-tested; the unit's own safety logic stays untouched.