A Positive Daily Practice: Writing Idea Lists
Writing idea lists is one of my favorite things to do. The premise is simple: come up with a topic and write nine ideas on that topic. The only rule is that ideas should be at least one full sentence.
This is also a wonderful activity to do with friends. Either with a focused approach that leads to some useful outcome (“nine ideas for weekend trips we could together take this summer”) or in a more open manner that just slows you down and allows you to connect beyond small chat (“nine ideas for what I would have done with a gap year”).
(I’ve previously written in more detail about the benefits of writing idea lists here.)[https://josephm.dev/blog/20230415/]
I would like writing idea lists to be a daily habit. When I do this practice with another person, I feel that we see each other more fully. Doing this practice by myself, I experience the joy of coming up with new ideas. I get to practice abundant thinking and feel the excitement of an idea emerging from a totally blank mind.
Still, I don’t actually write idea lists every day. There are two main barriers: coming up with a topic can sometimes be difficult and I can much more eaily get sucked into passive information/news consumption.
I developed nineideas.net to address these two obstacles so that I would actually develop writing idea lists as a positive daily habit. I think the site does a fine job of addressing the first issue - users can develop their own topics, but by default the main page of the site displays a random topic for the user to start with. If this topic is not interesting, they can just click a button and get a new one. I’m not quite sure that I’ve even scratched the surface on adequately addressing the second issue.
Developing something that actually addresses compulsive online behavior and replaces the habit of passive information/news consumption is a much bigger challenge.
Version 1.0: simple frontend-only single page app
The first iteration of the site was a frontend-only single page application that simply provided a topic and gave users an interface to add nine ideas. There was no need to create an account — all user information was stored in local storage. The user account page simply displayed past lists along with the current streak, record streak, and total list count. There was a button to clear local storage. Nothing else. The whole thing was served over github pages.
I loved the simplicity of the app, but I couldn’t figure out how to make it more compelling as a daily practice. Wordle also displays the current streak, record streak, and total counts, but copying these aspects alone does not make the site actually feel like a game. The genius with Wordle is the limitation on only getting one game per day and the way in which each round requires what feels like exactly the right amount of effort for the game to be rewarding. It is possibly more difficult to lose at Wordle than it is to complete the game, but the app has the minimal gamification really dialed in. This is something I have not yet been able to figure out by myself with the frontend-only version of nineideas.
Version 2.0: social network
In order to make the site more compelling as a daily draw, I thought I should experiment with adapting some of the same elements that are ubiquitous in the more addictive feed-driven, social network sites.
I kept the minimal design but added followers, likes, comments, user profiles, and a public feed of idea lists. Users could now read browse through the idea list feed until an interesting topic came up. They could read that list, like it, add a comment, and then click to borrow that same topic and write their own list. They could follow that user so that the are more likely to see their lists in the public idea list going forward.
Throughout this development phase, one choice seemed to lead right into the next. First there is a liking feature, then comments, then liking on those comments, and so on.
But eventually, I felt that I had gone too far and lost touch with the core practice of generating ideas. I had built a site that over-emphasized the feed and low-effort actions such as liking and commenting that it no longer functioned as an antidote to passive information consumption.
If the whole point is to replace mindless and compulsive habits with a constructive daily practice, I would need to make a site that actually draws users to come back on a daily basis but doesn’t do this with tactics that are at the expense of the core idea.
Version 3.0: micro-blogging site
I pulled out commenting and following. The feed is simplified to just be chronological. Now the site is currently somewhere between a micro-blogging site and a very pared down social network. Users can still create a profile, borrow topic ideas from other users, and post lists with the hope that they will get likes from other users.
In order to prevent the site from being littered with unreadable content like “aljkfsjh sdkfjhsjh fsdjkhf,” I implemented a very minimal content moderation feature. After any logged in or logged out user completes a list, the whole list object is sent to the OpenAI chat completions endpoint with a very basic prompt that asks for a simple true/false return value on whether the list contains any unreadable content. For the time-being, I am not using the content moderation endpoint provided by OpenAI or any other provider. I am just checking for readable content. I was surprised to see that this whole process usually take between 0.5 and 0.7 seconds. It is super quick and ensures that the site is not littered with junk content.
The current version of the site respects the user and keeps the focus on generating ideas. But I still don’t think I’ve figured out how to make the site meaningfully compel users to take up idea generation as a daily practice—especially on the level that it could be a viable habit replacement tool.
I’m still excited to keep working on this problem, but I would like to explore some different approaches.
I would love to work with a designer to reconsider the UI and UX. See if the current micro-blogging format is functionally okay but just not quite dialed in enough. Please reach out if this is something you would like to collaborate on!
There are lots of ways to keep playing with this concept. At this point, I’d like to get a few users for the site and use their feedback to inform next steps for future development. Check out out nineideas.net and give it a try for a few days. Feel free to reach out to me at any time if you have any feedback or suggestions!