Skip to content

Because I'm so good at procrastinating that I need an AI to yell at me for it.

Notifications You must be signed in to change notification settings

PixelMelt/AI-Canvas-Reminder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Canvas-Reminder

I put off doing homework for this.

This program retreives upcoming assignments from the Canvas API, turns them into a reminder in natural language with GPT3.5 and sends them to your devices with a push notification.

Requirements

  • NodeJS 16 or higher.
  • An openai API key.
  • A pushover licence for your device. (or free trial)
  • A Canvas instance set up by your school.

Running

git clone https://github.com/PixelMelt/AI-Canvas-Reminder
cd ./AI-Canvas-Reminder
npm i
node index.js

Feel free to open up an issue if you want to see a feature implemented, I really dont mind.


Configuration

  • OPENAI_API_KEY: The authentication key required to access OpenAI's API.

  • CANVAS_API_KEY: An authentication key from your Canvas account. (Generated in https://<schoolname>.instructure.com/profile/settings under "Approved Integrations")

  • CANVAS_BASE_URL: The base URL endpoint for your schools Canvas API.

  • EXCLUDED_COURSES: A list of course IDs to be excluded from processing by the application.

  • PUSHOVER_USER and PUSHOVER_TOKEN: Authentication keys for using the Pushover notification service.

  • REAL_NAME: The student's actual name.

  • PRIVACY_NAME: A privacy-friendly name to replace the actual name when prompting GPT 3.5.

  • GENTLE_REMINDER_PROMPT and NOT_SO_GENTLE_REMINDER_PROMPT: Templates for generating reminder messages using the OpenAI API. These contain placeholders for the student's name and the current date that get inserted when the program is run.

About

Because I'm so good at procrastinating that I need an AI to yell at me for it.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published