diff --git a/templates/calendar.html b/templates/calendar.html
new file mode 100644
index 0000000..31067ce
--- /dev/null
+++ b/templates/calendar.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+ Agenda - Edward Betts
+
+
+
+
+
+
+
+
+
+
+{% set event_labels = {
+ "economist": "📰 The Economist",
+ "mothers_day": "Mothers' day",
+ "fathers_day": "Fathers' day",
+ "uk_financial_year_end": "End of financial year",
+ "bank_holiday": "UK bank holiday",
+ "us_holiday": "US holiday",
+ "uk_clock_change": "UK clock change",
+ "us_clock_change": "US clock change",
+ "us_presidential_election": "US pres. election",
+ "xmas_last_second": "Christmas last posting 2nd class",
+ "xmas_last_first": "Christmas last posting 1st class",
+ "up_series": "Up documentary",
+ "waste_schedule": "Waste schedule",
+ "gwr_advance_tickets": "GWR advance tickets",
+ "critical_mass": "Critical Mass",
+}
+%}
+
+{%set class_map = {
+ "bank_holiday": "bg-success-subtle",
+ "conference": "bg-primary-subtle",
+ "us_holiday": "bg-secondary-subtle",
+ "birthday": "bg-info-subtle",
+ "waste_schedule": "bg-danger-subtle",
+} %}
+
+
+
+{% from "navbar.html" import navbar with context %}
+
+ {{ navbar() }}
+
+
+
Agenda
+
+ ← personal tools
+
+
+ {% if errors %}
+ {% for error in errors %}
+
+ Error: {{ error }}
+
+ {% endfor %}
+ {% endif %}
+
+
+
+
+
+
+
Page generation time
+
+ - Data gather took {{ "%.1f" | format(data_gather_seconds) }} seconds
+ - Stock market open/close took
+ {{ "%.1f" | format(stock_market_times_seconds) }} seconds
+ {% for name, seconds in timings %}
+ - {{ name }} took {{ "%.1f" | format(seconds) }} seconds
+ {% endfor %}
+
+
+
+
+
+
+
+