DayStream app icon

DayStream

A fast, native daily-notes stream for your existing markdown vault.
Logseq-compatible, plain files, no lock-in.

Download for macOS

Build status Latest release Platform

One endless stream

All your daily notes in a single scroll, newest first. Click a calendar day to jump anywhere.

Plain markdown

Notes are ordinary .md files in journals/. Works alongside Logseq or any editor.

Outliner tasks

TODO / DOING / DONE markers, nested bullets, cross-note task syncing, and one-click carry-forward.

Task timing

New tasks record when they were added; finished tasks show how long they took, right next to them.

Recurring & deadlines

Daily / weekly / one-off tasks seed themselves on top of the day's note. Deadlines stay pinned in the sidebar.

[[Wikilinks]] & pages

Click a link to open a rendered page with Logseq-style linked references. Date links jump to that day.

Search & shortcuts

⌘F finds across every note with the caret ready; ⌘N starts a todo for today. Plus a recordable system-wide quick-add shortcut.

Code blocks

Fenced ``` blocks render as monospaced cards and survive auto-formatting byte-for-byte.

Git backup

Commit and push the vault to its git remote in one click — or automatically, daily or weekly.

Capture from anywhere

A system-wide shortcut opens DayStream with a fresh todo in today's note, caret ready.

Native & fast

SwiftUI + AppKit on macOS 15+. No Electron, no cloud account, no database.

Screenshots

A few things are redacted — I use this app every day.

DayStream main window showing the daily-notes stream and calendar sidebar
The main window: one endless stream of daily notes, newest first, with the month calendar and pinned deadlines in the sidebar.
Search bar with results across journals and pages
⌘F search across every journal and page.
A wikilink page with its Linked References
[[Wikilink]] pages with Logseq-style Linked References.
Recurring tasks and deadlines in the sidebar
Recurring tasks seed themselves on the due day; deadlines pin in the sidebar with countdowns.
Shortcut reference and global quick-add recorder in settings
The shortcut reference and the recordable system-wide quick-add shortcut.
General settings pane
General settings: vault location, task syncing, carry-forward, maintenance.
Git backup settings in the Advanced pane
Git backup (Settings → Advanced): one-click or scheduled vault commits pushed to your remote.

Getting started

  1. Download DayStream-macOS.zip from the releases page and unzip it.
  2. Move DayStream.app to /Applications (or ~/Applications) and open it.
  3. Pick your vault — the folder that contains a journals/ directory (a Logseq vault root works as-is).
  4. That's it. A one-page welcome introduces the features; today's note is created automatically — double-click it and start typing.
Documentation
  1. The stream & calendar
  2. Editing notes
  3. Tasks, timing & syncing
  4. Recurring tasks & deadlines
  5. Wikilinks, pages & search
  6. Quick capture from anywhere
  7. Settings & maintenance
  8. Keyboard shortcuts
  9. Vault format & Logseq compatibility
  10. Building from source
  11. FAQ

Usage guide

1. The stream & calendar

The main window is one continuous, reverse-chronological stream of your daily notes — today at the top, history below, loading more as you scroll. The sidebar calendar shows which days have notes; days with open tasks get an orange dot. Click a day to jump to it (and create it if it doesn't exist yet), or press Today to come back. The stream updates live when files change on disk, so it's safe to edit the vault from other tools at the same time.

2. Editing notes

Double-click a day (or the pencil button in its header) to edit it in place. The editor is a full outliner:

3. Tasks, timing & syncing

Tasks are Logseq-style markers — - TODO ship the paper, DOING, LATER, NOW, DONE — or Status:: property lines. Click a checkbox to toggle it.

4. Recurring tasks & deadlines

Both live in Settings → Recurring and the sidebar.

6. Quick capture from anywhere

A system-wide shortcut — ⌥T by default, recordable in Settings → Shortcuts — opens (or brings forward) DayStream from any app and starts a new todo in today's note with the caret ready, exactly like ⌘N inside the app. DayStream keeps a single window with no tabs; opening it again just brings the existing one forward.

7. Settings & maintenance

Filename migration renames 2026_08_18.md / 18-08-2026.md style journals to the canonical 2026-08-18.md. Every original is copied to backup/ first, and conflicting duplicates are skipped, never overwritten.

Keyboard shortcuts

ShortcutWhereAction
⌘NAnywhereNew todo today — appends - TODO to today's note and opens the editor with the caret ready
⌘FAnywhereOpen search with the cursor in the search bar
SearchClose the search panel
⌥TSystem-wideOpen DayStream and start a new todo in today's note with the caret ready (configurable in Settings → Shortcuts)
⌘SEditorSave, auto-format and close
EditorSave, auto-format and close (dismisses autocomplete first)
⌘⏎EditorToggle TODO / DONE on the current line
⌘KEditorLink selection (clipboard URL → link, else [[wikilink]])
⌘B / ⌘IEditorBold / italic
Tab / ⇧TabEditorIndent / outdent (or accept autocomplete)
/ EditorNavigate page-name suggestions while typing [[
⌘,AnywhereOpen settings

Vault format & Logseq compatibility

DayStream expects a folder containing journals/ (a Logseq vault root works unchanged), or the journals/ folder itself. It creates pages/, assets/ and backup/ alongside as needed.

vault/
├── journals/          one markdown file per day
│   ├── 2026-08-17.md
│   └── 2026-08-18.md
├── pages/             [[wikilink]] targets
├── assets/            dropped images
└── backup/            safety copies from migration

Journal filenames: yyyy-MM-dd.md is canonical for new files; yyyy_MM_dd.md and dd-MM-yyyy.md are read transparently (and can be migrated in one click). Everything else — markers, properties (Key:: value), indentation, code fences — is plain Logseq markdown, so you can round-trip a vault between the two apps freely. The only DayStream-specific conventions are the optional added:: / completed:: timestamp properties, which Logseq simply shows as properties.

A sample note

- TODO Ship the parser fix
	added:: 2026-08-19 09:12
	- [[Parser Notes]] has the failing cases
- DONE Reply to Alice about the review
	added:: 2026-08-19 08:40
	completed:: 2026-08-19 10:02

- [[Gym]] log — 45 min, easy pace

- Snippet from yesterday's debugging:
	```sh
	git log --oneline -5
	```

The TODO/DONE markers render with checkboxes; the added::/completed:: pair powers the duration badge (1h 22m) next to the finished task; [[Parser Notes]] opens a page with every mention across the vault; the code fence renders as a monospaced card; and the blank lines between the different blocks are exactly what auto-format keeps when the editor closes.

Building from source

git clone https://github.com/SubhadityaMukherjee/DayStream.git
cd DayStream
./scripts/build_and_install            # Debug build → ~/Applications → launch
./scripts/build_and_install release    # Release build
./scripts/build_and_install test       # Build + run unit tests

Requires Xcode 16+ (macOS 15 SDK); the script installs XcodeGen via Homebrew on first run. The checked-in .xcodeproj is generated from project.yml.

FAQ

Will it touch my existing vault?Only when you edit. All writes are atomic; destructive operations (migration, cleanup) back up first or refuse to touch non-empty files. External edits are picked up live via file watching.
Can I use it together with Logseq?Yes — same file layout and syntax. A vault can round-trip between both apps. The filename migration is optional and always backs up to backup/ first.
Where do settings live?App settings live in macOS defaults (plist), never in the vault. Deadlines are stored in defaults and mirrored to a human-editable deadlines.md in the vault root, so they travel with it.
What happens at midnight?A rollover timer creates the new day's note and seeds recurring tasks and deadlines due that day.
Is there an iOS / iPadOS app?Not yet — macOS 15+ only for now.

Branching & releases