Skip to content

Simple Reminder App

Abstract

Simple Reminder App is a practical Python application that helps users set reminders with desktop notifications. The app allows users to input a reminder message and specify when they want to be reminded (in minutes). After the specified time, the application displays a desktop notification with the reminder message. This project demonstrates working with time delays, desktop notifications, and user input handling. The app includes versions for both Windows (using plyer) and Mac (using pync).

Prerequisites

  • Python 3.6 or above
  • A code editor or IDE
  • plyer module (for Windows)
  • pync module (for Mac)

Before you Start

Before starting this project, you must have Python installed on your computer. If you don’t have Python installed, you can download it from here. You must have a code editor or IDE installed on your computer. If you don’t have any code editor or IDE installed, you can download Visual Studio Code from here. You must have the required modules installed on your computer. Install the appropriate module based on your operating system:

For Windows:

command
C:\Users\Your Name>pip install plyer
command
C:\Users\Your Name>pip install plyer

For Mac:

command
$ pip install pync
command
$ pip install pync

Getting Started

Create a Project

  1. Create a folder named simple-reminder-appsimple-reminder-app.
  2. Open the folder in your favorite code editor or IDE.
  3. Create a file named simplereminderapp.pysimplereminderapp.py.
  4. Copy the given code and paste it in your simplereminderapp.pysimplereminderapp.py file.

Write the Code

  1. Copy and paste the following code in your simplereminderapp.pysimplereminderapp.py file.
⚙️ Simple Reminder App
Simple Reminder App
# Simple Reminder App
 
# Reminder App For Windows
# Import Modules
import time
import datetime
from plyer import notification
 
# Defining Functions
def print_pause(message_to_print):
    print(message_to_print)
    time.sleep(2)
    
def reminder():
    print_pause("What would you like to be reminded about?")
    reminder = input("Enter your reminder: ")
    print_pause("In how many minutes would you like to be reminded?")
    minutes = input("Enter minutes: ")
    print_pause("Reminder set!")
    time.sleep(int(minutes) * 60)
    notification.notify(
        title = "Reminder",
        message = reminder,
        timeout = 10
    )
    print_pause("Reminder: " + reminder)
    print_pause("Reminder Completed!")
    play_again()
    
def play_again():
    print_pause("Would you like to set another reminder?")
    while True:
        choice = input("Enter yes or no: ")
        if choice == "yes":
            print_pause("Great!")
            reminder()
            break
        elif choice == "no":
            print_pause("Thank you for using the Reminder App!")
            break
        else:
            print_pause("Please enter yes or no: ")
            
def intro():
    print_pause("Welcome to the Reminder App!")
    print_pause("This app will remind you about anything you want!")
    print_pause("Let's get started!")
    reminder()
    
# Calling Functions
intro()
 
 
# Reminder App For Mac
# import time
# import datetime
# import pync
 
# # Defining Functions
# def print_pause(message_to_print):
#     print(message_to_print)
#     time.sleep(2)
    
# def reminder():
#     print_pause("What would you like to be reminded about?")
#     reminder = input("Enter your reminder: ")
#     print_pause("In how many minutes would you like to be reminded?")
#     minutes = input("Enter minutes: ")
#     print_pause("Reminder set!")
#     time.sleep(int(minutes) * 60)
#     pync.notify(reminder, title="Reminder", sound="default")
#     print_pause("Reminder: " + reminder)
#     print_pause("Reminder Completed!")
#     play_again()
    
# def play_again():
#     print_pause("Would you like to set another reminder?")
#     while True:
#         choice = input("Enter yes or no: ")
#         if choice == "yes":
#             print_pause("Great!")
#             reminder()
#             break
#         elif choice == "no":
#             print_pause("Thank you for using the Reminder App!")
#             break
#         else:
#             print_pause("Please enter yes or no: ")
            
# def intro():
#     print_pause("Welcome to the Reminder App!")
#     print_pause("This app will remind you about anything you want!")
#     print_pause("Let's get started!")
#     reminder()
    
# # Calling Functions
# intro() 
Simple Reminder App
# Simple Reminder App
 
# Reminder App For Windows
# Import Modules
import time
import datetime
from plyer import notification
 
# Defining Functions
def print_pause(message_to_print):
    print(message_to_print)
    time.sleep(2)
    
def reminder():
    print_pause("What would you like to be reminded about?")
    reminder = input("Enter your reminder: ")
    print_pause("In how many minutes would you like to be reminded?")
    minutes = input("Enter minutes: ")
    print_pause("Reminder set!")
    time.sleep(int(minutes) * 60)
    notification.notify(
        title = "Reminder",
        message = reminder,
        timeout = 10
    )
    print_pause("Reminder: " + reminder)
    print_pause("Reminder Completed!")
    play_again()
    
def play_again():
    print_pause("Would you like to set another reminder?")
    while True:
        choice = input("Enter yes or no: ")
        if choice == "yes":
            print_pause("Great!")
            reminder()
            break
        elif choice == "no":
            print_pause("Thank you for using the Reminder App!")
            break
        else:
            print_pause("Please enter yes or no: ")
            
def intro():
    print_pause("Welcome to the Reminder App!")
    print_pause("This app will remind you about anything you want!")
    print_pause("Let's get started!")
    reminder()
    
# Calling Functions
intro()
 
 
# Reminder App For Mac
# import time
# import datetime
# import pync
 
# # Defining Functions
# def print_pause(message_to_print):
#     print(message_to_print)
#     time.sleep(2)
    
# def reminder():
#     print_pause("What would you like to be reminded about?")
#     reminder = input("Enter your reminder: ")
#     print_pause("In how many minutes would you like to be reminded?")
#     minutes = input("Enter minutes: ")
#     print_pause("Reminder set!")
#     time.sleep(int(minutes) * 60)
#     pync.notify(reminder, title="Reminder", sound="default")
#     print_pause("Reminder: " + reminder)
#     print_pause("Reminder Completed!")
#     play_again()
    
# def play_again():
#     print_pause("Would you like to set another reminder?")
#     while True:
#         choice = input("Enter yes or no: ")
#         if choice == "yes":
#             print_pause("Great!")
#             reminder()
#             break
#         elif choice == "no":
#             print_pause("Thank you for using the Reminder App!")
#             break
#         else:
#             print_pause("Please enter yes or no: ")
            
# def intro():
#     print_pause("Welcome to the Reminder App!")
#     print_pause("This app will remind you about anything you want!")
#     print_pause("Let's get started!")
#     reminder()
    
# # Calling Functions
# intro() 
  1. Save the file.
  2. Open the terminal in your code editor or IDE and navigate to the folder simple-reminder-appsimple-reminder-app.
command
C:\Users\Your Name\simple-reminder-app> python simplereminderapp.py
Welcome to the Reminder App!
This app will remind you about anything you want!
Let's get started!
What would you like to be reminded about?
Enter your reminder: Call mom
In how many minutes would you like to be reminded?
Enter minutes: 2
Reminder set!
# ... wait for 2 minutes ...
# Desktop notification appears: "Reminder: Call mom"
Reminder: Call mom
Reminder Completed!
Would you like to set another reminder?
Enter yes or no: no
Thank you for using the Reminder App!
command
C:\Users\Your Name\simple-reminder-app> python simplereminderapp.py
Welcome to the Reminder App!
This app will remind you about anything you want!
Let's get started!
What would you like to be reminded about?
Enter your reminder: Call mom
In how many minutes would you like to be reminded?
Enter minutes: 2
Reminder set!
# ... wait for 2 minutes ...
# Desktop notification appears: "Reminder: Call mom"
Reminder: Call mom
Reminder Completed!
Would you like to set another reminder?
Enter yes or no: no
Thank you for using the Reminder App!

Explanation

  1. Import the required modules.
simplereminderapp.py
import time
import datetime
from plyer import notification
simplereminderapp.py
import time
import datetime
from plyer import notification
  1. Create a utility function for printing with pauses.
simplereminderapp.py
def print_pause(message_to_print):
    print(message_to_print)
    time.sleep(2)
simplereminderapp.py
def print_pause(message_to_print):
    print(message_to_print)
    time.sleep(2)
  1. Create the main reminder function.
simplereminderapp.py
def reminder():
    print_pause("What would you like to be reminded about?")
    reminder = input("Enter your reminder: ")
    print_pause("In how many minutes would you like to be reminded?")
    minutes = input("Enter minutes: ")
    print_pause("Reminder set!")
    time.sleep(int(minutes) * 60)
    notification.notify(
        title = "Reminder",
        message = reminder,
        timeout = 10
    )
    print_pause("Reminder: " + reminder)
    print_pause("Reminder Completed!")
    play_again()
simplereminderapp.py
def reminder():
    print_pause("What would you like to be reminded about?")
    reminder = input("Enter your reminder: ")
    print_pause("In how many minutes would you like to be reminded?")
    minutes = input("Enter minutes: ")
    print_pause("Reminder set!")
    time.sleep(int(minutes) * 60)
    notification.notify(
        title = "Reminder",
        message = reminder,
        timeout = 10
    )
    print_pause("Reminder: " + reminder)
    print_pause("Reminder Completed!")
    play_again()
  1. Create a function to handle multiple reminders.
simplereminderapp.py
def play_again():
    print_pause("Would you like to set another reminder?")
    while True:
        choice = input("Enter yes or no: ")
        if choice == "yes":
            print_pause("Great!")
            reminder()
            break
        elif choice == "no":
            print_pause("Thank you for using the Reminder App!")
            break
        else:
            print_pause("Please enter yes or no: ")
simplereminderapp.py
def play_again():
    print_pause("Would you like to set another reminder?")
    while True:
        choice = input("Enter yes or no: ")
        if choice == "yes":
            print_pause("Great!")
            reminder()
            break
        elif choice == "no":
            print_pause("Thank you for using the Reminder App!")
            break
        else:
            print_pause("Please enter yes or no: ")
  1. Create an introduction function and start the app.
simplereminderapp.py
def intro():
    print_pause("Welcome to the Reminder App!")
    print_pause("This app will remind you about anything you want!")
    print_pause("Let's get started!")
    reminder()
 
intro()
simplereminderapp.py
def intro():
    print_pause("Welcome to the Reminder App!")
    print_pause("This app will remind you about anything you want!")
    print_pause("Let's get started!")
    reminder()
 
intro()

Platform Support

This app includes support for both Windows and Mac:

Windows Version: Uses the plyerplyer library for cross-platform notifications.

Mac Version: Uses the pyncpync library for native Mac notifications with sound support.

The code includes both implementations - simply uncomment the appropriate version for your operating system.

Features

  • Set custom reminder messages
  • Specify reminder time in minutes
  • Desktop notifications with title and message
  • Option to set multiple reminders
  • Cross-platform support (Windows and Mac)
  • User-friendly command-line interface
  • Sound notifications (Mac version)
  • 10-second notification timeout

How to Use

  1. Run the application
  2. Enter your reminder message when prompted
  3. Specify the number of minutes until the reminder
  4. Wait for the specified time
  5. Receive a desktop notification with your reminder
  6. Choose to set another reminder or exit

Next Steps

You can enhance this project by:

  • Adding a GUI interface using Tkinter
  • Implementing recurring reminders (daily, weekly)
  • Adding sound customization options
  • Creating a web-based version
  • Adding reminder categories and priorities
  • Implementing snooze functionality
  • Adding reminder history and logs
  • Creating mobile app integration

Troubleshooting

  • Notifications not appearing: Make sure notification permissions are enabled for Python on your system
  • Module import errors: Ensure you’ve installed the correct module for your operating system
  • Sound not working: Check system volume and notification settings

Conclusion

In this project, we learned how to create a Simple Reminder App using Python. We explored working with time delays using the timetime module, desktop notifications using platform-specific libraries, and user input handling. This project demonstrates practical application development and cross-platform compatibility considerations. To find more projects like this, you can visit Python Central Hub.

Was this page helpful?

Let us know how we did