The thing about being a dev is that we tend to horde domain names.
It's easy to come up with grand ideas and convince ourselves that we are going to commit to it once we have the domain name in our possession.
I'm one of these people.
After several years of ownership and nothing much to show for it later, I decided to dig one out of the proverbial digital dustbin.
What did I end up making?
Ok. It sounds simple but over time, I don't intend it to be.
The thing with weekend apps is that you can only do so much. Over time, I want to add more features to it - eventually bringing it up to where it's the to-do list that replaces all to-do lists.
I've used multiple systems in the past. I've done everything from Trello, Asana, Monday, Kanban boards, Notion checklists, and paper systems. But they were either -
- too complicated, or
- the UI just doesn't have what I want in the right places
I wanted something clean, minimalist, and to the point of what I needed to know.
Dark & Light Theme
For the design, I went with and minimalist dark and light dashboard style. Everything is in one place and it isn't too overwhelming.
When it comes to getting things done, I tend to overestimate what I can do and underestimate the time it takes.
The way the columns are set up, I can only think in time frames of today, tomorrow, and the upcoming week. I also added a waiting column because sometimes tasks are out of my control but I still need to deal with them at some stage.
Draggable Sort List
Most to-do lists start and end with just the ability to add and delete things. I wanted to make mine movable - so I added the ability to drag sort the list items. I haven't tested it on any other device other than desktop screens but I'm assuming it works for touch devices.
Add new item
Adding new items is kind of needed for a to-do list. Pressing enter lets you get into the flow of adding new items quickly.
Press the check ✔ to make it go away. I started with a bin icon but it has a bit of a negative connotation. Yes, there's a done column where I can put things to celebrate my wins, but it's a double win when I get to press the ✔ as well.
Why? Sometimes I just want to be able to see what I've done for the week before clearing it all away.
Empty list alert
Basically, no empty to-dos. There's a nice little alert poop up that goes away after a few seconds.
Under the hood stuff
I also added local storage support to persist the data.
In the future, I'll persist it in an actual database, which involves setting up authentication flows and data design. Since the app is still in its initial stages and I've got more features that I want to have, all that will come once the general basics have matured.
It's easier to change data structures before it hits the database where row security locks and all sort of other things start to come into play. I want to be sure first that this current data design is going to scale.
Where to from here?
There's a checklist of things and features brainstormed on my desk. Over time, I want to be able to use Mushroom Cow as my go-to productivity get things done app.
Why is it called Mushroom Cow?
It made sense at the time when I bought the domain name. Well, what really happened is that the domains I wanted at the time were taken. I looked around the room, mushed two words together - and ta-da! Mushroom Cow was born.
There is a bit more to this thought process but that stuff sits in the realms of marketing and branding - and for another time.
For now, I have a to-do app made in a weekend and it works.