Over the past few months I used a system to organize my to-do list on a weekly basis. It's a mix and match of a regular to-do list, a weekly to-do list, and a bullet journal. I wrote about a blog post about this back in March. The interesting bits are:
Every Monday morning I write down what I need and want to do during the week. [...] If something pops up during the week I add it to the list. If something gets “obsolete”, cross it off. Every item gets a dot in front of it, just like with bullet journaling. Once it’s done I turn that dot into a plus and write down the date.
Next Monday I tally the previous week by writing down the to-do vs. done ratio. For any items left over from the previous week I turn the dot into a greater than sign and move it over to the new week and add new items to the list. If a task list “overflows” for 3 weeks in a row I strike it through and move it a Trello board.
And this here is my attempt at making an app for it.
Notes and guidelines
ForThisWeek is an app that implements this system of tracking tasks week over week in a journal. An organizer creates a journal for the year in which they'll track the weekly tasks. An organizer creates and organizes a list of tasks that they want or need to do during the week in the journal.
The max week number is the total number of weeks in the year to which the journal belongs. A week is from Monday to Sunday. Every week is numbered according to the current week of the year.
- The tasks have no set deadlines, dates on which they need to be done.
- The tasks can be done, moved to next week, overflown from next week, scratched, and archived
- When a task is done, the date of completion is recorded.
- When a task is moved to next week, it is moved into a queue of tasks for the next week.
- When a task is overflown it means it wasn't done, moved, scratched, or archived during this week, so it overflows automatically to the next week.
- When a task is scratched it means it's no longer relevant.
- When a task is archived it means it overflew for 3 weeks in row and it is assumed no longer relevant.
- An organizer can create a new journal
- When a new journal is created, start a new week
- An organizer can add a task to the journal for the current week
- An organizer can mark a task as done
- An organizer can scratch a task
- An organizer can move a task to the next week's task queue
- The system can move not done tasks to the next week's task queue
- The system can close the current week
- The system can start a new week
- The system can fill the new week with tasks from the task queue
- An organizer can view a list of previous weeks
- An organizer can view any previous week
- An organizer can view the tasks in the task queue
- The system can archive a task if it was added to the task queue 3 weeks in a row
- An organizer can view a list of archived tasks
Do this list in order.
I'm terrible at design. I've purchased the Refactoring UI book in hopes to make me a little less terrible at design. The book has some great advice which I'm writing down here to make it easier to implement.
Using TailwindCSS as the CSS framework.
Start with a feature, not a layout
Design features one by one and not an entire application all at once. So far the list of features to design is:
- The page that an organizer sees when starting their 1st journal
- The page that an organizer sees when they have no tasks for the current week
- The page that an organizer sees when they have tasks for the current week
Choose a personality
This doesn't need to be a serious app, so going with a playful personality.
Limit your choices
Font sizes: 12px, 16px, 24px, 32px, 48px.
Use palette #12 (green) from the color palettes provided with Refactoring UI.
Line height: Higher for smaller text, smaller for bigger text.
For margins, paddings, dimensions, border widths and radius see Sizing.
Layout and spacing
Start with too much whitespace and remove until enough is left.
Use multiples of 16px for sizes: 4, 8, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 640, 768.
Roboto, Helvetica, sans-serif.