Projects

A list of most of the projects I have contributed to, sorted from newest to oldest.

Names and descriptions are kept purposefully vague to protect confidentiality.

Data ingestion and processing pipeline

2023 - Present
Java (Spring)
Kafka
HiveMQ
Clickhouse
SQL databases
JUnit
Cypress
Maven
Docker
Kubernetes
Helm
Atlassian Bamboo
GitHub Actions
ArgoCD
Datadog
AWS

Set of services ingesting raw machine data with several different protocols (MQTT, FTP, SFTP, HTTP...) and formats, standardising and storing it in a database for further retrieval. The pipeline leverages Kafka to pipe the data to a Clickhouse instance.

Modernised and optimised several components in this pipeline, reducing maintenance workload significantly.

Developed, maintained and operated as part of a team in a Large-scale scrum department.

Edge data collection

2023 - Present
Java (Spring)
Go
TypeScript (React)
RabbitMQ
HiveMQ
Clickhouse
SQL databases
JUnit
Jest
React Testing Library
Cypress
Robot
Maven
Docker
Kubernetes
Helm
Skaffold
GitHub Actions
FluxCD
Datadog
AWS

Edge platform installed close to a set of machines in order to aggregate data on their operation and send it to the cloud for storage and analysis. It also allows running workloads on the data and providing other services locally. Requires security certifications and offline reliability, as connection to the cloud is not available all the time.

Developed, maintained and operated as part of a team in a Large-scale scrum department.

Machine reliability web application

2022 - Present
Java (Spring)
TypeScript (React)
SQL databases
JUnit
Jest
Enzyme
React Testing Library
Cypress
Maven
Docker
Kubernetes
Atlassian Bamboo
ArgoCD
Datadog
AWS

Web application to analyse data gathered from thousands of machines in order to ensure that said equipment can run reliably and without unplanned stops or maintenance. Used by hundreds of users and composed of microservices running on Kubernetes.

Developed, maintained and operated as part of a team in a Large-scale scrum department.

Production line process visualisation

2021
TypeScript

Lightweight add-on to a product designed to simulate running sheet metal through several machines connected by conveyors. The add-on showed the timings for each sheet through the machines and suggested possible optimisations to minimise time taken and possible errors.

Written in TypeScript without any runtime dependencies.

Developed by a team of three, with myself as the developer, a UI/UX designer, and a member of the overall product's team providing specifications and interface information.

Warehouse automation

2020 - 2021
Java (Undertow, jOOQ)
TypeScript (React)
SQL databases (MariaDB)
JUnit
Docker
Kubernetes

Automated service integrating with the customer's ERP's database, modbus-controlled PLCs, and Automated Guided Vehicles to transfer and transform perishable products in a warehouse. Includes interaction with heating, cooling, wrapping and storage units, and determines which destination a product has to go to based on its type. Operators can monitor the state and configure stock processing rules through tablets.

Customer communication was handled mostly by the PM as there was a language barrier.

Internal time tracking

2021
Java (Undertow, jOOQ)
TypeScript (React)
SQL databases
JUnit
Docker
Kubernetes
Redmine

Company web application to make logging worked hours and vacations easier. Built on top of Redmine, it used its API to store and retrieve all data and thus keep a single source of truth.

Built as a solo project with rather informal management since it was an internal tool and it progressed smoothly from the start.

Feedback aggregator

2021
Java (Undertow, jOOQ)
TypeScript (React)
SQL databases
Docker

Platform for a company to manage customer feedback and complaints. It provided an interface for employees to respond to feedback in a chat-like manner, as well as keep track of the status of any conversation with a customer.

This was a mature project and only required small feature additions and bug fixes. Customer communication was handled by the PM only as there was a language barrier.

Demand forecasting

2021
Python (Facebook Prophet, Pandas)

Job that predicted future demand based on available sales data as part of a wider effort to facilitate production planning.

As my part in this project was rather small, specific and had a clear interface and expectations, I only interacted with the Project Manager.

Data enrichment pipeline

2020 - 2021
Elasticsearch
SQL databases
C#
Azure Functions

ETL that periodically aggregated data from several different sources to provide a rich view into the operation of heavy machinery.

A PM was involved and handled most of the customer relations at the beginning. However, after some time, I was interacting with the stakeholders without support.

Employee training platform

2020 - 2021
TypeScript (React)
C#
SQL databases

Web application where managers at a company could check the trainings that their subordinates have taken or are taking, It also showed the requirements for different career paths so that employee progression could be planned.

Worked as a single developer accompanied by a PM, and took care of most of the customer communication.

Business Intelligence dashboard

2019
JavaScript (React, Flow)
Elasticsearch

Dashboard for visualisation of operational data gathered from equipment sold by the customer. Built with React with Flow, Redux, and data visualisation libraries.

Single-handedly migrated the frontend to use function components and hooks.