3 minute read

Find Your Calendar Gaps With amifree

Dec 11, 2018 / Javascript

Last Updated: Sunday, February 3rd, 2019

amifree 📆

A Node.js CLI utility to retrieve available time slots on your Google Calendar

GIF demonstrating amifree functionality

View Source on GitHub

Born from the need for a quicker solution to list out my Calendar availability than manually checking for open time slots was amifree. I’ve tried services like Calend.ly, but my clients were frustrated when I sent them a link to schedule time with me. I didn’t want to give an impression that I was too lazy to look at my own calendar.

I am WIP on a new NPM package called amifree to remedy this problem. This page currently serves as a working “homepage” for the application where I will continue to provide updates, and assets like the Privacy Policy required by Google’s developer API.


  1. Node.js & NPM
  2. Knowledge of Google API’s (e.g., ability to create an application in Google Developer Console, add an API, generate OAuth Credentials)


Running this application for the first time:

  1. Open a web browser and navigate to https://console.developers.google.com/
  2. Sign In with your Google Account
  3. In your Google Developer Console, find the option to create a new API Project
  4. Name your project
  5. In your new project Dashboard, click “Library” and add ‘Google Calendar API’ to your project
  6. Once enabled, navigate to your new project’s credentials dashboard
  7. Click “Create Credentials” > “OAuth client ID”
  8. Fill out the necessary steps to generate your credentials
  9. Download your credentials JSON file as ‘credentials.json’
  10. $ git clone https://github.com/matthewvolk/amifree.git folder-name/
  11. $ cd folder-name/
  12. $ npm install
  13. $ mv /Your/download/path/credentials.json folder-name/
  14. $ touch .env
  15. $ vim .env and add your primary calendar email address as CALENDAR_ID="email@email.com"
  16. $ npm install
  17. $ ./bin/amifree

The Goal:

When the application is complete, the user will be able to:

  1. Run npm install amifree
  2. Run amifree config
  3. Application lists out steps to generate an appropriate Google OAuth application, read credentials.json file, and asks you for the Google Calendar ID of the calendar you want to read.
  4. Run amifree for a list of available time slots from the Google Calendar associated with the Google Calendar ID above.

To Do:

Issues/Security Concerns:

Privacy Policy

What information do you collect?

We use Google’s OAuth2 to view your Google Calendar events. We do not store any of your email or password data, your data is stored in a file called ‘token.json’ in the folder where this application is stored on your computer.

How do you use the information?

We use your Google Calendar information to identify open blocks of time on your Google Calendar.

What information do you share?

We do not share your information with third parties.