A tool to generate test reports from data input sources such as X-Unit xml reports, miniHIL proprietary formats (for execution and requirements traces) and pregenerated plant uml diagrams (svg). Java was chosen for the generator and data preprocessing since proprietary parts which had to be integrated were already implemented in Java. The Java CLI interface generates data for a self contained React based single page app which can be integrated into existing CI solutions or be viewed in the browser. After generation no backend is required.
The front end built for the PROTOS miniHIL, a small hardware-in-the-loop test rig. It is a React (Next.js) app that lets you watch a test run on the hardware as it happens: live logs, signal traces and execution state, all streamed from the device while the test executes. The harder problem behind the views was the data path and performance. A test run produces a lot of data on an MCU. Additionally, the goal was to allow the user to open multiple browser windows showing different aspects of the test run.
The data comes off the miniHIL hardware itself, an STM32-based MCU system that runs the test cases in real time. The hardware is connected to the PC via USB (1.1 full speed device). A Java backend on the PC owns that USB link, deserializes the low-level protocols, and exposes the result to the GUI over a WebSocket. Inside the browser a single shared worker holds the websocket connection and fans the decoded stream out to every open window.
Full-stack web application for digital workshop facilitation and business strategy development. Features real-time collaborative whiteboard with canvases for SWOT analysis, value proposition design, design thinking workshops, and business model development. Includes guided workshop templates, real-time cursor tracking, user presence indicators, and integrated tools for brainstorming, clustering, and presentation. Built with React frontend and NestJS backend with WebSocket support for realtime team collaboration.
I build this project as part of a 4 people startup team, in which I handled most of the tech work and coordinated one remote developer. The other team members focused on business development, marketing and customer acquisition. Unfortunately we could not acquire enough customers to make the project sustainable in the long run, so we had to discontinue it in 2022.