PROCESSWARE_
PROJECTS

Projects

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.

SOFTWARE

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

Long-standing client

Reverse proxy with access control for an external portal

Situation

Staff went straight to an external portal's bare, hard-to-remember UUID URL, with no login of their own. Nobody had visibility into who was using it, and access couldn't be revoked separately when someone left.

Solution

A reverse proxy that hides the external portal behind the client's own domain, with a mandatory per-user login. Accounts can be blocked or deleted individually, and an admin dashboard shows each user's login count, page views and last activity.

Node.jsExpressSQLiteReverse proxyDocker

Legal services provider

Local transcription tool for court recordings

Situation

Court hearing recordings needed to be transcribed, but sending audio to a cloud AI service wasn't an option: too confidential, and the token costs were adding up.

Solution

A transcription tool that converts audio and video to text locally with faster-whisper, so nothing leaves the server. Long recordings are processed in chunks with checkpoints in between, so a crash costs at most that one chunk. A DOCX template can optionally be filled in automatically.

PythonFlaskCeleryfaster-whisperDockerLokale AI

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.

PythonFlaskMQTTDomoticzHome AssistantZigbee2MQTTDocker
Vlucht in beeld: live air traffic over your spot

Personal hobby project, free and public (beta)

Vlucht in beeld: live air traffic over your spot

Situation

Open data on air traffic, satellites and weather is plentiful, but on its own says little about what's actually flying over one specific spot right now.

Solution

Vluchtinbeeld.nl (vluchtinbeeld.nl) shows live air traffic over a spot you choose anywhere in Europe: which aircraft is passing over, with a photo of that exact aircraft, its route, altitude, speed, distance and a CO2 estimate compared to driving, in 2D (Leaflet) and 3D (CesiumJS, on the real buildings in the Netherlands via 3D BAG, with the sun, moon and current weather). Fixed landing pages for well-known spots such as airports and airbases, and your own spot gets a short link, a log and push notifications per aircraft type, with a night-time quiet period. The ISS and bright satellites are computed directly (SGP4). No accounts, saved spots stay only in the browser; visitor counts use a daily-rotating hash, no cookies.

PythonFlaskLeafletCesiumJSWeb pushSGP4Docker

HARDWARE

PW-Chrono: 24 GHz Doppler radar chronograph

Own development, working on hardware

PW-Chrono: 24 GHz Doppler radar chronograph

Situation

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
Hybrid heating controller on delta-T

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.

Start a free exploration

OPEN SOURCE

What we share on GitHub. For those who want to look under the hood.

Orcon 15RF controller

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.

ESP32C++RAMSES-IICC1101 / SX1276MQTTHome Assistant

JC3248W535 Driver

10

Clean, minimal driver for the JC3248W535 3.5-inch IPS touchscreen with ESP32-S3. PlatformIO, no baggage.

ESP32-S3C++PlatformIODisplayTouch