portfolio

adam dilger

Below are some of the side-projects that I've worked on over time.


Adventory - Present Idea Inventory

nuxt Turso Cloudflare Workers

Adventory is a simple web app for keeping track of present ideas for friends and family. Add present ideas with comments, descriptions and links, mark who’s purchased, all the while not being able to see who’s bought presents for yourself!

A Nuxt/Vue app deployed on Cloudflare Workers using Turso database, this is the first fully serverless app I’ve made. Servless made sense in this instance as it’s only required for use for around a month a year.

The main challenges were ensuring the app could be used by anyone, allowing for a new user to signup, create a group and invite people. Google OAuth was used for authentication, although more auth methods could be used in the future. Invites were handled with a short lived token that the admin must send out for each user.

Adventory - Present Idea Inventory

golang

An ascii-based displayer for the Bureau of Meteorology’s radar images. It’s primary use is for a widget in a tmux driven dashboard.

This program will fetch and refresh the radar images from the BOM website periodically, outputting the current set of images in ascii format.

BOM ascii radar widget

ESP32 ePaper Dashboard

c++ serverless function

This project was a gift for my brother, to monitor certain stats about his power generation/usage at his house.

I bought an ESP32 microcontroller and a ePaper display, used PlatformIO vscode extension to write the ESP32 portion of the code.

The ESP32 connects to your WIFI, makes a HTTP request to a serverless function (DenoDeploy) which collates all the data from various sources, returning a text representation of the data. (I chose to not use JSON to simplify the ESP32 code, and also it doubled as a way to view the data in a browser if needed).

The ESP32 then displays then draws all the graphics/text onto the screen, and sleeps for a couple minutes before doing the whole process again.

An improvement I would like to make to this setup, is to instead generate a black and white image on the server side, and send that to the ESP32 to display. This would greatly reduce the ESP32 code complexity, and would:

  • allow for more complex and varied graphics to be displayed on the dashboard
  • speeding up development time for the dashboard designs
  • allow for updating of the dashboard without needing to reflash the ESP32
ESP32 ePaper Dashboard