Doomscroll your own notes.
I used to be an engineering manager on Instagram Reels. Now I am using the same
feed format to scroll through my own notes.
No ranking algorithm, no cloud service, no celebrities. Just notes, web
snippets, book quotes, and other things already sitting in my Obsidian vault.
Why
My problem was simple: I write a lot, save a lot, but rarely come back to any of
it. Jotted notes, diary entries, LLM Wiki pages - all had the same problem. The
content was great. I just didn't feel like going back to it.
My vault became write-only.
Social apps are very good at resurfacing content. Personal knowledge management
tools are not. Doomscroll borrows the science behind the social feed and applies
it to your vault, so you are motivated to engage with your notes.
Same scroll. Your content.
Features
- Shuffled card feed, not another list sorted by modification date
- Manual reshuffle when the current batch is not doing it for you
- Optional infinite scrolling that loads more notes as you reach the end
- At most 20% of each batch is reserved for notes seen in the last seven days,
unless there are not enough unseen notes
- 30-minute cooldown before a note can appear again
- Back button for the batch you should not have reshuffled
- Filters for folders, tags, and filename patterns
- Cover images from frontmatter, Markdown, or HTML
- Standalone vault attachments, including images that are not linked from a note
- Markdown previews with an optional Simplified view
- Lazy image loading
- Works on desktop and mobile
- Scroll position survives switching panes
Installation
Clone this repository into your vault's .obsidian/plugins/ directory:
git clone https://github.com/yaroshevych/doomscroll .obsidian/plugins/doomscroll
Navigate to the plugin directory and install dependencies:
cd .obsidian/plugins/doomscroll
npm install
Build the plugin:
npm run build
Enable the plugin in Obsidian settings under Community plugins.
Settings
- Batch size (5 to 50): How many cards to show per reshuffle (default: 20)
- Infinite scrolling: Load more notes automatically as you reach the end;
when enabled, batch size is fixed for incremental loading
- Include media-only notes: Show Markdown notes containing only images or
other attachments (default: on)
- Show non-Markdown files: Show standalone vault files such as images,
PDFs, and other attachments (default: on)
- Simplified view: Show concise previews with readable tables, links, and
code; turn off for full Markdown formatting (default: on)
- Preview size: Show a small, medium, or large text preview (default:
medium)
- Exclude folders: Folder paths to skip (one per line)
- Exclude tags: Tag names to skip without # (one per line)
- Exclude filename patterns: Patterns to skip (one per line, e.g.,
_* for drafts)
- Search query: Filter notes with Obsidian-style search syntax, such as
tag:#work or [status:Draft]
- Frontmatter image properties: Property names to check for images (default:
cover, image, banner)
- Frontmatter properties before preview: Property names to render before the note body (one per line)
- Frontmatter properties after preview: Property names to render after the note body (one per line)
Usage
- Click the gallery icon in the ribbon or use the "Open feed" command
- Click any card to open the note in a new pane
- Click the refresh icon when you want a new random batch
- Click the back arrow to return to the previous batch
- Adjust settings to tune which notes appear
Development
npm run dev # Watch mode for development
npm run build # Production build
License
MIT