Python

A Serverless text-to-speech player for jokes and quotes

Using AWS components, Cloudflare, and public APIs.

James Montgomery

2 minute read

TL; DR I decided to dust off my text-to-speech list, implementing a serverless solution delivering random jokes and quotes. You may visit it at this address: https://tts-ja.mesmontgomery.co.uk/ You can get a preview of the joke quality here: Your browser does not support the audio element. Note: I can’t affect the humour quality 🤣. Solution overview Upon visiting the page, an event triggers calls to the API routes for their relative jokes and quotes.

Backup of Cloudflare DNS to AWS DynamoDB

Using AWS Lambda to copy records into DynamoDB via the Libcloud library

James Montgomery

5 minute read

TL; DR After a short break, I decided to take an item off the project list. DNS is a rich source of inspiration for me - and so I elected for a quick win in the form of serverless DNS records backup. The goal of which is to backup my DNS zone contents, via functions as a service (FaaS) and storage as a service (object or database). You can find all the associated code for this on my GitHub page.

Introducing Elite Dangerous Timeline

A vis.js visual of game events with a DynamoDB backend and Flask API.

James Montgomery

4 minute read

TL; DR I created a timeline visual from Elite Dangerous in-game events. Why? On the one hand, to further my Python learning and explore AWS DynamoDB. On the other hand, because I ultimately would like to provide some context to me in the game which is not present natively. By focusing on visualising a subset of the available events, I gain a foothold in parsing the game data into a database and putting an API in front of it.

Order, order!

Using AWS Lambda with the Todoist Sync API

James Montgomery

5 minute read

TL; DR A year ago, I took to AWS to solve a label ordering challenge in my productivity application Todoist. I’ve summarised it in this project page along with the outcome of this addition. I recently revisited to see if the REST API was updated to allow reordering of items. It had not. The relevant property was read-only, and therefore, the functionality was still exclusive to the Sync API. I took this as an opportunity to learn the Sync API for which there was an official Python library.