Last month, I wrote about moving my wife’s website from WordPress to Hugo. Overall, the pros of switching outweigh the cons. She’ll have to adapt to a new publishing workflow that involves pushing updates to GitHub and waiting a few minutes for her site to rebuild. At the same time, it’ll be much easier for me to add custom functionality to her site because I’m very familiar with Hugo.

My wife may want to get an iPad to replace her MacBook in the future, so I’ve been thinking of ways for her to handle image uploading on her new Hugo site. At the moment, the image uploading functionality on my site is handled by a custom Python script mapped to a macOS quick action – it sounds complex, but it’s very user-friendly. Unfortunately, this kind of setup isn’t possible on iPad.

After some hacking around, I settled on developing a Telegram bot to handle image uploads. I chose Telegram because the bot API is fairly easy to figure out, and the service itself is cross-platform. At the moment, the bot is able to take an uploaded image, download it to a temporary location, and upload it to a Google Cloud Storage bucket (where I store blog images).

Check out the video below to see the bot in action.

The next step is to add Dropbox support as well because my current macOS quick action pushes images to Dropbox for backup purposes. After that, I just need to write some code to instruct the bot to send a Hugo shortcode after a sucessful upload. That’ll be especially useful for my wife because she can just copy and paste the shortcode straight into her post.