Articles

Group management microservice

Group management microservice thumbnail
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.
WebNeo4JProjectsNode.jsWIP

Image upload microservice

Image upload microservice thumbnail
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.
WebWIPNode.jsMongoDBProjects +1

Odroid XU4 server

Odroid XU4 server thumbnail
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.
3D printingProjectsLinux

Hazard prediction training web app

Hazard prediction training web app thumbnail
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.
MySQLPHPProjects

Web based approval system

Web based approval system thumbnail
With the COVID-19 and the introduction of remote work, a many Japanese companies were struggling with the approval of documents, since those needed to be physically stamped with one's personal seal named Hanko. I decided to solve this issue by creating a web application to keep track of approvals
Vue.jsNode.jsProjectsExpress

A template for Vue.js applications

A template for Vue.js applications thumbnail
Over the years, I have built multiple Vue.js applications. Although their business logic differs, those applications often share similar components such as a navigation panel, a header with my logo and an authentication mechanism. Writing those from scratch for each application would be time consuming so I designed an application template that can be installed using NPM to bootstrap my projects.
WebVue.jsSecurityProjectsNPM

Finances management web app

Finances management web app thumbnail
Most banks nowadays provide e-banking interfaces that allow clients to monitor the state of their accounts. However, each bank has its own system and the provided interfaces sometimes lack functionalities. Consequently, I decided to create my own finance dashboard, that combines information regarding multiple accounts. Currently I use it to keep track of my bank accounts balance over time as well as provide a breakdown of my transactions.
ExpressNode.jsMongoDBInfluxDBWeb +2

RFID wristband

RFID wristband thumbnail
RFID tags are great but often easy to lose. To solve this problem, I designed this case for an RFID tag, which can be worn on one's wrist using a standard watch strap. The case was designed using Fusion360 and then 3D printed.
3D printingWIPProjectsRFID

Group and User Pickers

Group and User Pickers thumbnail
With the user management and group management microservices, users and their groups can be easily queried through HTTP requests. However, the GUI that the user interacts with must also be properly designed so as to provide an optimal UX. To facilitate the query of users via the GUI, I designed a group and user picker component for Vue.js that can be easily installed using NPM.
NPMWIPWebProjects

TypeScript setup

TypeScript setup thumbnail
A guide to setup a TypeScript project from scratch
JavascriptTypeScriptTutorials