Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

D.O.M.S

SirHobbySirHobby290 downloads

doms is an opinionated, mobile-first workout tracker, logger and reference. Pick a routine, log a session in one tap, and keep the data as plain markdown.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

Delayed Onset Muscle Soreness. An opinionated, mobile-first workout tracker for Obsidian.

Most workout apps optimise for logging detail. This one optimises for showing up. No weights, no reps, no PRs, no exercise names in the log. Just sets per muscle group, and whether you completed your week.

Your training history is plain markdown in your own vault. If this plugin disappears tomorrow, your data is still readable, queryable, and yours.


What it does

Week: your routine as a set of slots. Tap one, count your sets as you go, log it. One tap logs the whole session as planned if you did exactly that. Trained something the session doesn't list? Tap + to add any body part (abs after push day, grip work, whatever it was) and it logs like the rest.

Counting is saved as you go. Put your phone away between sets, switch to another note, come back tomorrow. The workout is still there, marked In progress on its card, with Continue and Discard. Nothing reaches your log until you commit it, so undo stays a single deleted file.

Forgot yesterday? Every logging screen carries a date, so you can put the session on the day it actually happened. Log a custom workout at the bottom of the Week tab covers anything your routine didn't ask for: a missed session, an extra one, or something that fits no template at all. Pick the body parts you trained and log it; change the date in the header if it wasn't today. Backdating reaches 30 days, and a backdated session counts fully toward that week's totals, completion and streak.

Stats: sessions, current and best week streak, total sets, a month-by-month activity calendar, and this week's sets for each body part against what your routine asks of it, as a bar you can watch move.

Ideas: a browsable exercise library across 20 categories, with technique videos. Grouped and collapsed by default, so it opens as a short list rather than a wall of tabs.

Rehab: physio-style strengthening for the small stabilising muscles that heavy lifts under-train. Rotator cuff, shoulder blades, hips, adductors, knees, shins, ankles, feet, wrists and more.


Choose your routine

Routine Week Sets
Three days a week (default) Upper · Lower · Full body ~49
Upper / lower, five days Upper ×2 · Lower ×2 · Cardio ~64
Push / pull / legs, seven days Push ×2 · Pull ×2 · Legs ×2 · Cardio ~132
Powerlifting, seven days Bench ×2 · Pull ×2 · Squat · Deadlift · Cardio ~86
Custom Nothing prescribed, you set the number your call

On Custom there are no preset workouts. Build each session from the body parts you actually trained, and set your own bar for the week in settings. Any workout you log counts toward it, whatever it was, and, as on every other routine, extra sessions are a bonus that never raises the bar.

Weekly volume targets are derived from whichever routine you pick, never hardcoded, so a perfectly executed week never reads as a failure. Push / pull / legs is sized so every tracked body part lands on twelve sets a week: six gym days should deliver more than three.

Body parts that carry a target are the ones a routine is built around. Abs and rehab work don't: they're logged and counted the same way, and show up in your stats as sets done, but no bar ever tells you that you owe rotator cuff work.

Each session records the routine you were following at the time, so switching later leaves your past weeks judged by what you actually did.


Main lift tracking

Powerlifting is push, pull and legs with the three competition lifts written into it. Each lift gets a heavy day and a lighter second one across the week: bench on both push days, the squat heavy on one leg day and moderate on the other, the deadlift heavy on one and RDLs or speed pulls on the other.

It is the only routine that goes beyond sets. Squat, bench press and deadlift each log the weight on the bar for every set, in the order you did them. Still no reps, because sets are what this app counts. Just the one extra number a main lift needs.

Those sets count toward your muscle volume exactly like any other set, so targets and the calendar keep working without a second system to reconcile. The weights get their own read-out on the Stats tab: a chart of your top set over time, and four numbers under it: your PR, how far it is from your goal, your average weight per set, and total sets logged.

Settings → Plan picks pounds or kilograms and holds a goal per lift. Every session note stamps the unit it was written in, so changing the unit later never reinterprets a number you already logged, and a goal is optional: leave it empty and the card simply says so.

Cardio and duration

Cardio, and any "different workout", can carry how long it took: 20, 30, 45, 60 or 90 minutes, or a number of your own. It is optional everywhere: skip it and the session logs exactly as it always did.

Duration feeds the same intensity reading sets do: a day is scored by whichever is heavier, its set count or its time on the clock, so a two hour hike no longer paints the same faint square on the month calendar as a ten minute walk.

Changing routine

Each session records the routine you were following at the time, so switching later leaves past weeks judged by what you actually did. Switching mid-week offers to hold off until the next one starts, so a week you are partway through does not suddenly read as unstarted.

Your data

One markdown note per session, in a folder you choose:

---
doms: session
date: 2026-07-30
week: 2026-W31
template: lower
plan: three-day
slot: required
sets:
  quads: 5
  hamstrings: 4
  glutes: 4
  calves: 3
total_sets: 16
---

Felt strong. Knee twinge on the last set of extensions.

Flat frontmatter, so Dataview and Bases can query your training history without the plugin. Your notes below the frontmatter are never touched.


Widgets

Three blocks you can embed in any note. They are in-note widgets, not home screen widgets. Obsidian's mobile apps ship a fixed set of OS widgets and there is no API for a plugin to add to it. For a home screen tap, see One tap from your home screen below.

Each has an "Insert …" command, so you do not have to type the fence by hand: open the command palette in a note and search for D.O.M.S: Insert.

Activity: days trained this month.

```doms-activity
view: calendar
```

view: dots for a compact version, summary: false to hide the count.

Quote of the day: one line, the same all day, no repaint flicker.

```doms-quote
category: stoicism
```

Categories: lifting, combat, anime, games, philosophy. Omit for any.

Quick log: a big button straight to the logging screen.

```doms-log
session: upper
```

Unrecognised options fall back to the default rather than breaking your note.

One tap from your home screen

The plugin registers a URL scheme, so an Apple Shortcut or Android shortcut can jump straight to logging:

obsidian://doms?action=log&session=upper

There's also a Quick log a session command, which you can add to the Obsidian mobile toolbar to reach it from anywhere in the app.

Honest limitation: the shortcut still cold-launches Obsidian. It gets you one tap from your home screen to the logging screen. It can't log in the background. No plugin can.


Appearance

D.O.M.S inherits your theme by default. There's an accent picker with six presets if you want it, plus block-letter titles you can switch off or resize.

Everything is scoped to the plugin, so a preset can never leak into the rest of your vault. To style it yourself, target:

.doms-view { --doms-accent: #yourcolour; }

For a celebration with your own images, point Settings → Celebration at a vault folder of png, jpg or gif files.


Installing

From Obsidian: Settings → Community plugins → Browse → search "D.O.M.S".

Manually: download main.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/doms/, then enable it in Settings → Community plugins.

Works on desktop and mobile. No internet connection required.


Getting started

  1. Open D.O.M.S from the ribbon icon or the command palette
  2. Pick your routine in Settings → Plan (three days a week is the default)
  3. Tap a slot on the Week tab and log your first session
  4. On Ideas or Rehab, tap Add starter content to seed the exercise library into your vault. It's markdown you own and can edit

Notes on the exercise library

The Ideas and Rehab content is seeded into your vault as markdown notes you own. Add your own entries, delete ones you don't want, or rewrite them entirely. The plugin reads them and never overwrites your edits.

Videos link out to their creators on YouTube. Nothing is embedded or reproduced; every link is attributed on the card.

The Rehab tab is general information, not a substitute for a clinician's guidance. If something is getting worse, get it looked at.


Licence

MIT

HealthExcellent
ReviewSatisfactory
About
Track mobile-first workouts with minimal logging: count sets per muscle group, mark week completion, and record each session as plain Markdown in your vault. View stats (sessions, streaks, total sets, month activity calendar, 12-week muscle coverage), browse exercise and rehab libraries with technique videos, and embed activity widgets in any note.
DataCalendarVisualization
Details
Current version
0.4.0
Last updated
2 weeks ago
Created
2 months ago
Updates
6 releases
Downloads
290
Compatible with
Obsidian 1.7.2+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
SirHobbySirHobbysirhobby
GitHubsirhobby
  1. Community
  2. Plugins
  3. Data
  4. D.O.M.S

Related plugins

Tracker

Track occurrences and numbers in your notes.

Prisma Calendar

Prisma turns any note with a date into a flexible planning system inside Obsidian. There are no rigid schemas or predefined structures — just your data, your rules, fully under your control.

Yearly Glance

Year at a glance - overview of annual events with customizable management options.

Heatmap Tracker

Visualize your activity and track goals, progress, habits, tasks, exercise, finances, and more—all in a single, interactive heatmap!

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.