Articles
Auto CRUD

Most web applications that manage data in a database perform at least some form of create, read, update or delete (CRUD) operations on stored records. Moreover, web applications also often expose those operations via a REST API. Most database tables - corresponding to the entities manged by the application - need their own CRUD controller and set of HTTP endpoints. Because of this, large applications can quickly become tedious to develop and maintain. However, the logic for each table is usually quite similar. Auto CRUD has been developed to reduce this workload.
A DIY quadcopter drone
When I was a university student, drones were starting to get popular so I decided to make my own. I made two attempt at the idea: The first attempt involved designing the most of drone from scratch, its mechanical design as well as its electronics, including the remote controller. After that attempt proved less than satisfactory, I designed a new version of the drone, this time with off the shelf electronics.
Fixed asset management system
Many companies rely on spreadsheets to keep track of their fixed assets. However, spreadsheets are commonly designed to be edited manually, which makes automation difficult.
Home automation
Few would argue that having lights turned on in a room without occupant is a waste of electricity. Ideally, lights and other appliances like air conditioners would only be turned on when someone is around. This project is a NodeJS application that gathers data about the occupancy of an apartment and manages appliances accordingly.
Minikube using insecure registry
By default, Minikube will not allow the usage of insecure docker registries. To change this setting, Minikube can be started as so:
DHT and PIR sensor module
This project consists of an HC-SR501 PIR motion sensor and a DHT22 temperature and humidity sensor connected to a Wemos D1 mini, an ESP8266 breakout board.
Group management microservice
As a graph database Neo4J is a great choice to manage highly relational data. On the other side, a great number of applications feature at least some form of user management system. With Neo4J, those users can be store as nodes and connected to other items via relationships. A typical example would be a blog, where both articles and users are individual nodes while authorships are represented by a relationship.
Image upload microservice
An image is worth a thousand words and probably even more if comparing their size in bytes. When designing my CMS, I originally intended to store images directly in the article, encoded in Base64. However, this would considerably increase the size of each article, making the whole CMS slow.
Hazard prediction training web app
One of the companies I worked for put a lot of importance on safety. As a way to improve the employees' awareness of danger, there would be regular meetings during which participants would need to identify dangerous points in a picture. The results were written down and archived on paper, which I believed could be improved. So, I created this web application.
Odroid XU4 server
Having one's own server provides the ability to run web services 24/7. However, having a computer running all the time can significantly increase one's electricity bill. The objective of this project was to build a low power home server capable of running common software (Apache, Node.js, etc.) while only consuming little power.