Today is a one-page dashboard for running your day: a quote, the weather, your top three priorities, three contacts, daily habits, what to post, quick notes, and your calendar. It saves everything in your browser, and it can send a summary to Notion and show your calendar when you run its small helper.
| File | What it does |
|---|---|
today.html | The dashboard itself. Works on its own. |
today_server.py | Optional helper. Enables Sync Notion and the calendar card. |
today.config.example.json | Settings template. Copy it to today.config.json before you use the helper. |
today.config.json | Your private settings (you create this). Holds your secrets. Never share it. |
Double-click today.html to open it in your browser. Everything except Sync Notion and the calendar works.
python3 today_server.py
A quote that changes every day. It isn't editable.
Type a city and press Go. The dashboard remembers the city and refreshes it when you reopen the page. US results are preferred when a city name is ambiguous. Temperatures show in °F.
Shows today's events from your calendar, with times, all-day events first. Press Refresh to reload. Recurring events show on the days they happen, with exceptions respected. Cancelled events are hidden.
If you see "Run today_server.py…", the helper isn't running or you opened the file directly. If you see "Add calendarIcsUrl…", the setup below isn't finished.
Type a name in each line and tick it when you've reached out.
Tick each platform after you post there: Instagram, Notes, Facebook, YouTube.
Anything you want to keep for today. Saves as you type.
When you open the dashboard on a new day, or leave it open past midnight, it:
Priorities carry over because they have no done-state of their own.
The history is saved in your browser but has no screen yet.
You only do this once.
secret_.notion.so/yourname/ + a 32-character code + ?v=…. That 32-character code is the ID.today.config.example.json to today.config.json and fill in:
{
"notionToken": "secret_your_token_here",
"notionDatabaseId": "your_32_character_id_here",
"calendarIcsUrl": "your_calendar_url_here"
}
Each sync creates one page per day, titled with the date, containing the summary text.
.ics.calendarIcsUrl in today.config.json, then restart the helper.| What you see | What to do |
|---|---|
| Sync Notion is greyed out | Run the helper and open 127.0.0.1:8787, not the file. Then check that today.config.json has both Notion values. |
| "Notion sync failed: … 401" | The token is wrong or was copied incorrectly. |
| "Notion sync failed: … 404" or "object not found" | The database isn't shared with the integration (setup step 3), or the database ID is wrong. |
| "The Notion database needs a Date property" | Add a Date-type property to the database. |
| Calendar says it could not load | Check the calendar link, then press Refresh. Make sure the helper is still running. |
| Calendar shows nothing for a day you expect events | Check that the event is on the calendar you shared. Events with unusual recurrence rules may not appear. |
| Data missing after switching how you open the page | See the note under Opening the dashboard. |
| Port 8787 already in use | Another copy of the helper is still running. Stop it, or close the Terminal window that's running it. |
today.config.json.