For video game releases you’re interested in, a useful feature might be the ability to create reminders for dates that are coming up.
Recently, I’ve been working on a Google Calendar integration to create events and set reminders for upcoming games. I have some things I need to spend more time on, but a happy path flow (with pictures!) is below:

Feature: ‘Google Calendar +’ button is displayed in the game detail card

When visiting the site for the first time, you need to authorize permissions for the app to access a personal google calendar

After authorization, if the call to create the event is successful, the button text + icon change and the button disabled
Opening up Google Calendar reveals that the event was successfully created!

The happy path is pretty straightforward, but there are some improvements and additional functionality I want to add to this over time.
Open questions – authentication + authorization
- Pickle vs. JSON: Currently, I’m using pickle to serialize credentials, but it’s not human-readable (for a tradeoff of being very fast / efficient). I might switch to JSON even though it comes with a bit more overhead, so I can dig into issues should they arise in this flow (JSON is also widely quite supported so I might want to switch just for that)
- Storing tokens: My python calendar service is looking for a credentials file before accessing the Google Calendar API. For more users, the service would have to fetch credentials + permissions for a specific user. In a production app, I would store and retrieve this info from a persistent database and probably avoid storing credentials in localstorage. I’ll likely implement something like this.
Additional event functionality
- Customizing Google Calendar reminders: at the moment I am only using default fields, but there’s extensive customization for events
- Knowing if a reminder is already set for a specific game: it would be helpful to know if I’ve already created a Google Calendar event reminder for a game. To do this, I could create a reference to the event using (after creation) and tie that set of events to a user. The edge cases could get complicated (ex. user creates event using the app, then deletes the event on google calendar), but I think it could be worthwhile.
- Cleanup strategies for game releases that have already passed: it could be a small amount of data with only a few users, but maintaining that data could become expensive with a large set of users. A strategy to, for example, purge the app db references to created events after x period of time (6 months?) might be a way to save space over time.
Next, I think I’ll implement a user model (with PostgreSQL), and a sign-up flow, eventually coming back to build on some feature ideas I’ve laid out above.
I know this post wasn’t code heavy at all, but the next one will contain more code snippets. Thanks for reading.