A roll of dice

Published: 2025-12-10

Gamifying obsidian can be a really powerful way to make your notes accessible and engaging. Be it Tasks, Chores, Activities or picking some fun recipes for next weeks dinner and shopping list.

Think in line of “The Dice Man” from 1971 by Luke Rhinehart (pen name of George Cockcroft) which decided to let dice rolls decide all of his life decissions. While this might be taking things into the extremes i think there is a valuable lesson in introducing some randomness.

While I love many of Obsidian core features like Bases feature for managing my notes and metadata, I still find it to be a bit overwhelming when trying to shift trough your notes looking for inspiration that you want to take action on. While the spreadsheet like grid is easy to maintain, the rigid structure also removes some of the flexibility and wonder of the actual use case for taking the notes in the first place.

What should optimally be a tool to help you remember your good ideas can quickly turn into feeling like a chore of a reading excercise and distracting you from your intial goal to find something and shifts the focus to maintenance of notes instead of the small but important choices that result in action.

Lets introduce Obsidian to the roll of the dice, but in a more controlled manner to help your mind break down ocean of choices, into smaller, more manageable parts.

The only prerequisite for this is the community plugin Dataview with dataviewjs enabled in its settings. I will share the code snippets at the end of the post, and the great thing about this is that it works just as well on mobile as on desktop. Ithas full customisability, only the imagination is your limit.

But first lets take a quick look at some possible use cases I have found for my personal use.

My top two use cases would be Recipe planning for dinners and finding possible activities for the weekend/weekdays to make sure life feels engaging and fun.

[!Code Snippet]- Recipe Roulette Contents

print("This is a code block inside a callout.")
def example_function():
    return "Hello from the function!"

[!Code Snippet]- Activity Roulette

print("This is a code block inside a callout.")
def example_function():
    return "Hello from the function!"