Outside of work I have a number of open source projects that I maintain and develop.
promise-mysql is a Node module that wraps the mysql Node module in promises. This means that you can use promise chains or async/await instead of callbacks.
tapshot is a Node module that helps with snapshot testing when you are using tools like tap and tape. Tapshot can be used to test any serializable object. It was inspired by Jest’s snapshot testing.
This was an interesting project to work on as I had to ensure that it was well tested and worked exactly how it should.
jscad-includify is a Node module that builds the includes for a JSCAD project into one file. This is useful when you want to distribute a utility library or when you want to release a project as a single file.
It can be used as a CLI tool or can be used as a module within a Node script.
I enjoyed working on this project as it was my first try at building something using an AST.
I use this in my house to control my lamps and give me reminders. I have automated my curtains using this system (but don’t currently have that running) and have also added voice control.
In the future I hope to add more pieces of automation using Woodhouse, as well as generally learning more about virtual assistants.