Advanced daily planning app.
  • JavaScript 92.2%
  • CSS 7.3%
  • HTML 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-12 22:20:30 +00:00
components Shows the unsent changes' squares to the right of Go offline 2026-11-12 23:12:47 +01:00
docs Keeps the stored list in display order online too, and notes networks broken further away 2026-11-12 22:21:09 +01:00
lib Clears the squares when logging out forgets the queue 2026-11-12 23:04:11 +01:00
migrations Shows changes made elsewhere as they happen, on PostgreSQL 2026-11-09 10:49:48 +01:00
test Lets changes be made while disconnected, queued and sent on reconnecting 2026-11-12 22:53:34 +01:00
.gitignore Designs editing while disconnected: a queue per login, clients racing to the database 2026-11-12 20:40:51 +01:00
.prettierrc.json Initial add. 2021-04-01 15:20:17 +02:00
icon-180.png Install on the home screen, with a manifest, a flower icon and theme colours 2026-11-02 20:39:11 +01:00
icon-192.png Install on the home screen, with a manifest, a flower icon and theme colours 2026-11-02 20:39:11 +01:00
icon-512.png Install on the home screen, with a manifest, a flower icon and theme colours 2026-11-02 20:39:11 +01:00
index.html Loads db-connector 0.2.1, webway 0.3.2 and db-auth 0.3.9, from the new pages host 2026-11-11 15:29:02 +01:00
LICENSE Add PolyForm Noncommercial License 1.0.0 2026-05-26 11:43:21 +02:00
main.css Puts the unsent changes' squares on a line of their own on a phone 2026-11-12 23:20:01 +01:00
main.js Lets changes be made while disconnected, queued and sent on reconnecting 2026-11-12 22:53:34 +01:00
manifest.json Install on the home screen, with a manifest, a flower icon and theme colours 2026-11-02 20:39:11 +01:00
README.md Links 👤 to the user admin page's own app, db-auth-admin 0.1.0 2026-11-12 12:45:50 +01:00
submitted.html Submit the admin form to a page of its own over HTTPS, with no named fields, so Safari doesn't call it non-secure 2026-11-02 12:16:21 +01:00
test.html Loads db-connector 0.2.1, webway 0.3.2 and db-auth 0.3.9, from the new pages host 2026-11-11 15:29:02 +01:00
test.js Loads db-connector 0.2.1, webway 0.3.2 and db-auth 0.3.9, from the new pages host 2026-11-11 15:29:02 +01:00

🌼 My Day

Planning your day should take minutes, not half of the day.

Try it live here

Most planning apps assume your day is a neat stack of timeboxed blocks. You know what you're doing, when you're doing it, and exactly how long each thing takes. Then reality shows up.

Things run long. Things get interrupted. Something urgent appears from nowhere. You mix focused work with quick async tasks. You rarely know upfront how long something will take — you just know it needs to happen, and roughly when.

My Day is built around that reality. Tasks have a start time if they need one, but never a required duration. You can prioritize and schedule items, and let the smart sort figure out the order. Todo items and calendar items live in the same list because the line between them is blurry anyway. The app nudges you forward — when a timed task is due, it promotes itself to Doing automatically, so your list stays honest without you having to manage it.

The goal is simple: spend two minutes entering what you need to get done today, then go on and get things done.


How it works

📋 Board — Your day as a kanban. Drag tasks from Todo → Doing → Done. Timed tasks live in the list view and promote themselves automatically — the board stays focused on what you're actively working on.

📝 List — Everything in one place, smartly sorted to interleave your tasks around any timed commitments. The closest thing to an honest picture of your day.

📅 Calendar — A timeline of what's coming up and how much breathing room you have between items. No duration required.


Getting started

No account. No install. No setup.

Just open index.html, add what's on your plate today, and get on with it.


License

PolyForm Noncommercial License 1.0.0 — free for personal, educational, and non-commercial use. Commercial use is reserved for the original author.


Engineering

Designed and engineered by Joel Sebastian Andersson.
Co-authored with Claude by Anthropic.

Run the tests

Architecture and database schema

Your own database

My Day works offline, with your items in this browser: Load and Save read and write them as a file.

Go online takes the address of a db-ws-relay, and My Day then keeps your items in the MySQL or PostgreSQL database behind it, reached straight from the browser through db-connector, with no backend between. Logging in happens on db-auth's user admin page, db-auth-admin, which the 👤 link opens; titles and descriptions are encrypted in the browser. Connecting with local items asks whether to use them or the data in the database. Connected, the file buttons become Import data and Export my data, beside Delete my data.

My Day's database is set up by its migrations, run by webway when the credentials of a database account with all privileges, such as MySQL's root or a PostgreSQL superuser, are entered for them. Users read and change their items only through the stored procedures there. An app usually ships migrations for one server; as a demo, My Day ships both, in migrations/mysql/ and migrations/postgresql/, with procedures that take the same arguments and return the same columns on either, so its browser code is the same.

Tests

test.html runs with a fake MySQL, so no relay or database is needed, but it loads the published db-connector, webway and db-auth, so it needs to be online. Open it locally or online.