Amazing Marvin Automation is designed to streamline and automate specific workflows within the Amazing Marvin productivity app. This project includes a wide range of features from creating tasks based on recorded habits to auto-scheduling tasks based on weather conditions. This tool is ideal for users looking to enhance their productivity and task management efficiency within Amazing Marvin.
Verify that these programs are on your computer before proceeding. Otherwise, use these links to download them:
- NodeJS v20 or higher
- Git (Version Control)
- A server to host and run this program, ex. DigitalOcean droplet, Heroku Dyno, AWS EC2 instance,
Note: This application is currently meant to be self-hosted on a server. However, I do have plans to migrating this to be a browser extension as well as figuring out ways to have users be able to use this without having to self-host this.
(1) Open a new terminal and first clone this respository from GitHub onto your server:
# Go to the location you want to install to:
# cd location/to/install/to
# Clone the project (downloads source code into folder)
git clone https://github.com/RogueArt/amazing-marvin-automation
# Go inside the project folder
cd amazing-marvin-automation
(2) Install the required packages to run this project
# Note: make sure Node is installed, otherwise this will not work!
npm install
(3) Set up the environment variables
- Rename the file named
.env.template
to.env
- Get your API key: go to Amazing Marvin on web/desktop > Strategies (press S) > API (beta) > Settings > View credentials > Copy paste the value under "API token"
- Paste this value onto the empty spot where it says
MARVIN_API_TOKEN
(4) Set up Amazing Marvin webhooks
- Go to API settings in Amazing Marvin (see instructions in #3)
- Click "Add webhook" and add a webhook for "Record Habit" for "POST"
- For the webhook address, set this to
https://<your-server-domain-name>:<port>/habit-as-task
and save
To run the program, open a terminal and do:
npm run start
The program will run on port 8080 as specified under constants.js
If you run into any issues, need help, or have any feature suggestions for this project, feel free to create an issue under the "Issue" tab for this project.
Important Note: I am not affiliated with the Amazing Marvin team. For any questions or inquiries about the product, please reach out to the Amazing Marvin team at contact@amazingmarvin.com directly.
🚧 Simple spaced repetition / follow-ups (In progress)
- Finishing a task with certain keywords triggers follow-up tasks.
- These tasks are scheduled at intervals of 1d, 3d, 7d, 14d, and 28d from the completion of the original task.
✅ Creating a completed task after recording habit (Completed)
- Allows users to customize the task created after recording a habit.
- Example: Recording the habit "Brush teeth in the morning" creates a task "Brush teeth #Self-Care ~10m +Today".
❌ Auto-schedule from “Today” list (Not started)
- Automatically slots tasks from the "Today" list into the calendar based on the current time.
- Includes an option for adding break periods and working around existing time blocks.
❌ Burnout Management (Not started)
- Analyzes completed tasks' time estimates and automatically schedules break tasks based on workload.
- Follows a general Pomodoro/Flowmodoro ratio for break scheduling.
❌ Weather-Based or Holiday-Based tasks (Not started)
- Auto-schedules tasks based on the current weather or upcoming holidays.
- Example: Scheduling "clean gutters" if it's going to rain.