Stuff I Made in Node.js
November 29, 2021 by Steven Ng (Updated May 21, 2022)
Just a curated selection of things I've made with NodeJS.
Web Applications
Braintapper Radar
Braintapper Radar is a list management web app that I made. I have removed the link since it's more of a private service now that is grandfathered in for anyone who had previously signed up. Since I'm now working a full-time job, I don't have the time to support or update the application on a regular basis.
This was my "pandemic project". I built early prototypes in Svelte that ran locally in the browser, and I found myself using this app daily to manage my work and personal lists. At some point I decided to make it something more real, as I outgrew the proof-of-concept's limitations. So I ended up migrating the app to Sveltekit (with the node adapter, which also provides a back-end server) and using Postgresql as a data store. It's free to use with no plan to charge anything for it.
I have thought about making it a standalone app using Electron, but I'm in no rush to do that conversion. If I do, I'll update this post.
Utilities
PST to JSON converter
I had an Outlook mail archive I wanted to dump so I wouldn't need to view it in Outlook (which I hate), so I made a command line utility to convert it.
NPMs
Javascript Libraries
Offin
Offin is short for Office Injector. I needed to inject some JSON data into some Office templates (Excel, Word, PowerPoint) using an easy/consistent API, so I wrote a wrapper for a couple pre-existing libraries. I use this to generate reports in Word, etc.
Sugar and Spice
I'm a heavy user of Sugar.js, this NPM, currently a work-in-progress, has some enhancements based on common functions I need when writing Javascript.
Database Related
PG Forward Migrations
A tool for performing database migrations with Postgresql. This tool only does forward migrations.
Sqlite Forward Migrations
A tool for performing database migrations with SQLite. This tool only does forward migrations.
Hardware Integrations
Any time I get a "smart" device, I have an urge to write a script to communicate with it. It's an addiction.
Cyberpower Powerpanel Status
This is a script that can get the status of a USB-connected Cyberpower Uninterruptible Power Supply (UPS). I use this script to post periodic readings to a database.
Elitech RCW-800 WiFi Data Logger TCP Server
I wanted to have an Elitech thermometer/humidity sensor to send information to my local server instead of Elitech's cloud service. The sad irony is that less than a day after I managed to reverse engineer the protocol, the wifi on my unit broke, making the whole effort a little pointless.
EZCoo HDMI Switch Control
This is a script to control an Ezcoo HDMI Matrix 4x2 switch via USB.
Neewer GL1 Control
I reversed engineered the protocol for the Neewer GL1 wireless LED panel so that I could control it using my Stream Deck.
QingPing Air Monitor Lite Client
This is a fork I made of another Miio client so that I can poll my QingPing Air Monitor Lite for air quality readings. I populate a database with the data so I can see trends in air quality in my home.