doValues
doValues is a todo list web app with a very simple premise: identify your values and then add action items under each value.
This comes from curiosity about what it would look like to live less from a project-based mindset and more from a values-based mindset. I’m not saying it is necessarily more practical or productive. But I figured I’d build out the site and give it a try for a few weeks to see if this would have any impact on my outlook.
I’ve built the site so that it initializes with three “starter” values: connection, health, and creativity. These can be deleted easily and replaced with values chosen by the user. These starter values suggest that three might be the optimal number of “active” values. You can add as many as you’d like, but my experience so far is that three values is the sweet spot. I can hold that many in my head with no problem and easily think of one or two todo items to add under each value each day.
By clicking “add value,” the user is prompted with a drop down menu where they can select a new value from a list of about fifty. For this section, I used a “createable select” drop down input box from the React select library. This is an elegant solution for a drop down list with so many items. Users can type into the the input box to narrow down the suggestions to words with matching letters or create their own value if it is not already in the list. On select and on create both trigger the same action and the selected or created value is instantly added to the users list. Pretty snappy.
Nested under each value are two boxes: describe value and add do. Each value only has one description. This is optional. A user can still add items to the to do list without describing the value, butt the invitation to describe the value will just stay there. You can’t swipe it away.
The describe value box was not initially there, but Kalia suggested it and I think it is a good stretch. It is one thing to pluck value words off of a list. Taking the time to actually put into your own words what it means to live out that value… this seems just inconvenient enough to be useful. No limitation on word count and the box will grow if your value description gets wordy. The default starter value suggests brevity. For connection: “spend quality time with loved ones. talk about what matters.”
Then under the value description, users can add as many todo items as they would like. I felt a little cute and decided to phrase this as “add do” instead of “add todo.”
And that’s pretty much it. I like the simplicity of the site. It’s a basic component-based front-end site that has some potential utility without touching a database or storing any user data. This could all be done with vanilla javascript, but since this is clearly just a simple site made up of reused components and simple state management, it does make sense to utilize React and doing so helped keep the code organized.
I’ve got mixed feelings about building out the backend. A simple area for improvement would be to add two simple functions: 1. Keep a running count of which values are selected and 2. maintain a list of which value words are created by users. The list of words could be improved over time by adding user suggestions or trimming down the list to just the more common words. It could also be of some interest to know what values people are actually selecting. For the time-being, however, there is no database on the back end and all user data and interaction is totally private, just stored in local storage on a user’s device browser. This could be built out at basically no cost, but I like the front-end only nature of the site for now. Ultimately, supposedly optimizing the value selection aspect with these two functions would have minimal impact on the overall app: the real purpose is to drive users to think about how they can some up with or nest their “do” items for the day under one of their values.
But does this really have any impact on living from a more values-based mindset? Give it a try and let me know what you think!