Articles
User management microservice based on Neo4J
Web applications commonly require a user database and the management logic for it. Having to build such software infrastructure for each individual app would be time consuming so I designed a general-purpose user management microservice that can be easily integrated in a project.
SONOFF S20 firmware
The SONOFF S20 is a cheap Wifi smart socket that enables the remote control of appliances for less than USD 10. Although the hardware is more than decent, its usage requires a proprietary app which most likely involves a third party server between the user and the device. Since the socket uses an ESP8266 at its core, I decided to write my own firmware for it.
Raspberry Pi based display board
I recently started using Grafana to visualize my apartment data. Although I can easily open a browser tab to view the dashboard I created, I wanted to have a standalone display dedicated to the task that I could put on a shelf of my living room.
WiFi light bulb controller
Wifi controlled smart light bulbs can now be purchased from less than USD 10. However, those can often only be used by a specific application provided by the vendor and can involve exchanging data with a third party server. I wanted a solution to use my own software while benefiting from the cheap hardware so I replaced the wifi module of a a cheap Wifi light bulb my own electronics.
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.
User management and authentication service using MongoDB
More often than not, web applications require restrictions regarding who can access the content that they serve. This involves an user management and authentication system, which, if designed inappropriately, can lead to security concerns. However, the development of such system can be time consuming, especially if done repeatedly for multiple applications.
IoT infrared controller
Although probably in the decline, infrared is a common way to remotely control household appliances such as air conditioners or TVs. Being able to turn on an AC unit without leaving the sofa is definitely comfortable, but sometimes it would be even better to be able to do it before even getting home. In order to control those various appliances, I designed a simple WiFi controlled IR emitter.
General purpose IoT button
Over the years, I have built multiple IoT devices ranging from AC controllers to ceiling lights. Usually, I would control those devices using my smartphone or computer but sometimes a physical button can be more convenient. Thus, I designed this simple IoT button which publishes MQTT messages when pressed.
ESP-12F basic circuit and PCB
Modules like the Wemos D1 mini are a relatively cheap and easy way to integrate an ESP8266 in a project. However, one would sometimes require to have more freedom over the electronics, especially when it comes to PCB layout. For this purpose, the ESP8266 can be used in a form factor closer to its raw form, the ESP12-F module.
Sign holders for COVID-19 prevention
Compared to other countries, Japan did not enforce a strict lockdown on its population during the COVID-19 pandemic. As a result, most bars and restaurants continued their operations as usual. However, in order to prevent the spread of the virus as much as possible, the staff of my local pub printed out signs asking customers to not leave their table without wearing a mask.