diff --git a/README.md b/README.md
new file mode 100644
index 0000000..fa2e06a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,86 @@
+ # Reminder Bot
+
+ This Python script automates the process of sending email reminders based on a schedule defined in a TSV (Tab-Separated Values) file. It relies on the `mutt` email client to send emails on specific weekdays, dates, or monthly intervals.
+
+ ## Features
+
+ * **Tab-Separated Logic**: Parses a TSV file, allowing for commas within schedules.
+ * **Flexible Scheduling**: Supports specific weekdays, day-of-month intervals, the last day of the month, and fixed annual dates.
+ * **Mutt Integration**: Makes use of `mutt` for email delivery.
+
+ ## Prerequisites
+
+ - Python 3.x
+ - Mutt
+
+ ## Configuration
+
+ ### 1. Data File Setup
+
+ The script requires a tab-separated file located at `/full/path/to/list.csv`. The file structure must include the **Subject** and **Occurrence** headers.
+
+ ```
+ Subject Occurrence
+ REMINDER: Someone's Birthday 01 Dec
+ REMINDER: Someone's Anniversary 22 May
+ REMINDER: Pay bills 01 Feb, 01 Apr, 01 Jun, 01 Aug, 01 Oct, 01 Dec
+ REMINDER: Do something 02 of every month
+ REMINDER: Check something Last day of every month
+ Ping Test Monday, Tuesday, Friday, Sunday
+ Weekly Meeting Wednesday
+ ```
+
+ ### 2. Supported Occurrence Formats
+
+ * **Weekdays**: e.g. Monday, Tuesday, Wednesday, etc. (Case-insensitive matching).
+ * **Specific Date**: e.g. 01 Dec
+ * **Month End**: Last day of every month (Calculated using the calendar module).
+ * **Monthly**: e.g. 02 of every month.
+
+ ### 3. Script Variables
+
+ Edit the following variables within the script to match the environment:
+
+ * **file_path**: The absolute path to the TSV file.
+ * **to_email**: The recipient email address where reminders will be sent.
+
+ ### 4. Mutt config
+
+ Create `~/.muttrc` and set the following, at a minimum:
+
+ ```bash
+ set from = "from@example.com"
+ set realname = "bob"
+ set smtp_url = "smtps://from@example.com@mail.example.com:465/"
+ set smtp_pass = "real_password"
+ set ssl_force_tls = yes
+ # Optional - prevents the logging of sent emails in ~/sent
+ unset record
+ set copy = no
+ ```
+
+ ## Usage
+
+ ### Manual Execution
+
+ Make the script executable and run it:
+
+ ```bash
+ chmod +x rem.py
+ ./rem.py
+ ```
+
+ ### Automation via Crontab
+
+ To automate the checks daily, add an entry to `crontab`. For example, to run every morning at 08:00:
+
+ ```cron
+ 0 8 * * * /usr/bin/python3 /path/to/rem.py
+ ```
+
+ ## Troubleshooting
+
+ * **Mutt Delivery**: Confirm mutt is functioning correctly from the command line by running: `echo "test body" | mutt -s "test subject" user@example.com`.
+ * **Path Resolution**: Use absolute paths for the `file_path` variable to prevent issues when the script is triggered by a system scheduler like Cron.
+ * **Delimiter Consistency**: The script is explicitly configured with `delimiter='\t'`. Ensure the data file uses actual tab characters and not spaces.
+