C++20 REST image-processing server for a Unity headset application
Audit of an undocumented C++/OpenCV toolbox, then a C++20 REST server delivered as sources, Makefile and README, deployed by the client with Docker and Traefik.
- Client
- heartside.fr
- Period
- March to June 2025
- Stack
- C++20 · OpenCV · cpp-httplib · nlohmann/json · Make · Docker
- Outcome
- Server in production, integrated into the XR project, deployed by the client themselves
Starting point
heartside.fr builds a virtual art gallery for headsets. A 2,000-line C++/OpenCV toolbox turned a photo into a printable 3D relief, but it was undocumented, and the IT services company in charge of the project was a web team with no C++ skills. Nobody could connect the toolbox to the Unity application.
The audit
Audit report on the toolbox: documentation gaps, code quality, and an estimate for the server to build.
The delivery
A C++20 REST server (cpp-httplib, nlohmann/json), built from scratch. It receives a photo and processing instructions (contrast, brightness, posterisation, colourisation, depth to 3D) and returns the processed image to the Unity application.
- Orthodox C++, memory-frugal and low-latency.
- Strict compilation checks, including
-fstack-protector-alland-Werror. - Delivered as a single source file, a Makefile and a README.
Today
The client deployed the server themselves with Docker Compose, Traefik and Let’s Encrypt. It is in production, integrated into the XR project.