yodo

Created: Aug 29, 2021Published: Dec 05, 2022Last modified: Apr 24, 2023
Word count: 1321Backlinks: 4

Yodo is a todo app that suggests what to work on next.

'Yo, do X' or 'Yo, do Y'.

I've been through a few versions, but all feature an emacs org-mode integration and a clojure implementation.

Some of the biggest learnings are that a web app is not enough. It needs to be integrated. Fortunately, that's what ~ clawe ~ is all about.

yodo-old roam file

old workspace file

> yodo-old

>> Inbox processing - todo/prompt/idea capture, journal review

>>> capture targets

>>>> todo
>>>> prompt
>>>> habit-completion
>>>> idea
>>>> roam note
>>>> character
>>>> story

>> Todo management - prioritization, focus

>> Habit tracking

>> software architecture

>>> use case: automagic todos from journals

>>> use case: automagic todos from commits

>>> use case: one-off/opt-in todos from repos

>>> use case: automagic journal.org -> db updates

>>> use case: journal review writes back tag to journals.org

>>> use case: automagic todos from today.org, projects.org, inbox.org, write.org

>> todo metadata

estimates, timeboxes

priority

claps, up/down votes

>> homepage with sorted, mixed items and 'next-action' for each

sorting of todos, prompts, journals, ideas, commits should be able to mix and bubble up across all these all are 'todos', in a way - next action for each?

>> focus stack, todo 'plans' ("new plan!")

a daily focus/todo/prompt stack supports diving down rabbit holes and resurfacing smoothly add to stack, execute, add to stack, execute, finish + pop, finish + pop, finish.

>>> plans group todos into time buckets

i.e. drop the last plan, start a new one

probably only one active at a time

can pull todos from old plans into new ones

>> stability plan

>>> malli models (in the right places)

defstream/handler interfaces? db encode/decoding?

>>> test coverage (in the right places)

>>>> defhandlers
>>>> use-blahs for maintaining the proper state
>>>> mocking use-blahs for frontend tests?

>> keyboard navigation

>>> open/go-to widget

>>> toggle focus

>>> traverse item lists, item rows, item actions, item metadata

>> things to track (review time? all the time?)

>>> motivations and de-motivations

>>> moods, pains

>>> joys

>>> wins

>>> lessons, learnings

>>> hammock topics, questions

>>> things expressed

>>> things learned

>>> progress on projects

>>> journal topics

>>> weekly repos by commit count

build weekly stats/tags/topics view

>> Dailies

>>> morning pages

>>> pixel art

>>> artist's date

>>> writing (free write, from memory)

forget all your projects, use your voice

>>> hammock pomodoro

>> as review tool

>>> spaced repetition for screenshots, commits, photos

>> as suggestor

>>> pull prompts, todos, reads, code-reviews

>> calendar view

>>> all db events

>>> journals, pomos, screenshots, commits, lichess

>> component figmas

>>> modal, list, actions API

>>> software architecture

> All kinds of yodo thoughts

All kinds of yodo thoughts Need to start thinking about building up todos without org Handling recurring todos and pomodoros Handle once-per-day pomos Support create-pomodoro from anywhere One click from backlog Support attaching locales to pomos Couch desk chair ottoman fire escape kitchen table floor etc Balance the day Does today already have a morning pages Pomo?

> Thoughts abound re: yodo

Thoughts abound re: yodo

Want to use it to collect features finished at the eod - should be simple but help build a list review eow, eom, eoq

That'll help see what's getting done and help with personal satisfaction and validation As well as finding patterns and identifying whether or not i'm focused on the right thing/the things i want to focus on What's normal velocity? What's the expected progress?

Also worth noting - a portal feature in tetris that lets you move pieces to the other person's board, or maybe even among your own

> Iron out the daily tasks for each process

Iron out the daily tasks for each process Blog talks to do per day? Storyboard prep? Storyboard output processing? Game feature choices? Some things get solved at morning pages time Others at daily goal time Others at inbox process time

Blogs feel more obvious because i already have material to work with

Let's get story boards to that point

And label the daily more efficiently

> break out into ideas/todos

project-based workflow tool

  • polybar settings
  • emacs buffers and projects
  • docs pages to have pre-loaded and searchable
  • tmux session with windows/panes for logging, test runners, etc
  • key bindings to focus each one and do a sub-task of any of these

>>> git for this project (focused and centered single-pane git window)

>>> todo for this project (focused and centered single-pane org emacs)

>>> tasks/workflows for this project

>>> scratchpad per workspace

  • cycle all
  • cycle per workspace
  • cycle globals (non per-workspace)

>>> like momentum, ask what the focus is when an emacs/term window opens

`tt` for your os

pre-set workflows/spaces, just takes a named config

> move to roam project note

>>> philosophy

Yodo is a few things:

  • Project management
  • Planning
  • Capture/Inbox processing
  • Retro/Review automation tools
  • A window into a few org files

Long vision: Ultimately I hope to reach a better work-life balance with it. By giving it enough information to make calendars and suggestions for how I should spend a day or a few hours based on current life priorities and recent progress. I.e. if I have two days left and a few weekly goals, it should show existing prirorities and try to distribute time into un-addressed health categories, like writing or running if I've been in code mode all week. That's a long-vision for it that I've had for a few years.

Shorter vision:

  • Small, mvp features where features don't exist at all
  • Build up useful systems on the backend for reading and writing to a few key org files.

Much of the project management work builds on top of projects.org.

Features:

  • `Projects` via projects.org For now, a list of Projects. Could be expanded to show and Epics, Todos per epic.
  • `Journal` based on journal.org Hopefully this can incorporate new sources:
  • commits from repos
  • pictures from google photos
  • released blog posts
  • misc social media
  • misc finished todo items and epics
  • Drafts target dir
  • Writing dir
  • `Status/Repos` via repos.org A list of repos on my machine that I want to track local and remote progress on. Formerly thought of as `hub-status`.

Unsolved design decisions:

  • How to incoporate storyboards and stories into this? Post-its and pictures?

>>> yodo users

yodo has some big, distinct users

  • one is a journaling, note-taking maniac
  • one is working on a sprint and need meta-task support
  • one is reviewing and processing work from the other two
  • one could be down a rabbit-hole and needs some generic focus support (me right now)

>>> more philosophy, opinions, musings

  • effort and estimation are a GOOD thing
  • feels like i'll want the frontend to just have all the data all the time right now it's broken up into fetches by page but it should probably just tell the backend to send the data down just gimme watchu got

>>> sprint-planning assignment considerations

thinking about collecting pomos or locales environments when estimating effort it's like tags where do i want to work on this? what's the chair? what workspace? what tools do i need? what's the expected output? what's the review question?

>>> request for commits

Allows users to write commit messages before the sprint

Then fill in the code changes thereof


Backlinks

A reddit-style up/down voting on items, to bump them into discrete layers.

Probably a bit of a lazy priority queue.

Implemented with 6 numbers/levels in yodo.

Now with org's a/b/c/none style in clawe focus.

A video overview of the components that make up the clawe monorepo.

Relevant April 2023.

I'll post a link here once it exists! For now, if you're reading this, I could stream this any day, so take a look at my schedule or ping me to see when it's going to happen.

Yodo is a todo app that suggests what to work on next.

'Yo, do X' or 'Yo, do Y'.

I've been through a few versions, but all feature an emacs org-mode integration and a clojure implementation.

Some of the biggest learnings are that a web app is not enough. It needs to be integrated. Fortunately, that's what ~ clawe ~ is all about.