To supplement my job search and keep my skills fresh I'm creating this calendar journal side project! Hopefully, this changelog will help me keep track of everything I'm doing and learning. I'd like to post and update this every week. My main goal for this side project is to hone my skills and learn new concepts.
Another reason I want to build this side project is that it's something that scratches my own itch. People always say these are the best side projects to create and I hope it's true. Currently, I write my To-Do list, weekly goals, and notes about the days/weeks in a notebook. I enjoy having my notebook and sometimes it feels nice to cross things off on paper, but it's becoming a hassle.
I think the most frustrating part is that I have a lot of things on my to-do list that are repetitive or occur every week. For example, chores, working out, and meetups are all things that I do multiple times a week and repeat. Because my schedule is pretty repetitive I know exactly when I'm going to do certain chores that I don't necessarily need to write them down but then it looks like I'm not doing much. Because my schedule looks empty I try and add extra things that I don't have time for. This leads to feeling guilty about leaving stuff undone or moving to-dos to other days, which makes my notebook messy.
As much as I love my notebook it would be nice if I could easily have tasks repeated every Monday for example or move tasks to the next day without making a mess.
Even though the concept is straightforward: a calendar-like to-do list where I can keep track of my to-dos and notes. I think there's a lot of room to add extra features. I have no idea how to add drag and drop to be to-dos but it would be exciting to learn and implement that into my project.
I'll be trying to build in public-ish by creating this changelog to document my thoughts, processes, wins, and struggles that I encountered. I hope this can be useful to both you and me!
I'm trying to make my user stories ahead of time to get a better idea of what I need to build and not get distracted by things I want to do in the future. Although I honestly do worry about how difficult it might be to add stuff later down the road.
- Users should be able to log in or sign up
- Users should be able to create a Todo for a specific day
- Users should be able to complete Todos
- Users should be able to delete Todos
- Users should be able to edit the text of Todos
I think these are good basic user stories that I can start with.
This is just a general backlog list and I'm sure it will grow bigger. I have a Notion with all my potential ideas as well. Let's hope the first part is broken down and actionable enough to get to these!
- Users should be able to add notes
- Users should be able to edit notes
- Users should be able to push/"snooze" Todos to another date
- Users should be able to set up recurring Todos
- Animations (I've always wanted to play with these more)
- Drag and drop to rearrange todos
Another reason I want to build this app is that it gives me a low-pressure environment where I can explore new technology or level up my skills. For this project, I'll be using the T3 Stack. Some of the technologies I know and others I've never used before. I think this will give me a good jumping-off point while also forcing me to expand my knowledge. The biggest thing I want to get better with is TypeScript and back end work in general. Most of my experience is on the front end so I want to get better at working on the back end. I'm familiar with TypeScript and have used it before in and out of work but I think there's still a lot of room to grow and tools to take advantage of.