Articles

Projects

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

MQTT Logger

MQTT Logger thumbnail
A Node.js application which stores data from IoT devices sent over MQTT into an InfluxDB time-series database. It allows the management of multiple data sources into a MongoDB database.
ProjectsInfluxDBMongooseFeaturedExpress +3

Rebuilding the GUI of this CMS with Nuxt.js

Rebuilding the GUI of this CMS with Nuxt.js thumbnail
I have been using this CMS for several years now and overall, it has served me well. However, as the GUI of the CMS was built as an single page application (SPA), meta tags and other SEO options could not easily be generated for each article.</p><p>To solve this problem, I rebuilt this GUI using Nuxt.js as as to leverage server-side rendering (SSR). Articles are now fetched from the CMS API server-side, which allows meta tags to be set before sending content to clients.
Nuxt.jsProjects

Weight tracker

Weight tracker thumbnail
Managing one's body weight can be quite a challenge. And as the quote from Peter Drucker goes, "You can't manage what you can't measure". So, I built a body weight scale that can upload data to an API of my choice, which was the object of this article.
ProjectsInfluxDBExpressNode.js

IoT EM4305 RFID Reader

IoT EM4305 RFID Reader thumbnail
RFID tags come in various forms and sizes, from standard plastic cards to chips that can be implanted in one's hand. I got particularly interested in RFID rings, which can be purchased online for less than USD 20$. Those are based on EM4305 chips, which require a compatible reader. Thus, I designed an IoT EM4305 reader that can exchange data over MQTT with other devices.
IoTFeaturedESP8266Projects

File POSTer

File POSTer thumbnail
Many web applications rely on the upload of files from client to server via a POST request. The content-type of this request is generally multipart/form-data. When developing the server-side of such application, being able to quickly test the upload feature can greatly increase productivity. So, I designed this simple web application that can POST a file to any URL.
VuetifyProjectsWeb

Food manager

Food manager thumbnail
The other day, I found myself putting on some weight. This rather surprised me as I thought I was having a healthy diet and exercised almost daily. To identify the root of the problem, I decided to start measuring my calorie intake as well as the macronutrients that constitute said intake.
WIPMongooseWebMongoDBNode.js +1

MQTT control dashboard

MQTT control dashboard thumbnail
With the cloud native multi-user MQTT platform deployed, I started designing IoT devices that I could distribute to end users. However, without a GUI, interacting with those devices would be difficult. Of course, one could install applications like MQTT dash or similar but this would require tedious configuration such as MQTT broker and topics. I wanted to give users a simpler UX so I made this simple control interface that automatically displays a users devices and allows those to be controlled.
WebVuetifyProjectsMQTTWIP

API tester

API tester thumbnail
There are multiple tools available for API testing, Postman and Insomnia being probably the most popular. However, those are desktop applications that need to be installed. I wanted a solution that I can use in the browser so I made a simple web application to achieve basic API testing functions.
VuetifyWebProjects

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