Articles

Projects

Anshin

Anshin thumbnail
I live by myself far away from my relatives, which can can make them worried if they don't hear about me for too long. To reassure them, I made a simple web application which displays my recent activity alongside a list of emergency contacts.
Tailwind CSSAstroNode-REDProjects

Arduino 7-segment alarm clock

Arduino 7-segment alarm clock thumbnail
This is one of my earliest electronics project: An alarm clock built around an Arduino nano, a real-time clock (RTC) module and a 7-segment display.
ArduinoProjectsElectronics

Auto CRUD

Auto CRUD thumbnail
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.
ExpressProjectsNPMPrismaDatabase

BLE presence detection

BLE presence detection thumbnail
I wanted my home automation system to detect when I arrive home so as to unlock my door automatically or let me know if I leave the apartment without turning the A/C off. I figured my smartphone could be used to achieve this since it is equipped with a vast array of sensors and connectivity options. For example, I could use an app like OwnTracks which would send an MQTT message once I enter a certain perimeter around my apartment. However, constantly monitoring one's GPS location is wasteful in terms of battery life. Another option would be to ping my phone's IP address to check if it is connected to the WiFi, but smartphones can sometimes take a while to connect. So, I decided to use BLE advertising, which does not use too much battery while still remaining constantly active.
ESP32ProjectsIoTBluetooth

Barking alarm

Barking alarm thumbnail
Dogs are great at detering burglars from entering one's home. This system brings the same advantage, without the need for an actual dog.
ElectronicsProjectsArduino

Bathroom occupancy monitor

Bathroom occupancy monitor thumbnail
One of the companies I used to work for had a serious bathroom issue: My floor had only three toilet stalls for about 200 employees. There were countless times when I would walk all the way to the bathroom only to find all stalls occupied. I built this simple system to quickly identify whether one or more stall were. It consists of an IoT sensor installed on the bathroom stalls' door and an indicator placed somewhere easily visible.
ESP8266IoTElectronicsProjects

Camera viewer

Camera viewer thumbnail
IP cameras are cheaper than ever and with the ESP32-CAM boards it is now possible to stream video for less than USD 10. However, IP cameras are commonly either only accessible from within their network, or use servers from third party companies to allow users to see the video feed from anywhere in the world. As both scenarios are inconvenient, I decided to create a camera viewer application that can proxy the video feed to a web interface.
WebProjectsMongooseMongoDBNode.js

Cashless payment system

Cashless payment system thumbnail
A company I worked for had a coffee machine for which employees could purchase coffee. However, the payment was done by putting coins in a jar. Not only did this present the obvious risk of theft, this system was also impractical for people not carrying spare change at all time. I decided to solve this issue by designing this cashless payment system.
ElectronicsProjectsIoTMongoDBNode.js +1

Control IoT devices with a Xiaomi Mi Band 2

Control IoT devices with a Xiaomi Mi Band 2 thumbnail
Smartwatches can be rather expensive and tend to be known for their poor battery life. On the other hand, Xiaomi's Mi band 2 is cheap and its battery lasts for up to 20 days. However, the Mi band 2 is mainly limited to fitness tracking functions, at least without the appropriate apps.
ProjectsIoTMQTT

Countries tracker

Countries tracker thumbnail
Nagoya Global Friends is an international community in Nagoya whose events gather people from all over the worlds. In order to visualize the various countries represented, I designed a simple Firebase application. The application allows users to register their home country, which gets stored in a Firestore database.
FirebaseProjectsSvelte