FitKit

by Paul Chiu
5
4
3
2
1
Score: 51/100

Description

The FitKit plugin tracks workouts in normal Markdown notes using Dataview inline fields for sets, reps, weight and duration. It opens a form based editor for logging during a session, supports a rest timer, autosaves changes and keeps the saved note readable if the plugin is removed. New workouts can be created from a command, exercise notes can be created on first use, and each card can store a next session plan with increase, keep or decrease options and an optional weight step. It also generates a dashboard with recent sessions, personal bests, next session plans and per exercise progression charts. The exercise registry can rename or consolidate exercise names across workout history, and Dataview is required for history tables and recent session views.

Reviews

No reviews yet.

Stats

1
stars
308
downloads
0
forks
3
days
1
days
3
days
167
total PRs
3
open PRs
19
closed PRs
145
merged PRs
0
total issues
0
open issues
0
closed issues
213
commits

RequirementsExperimental

  • Dataview plugin

Latest Version

4 days ago

Changelog

Changed

  • FitKit now reads only the files inside its configured Fitness folders instead of listing every file in the vault.

Fixed

  • Setting the fitness root to the vault root no longer leaves the workout index, exercise notes, dashboard metrics, and autocomplete suggestions silently empty; the folder scan now matches a root-anchored Workouts or Exercises folder correctly.

README file from

Github

FitKit

FitKit is a workout tracker for Obsidian. Your sets, reps, weight, and durations are stored as plain Markdown in your vault, edited through a form built for use during workouts, with a rolled-up dashboard and per-exercise progression charts when you need it.

Every workout is a normal note with Dataview inline fields. If you uninstall FitKit tomorrow, your training history is still plain text in your vault. You choose where to store the notes and how you use your data.

The workout editor is optimised to be low-touch so you can expend workout effort on reps rather than data entry. Tap to add a set, type the weight, that's it. Once you have a few workouts logged, the dashboard and the per-exercise charts auto-populate.

Install

FitKit needs the Dataview plugin to render history tables and recent-session views. Install it first from Obsidian's community plugins.

FitKit is listed in Obsidian's community plugin directory. To install it from the community plugins browser:

  1. Open Settings, then Community plugins, then Browse.
  2. Search for FitKit.
  3. Select Install, then Enable.

For beta builds with BRAT or a manual install from a GitHub release, see Install.

Log your first workout

The defaults are designed so you can log a workout the moment FitKit is enabled. No setup is required.

Workout editor with a strength card, a duration card, and the rest timer

  1. Run Open today's workout from the command palette. FitKit creates today's note under Fitness/Workouts/ and opens it in the editor.
  2. Add an exercise. Type the name, for example Squat. If it is new, FitKit asks whether to create an exercise note for it; say yes for anything you want to chart and revisit later.
  3. Log your sets: weight and reps for a strength exercise, or a duration for a time-based one. Tap the rest timer between sets if you want it.
  4. Before you move on, open the card menu and set a plan for next session: increase, keep, or decrease, with an optional weight step. It shows up as a badge on the card, and prefills the weight the next time that exercise comes around.

That is it. The editor autosaves as you go, and the underlying Markdown stays readable:

---
type: workout
date: 2026-05-12
name: Squat Day
---

## [[Squat]]

- [exercise:: [[Squat]]] [set:: 1] [weight:: 50] [reps:: 5]
- [exercise:: [[Squat]]] [set:: 2] [weight:: 55] [reps:: 5]

After a few sessions

Run Rebuild dashboard from FitKit's settings to generate Fitness/Fitness Dashboard.md. It lists your recent sessions, a personal best per exercise, and any next-session plans you recorded, followed by a per-exercise section backed by a Dataview query.

Generated dashboard with recent workouts, PBs, and next session plans

Exercise notes pick up a progression chart and a Recent sessions table without you wiring anything up. They are ordinary notes with type: exercise frontmatter, so the Notes section is yours to write in.

Maintaining your exercise list

Names drift. You log 'Pushup' one week and 'Push Up' the next, or an exercise ends up living only in workout history with no note behind it. The registry in FitKit's settings lists every exercise the plugin knows about, labelled by where it came from, and is where you fix that.

Registry table showing note-backed, registry-only, and history-only exercises

Renaming from here renames the exercise note, rewrites every reference across your workout notes, and keeps the old name as an alias so nothing stops resolving. You see a preview of every file and row that will change, and can cancel before anything is written. Renaming onto a name already in use consolidates the two.

Documentation

Page What it covers
Workout editor Cards, sets, durations, the rest timer, next-session plans, autosave.
Exercise registry Where exercises come from, rebuilding, renaming, consolidating, kinds and units.
Dashboard and charts What the dashboard generates, how a PB is chosen, fitkit-chart options.
Note format Frontmatter, inline fields, and exactly what survives a save.
Settings and maintenance Every setting, every maintenance action, and the two commands.
Install Installing with BRAT for beta builds, and installing manually from a release.

Limitations

  • Conflict resolution is manual. FitKit detects mid-edit file changes and asks you to reload before further edits.
  • Splitting one exercise into two is not implemented. Consolidating two into one is.
  • Repeat-last-workout is not implemented.
  • Inline fields FitKit does not recognise, such as [rpe:: 7], are dropped the next time the editor saves that note. Everything else in a workout note is preserved, see Note format.
  • A per-exercise weight unit (kg or lbs) only changes labels. There is no numeric conversion.
  • SQL/WASM analytics and a custom fenced source format are not implemented.

Development

See CONTRIBUTING.md for how to propose changes and what a good PR looks like.

Run npm install to install dependencies.

Run npm run dev to start esbuild in watch mode. It produces main.js next to manifest.json at the repo root.

To point a dev vault at the build, symlink main.js, manifest.json, and styles.css from the repo root into <vault>/.obsidian/plugins/fitkit/. Reload Obsidian, or toggle the plugin off and on, to pick up new builds.

The local gate is npm test, npm run lint, and npm run format. Run all three before pushing.

On merge to main, the Release workflow stamps a version using the PR's label (major, minor, patch, or norelease) and publishes a GitHub release with main.js, manifest.json, and styles.css attached.

See AGENTS.md for project conventions.

License

MIT.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Heatmap Calendar
4 years ago by Richard Slettevoll
An Obsidian plugin for displaying data in a calendar similar to the github activity calendar
Release Timeline
4 years ago by cakechaser
Table to CSV Exporter
4 years ago by Stefan Wolfrum
An Obsidian Plugin that allows to export tables from a pane in reading mode to CSV files.
Habit Tracker
4 years ago by David Moeller
A Plugin to display a Habit Tracker in Obsidian.
Simple Note Review
4 years ago by dartungar
Simple, customizable plugin for easy note review, resurfacing & repetition in Obsidian.md.
Better Inline Fields
4 years ago by David Sarman
Obsidian plugin to enhance Dataview style inline fields
Vega Visualizations
4 years ago by Justin Kim
Create Vega and Vega-Lite visualizations in https://obsidian.md/.
Double Colon Conceal
4 years ago by Michal Srch
Obsidian plugin to display double colon (i.e. Dataview inline fields) as a single colon for more natural reading experience.
Habit Calendar
4 years ago by Hedonihilist
Monthly Habit Calendar for DataviewJS. This plugin helps you render a calendar inside DataviewJS code block, showing your habit status within a month.
Meld Build
3 years ago by meld-cp
Write and execute (sandboxed) JavaScript to render templates, query DataView and create dynamic notes.
HackerOne
3 years ago by neolex
A plugin to get our hackerone reports data into obsidian
Financial Doc
3 years ago by Studio Webux
Financial Documentation and Tracking using CSV format and Chart.js directly in Obsidian
Bulk Exporter
3 years ago by symunona
Bulk export Markdown filtered, renamed and sorted by front matter metadata into a new structure.
Link Tree
3 years ago by Joshua Tazman Reinier
A sidebar foldable list of Obsidian link hierarchies.
Size History
3 years ago by Piotr Borowski
Graph with vault size over time
moviegrabber
3 years ago by Leon Holtmeier
obsidian.md plugin to grab data from public movie Databases and make them into a note that can be used with dataview querries
Run
3 years ago by Hananoshika Yomaru
Generate markdown from dataview query and javascript.
Feeds
3 years ago by LukeMT, pashashocky, madx
Magic feeds dataview query for obsidian
Reason
3 years ago by Joshua Pham
Digest your Obsidian notes
View Count
3 years ago by Trey Wallis
Add view count tracking to your Obsidian vault
TinyChart
2 years ago by Alin Coop
Dead simple ASCII charts for Obsidian.
Dataview Serializer
2 years ago by Sébastien Dubois
Obsidian plugin that gives you the power of Dataview, but generates Markdown, making it compatible with Obsidian Publish, and making the links appear on the Graph.
Dataview Publisher
2 years ago by UD
Output markdown from your Dataview queries and keep them up to date. You can also be able to publish them.
Pug Templates
2 years ago by Nicholas Wilcox
An Obsidian plugin that enables the usage of Pug templates.
Charts
6 years ago by phibr0
Charts - Obsidian Plugin | Create editable, interactive and animated Charts in Obsidian via Chart.js
Dataview
6 years ago by Michael Brenan
A data index and query language over Markdown files, for https://obsidian.md/.
Charts View
5 years ago by caronchen
Data visualization solution in Obsidian, support plots and graphs.
MetaEdit
5 years ago by Christian B. B. Houmann
MetaEdit for Obsidian
Plotly
5 years ago by Dmitriy Shulha
Obsidian plugin to embed Plotly charts into markdown notes.
Strava Sync
2 years ago by Howard Wilson
Sync Strava activities to your Obsidian vault
MOC Link Helper
2 years ago by Bogdan Codreanu
This obsidian plugins allows you to quickly see which notes you need to include in your MOC.
Workout Tracker
2 years ago by wanabeunique
Obsidian plugin for track workouts
Dataview Autocompletion
2 years ago by Daniel Bauer
Every Day Calendar
2 years ago by QuBe
Obsidian plugin to create calendars inspired by Simone Giertz's Every Day Calendar
SQLSeal Charts
2 years ago by hypersphere
Charting extension for SQLSeal Obsidian Plugin. Visualise your data!
Tier List
2 years ago by Mox Alehin
Obsidian plugin for visual ranking and organizing content into customizable Tier Lists.
SQLite DB
a year ago by Stefano Frigerio
Daily Note Metrics
a year ago by Andre-Diamond
Obsidian Plugin that parses Daily Notes and uses data to create charts
CSV All-in-One
a year ago by hihangeol
Kanban Status Updater
a year ago by Ankit Kapur
Obsidian plugin that automatically updates the note property when card is moved to a column.
DataCards
a year ago by Sophokles187
Obsidian Plugin that transforms dataview tables into visually appealing and customizable card layouts.
Virtual Footer
a year ago by Signynt
Display markdown text (including dataview queries or Bases) at the bottom, top or in the sidebar for all notes which match a specified rule, without modifying them (sort of like a dynamic template).
Slash snippets
a year ago by echo-saurav
Insert snippet of text with slash command
Move Cursor On Startup
a year ago by Jared Kelnhofer
Obsidian plugin to move the cursor to the right and back to the left when starting up. Why? To keep DataView expressions from not running on the first load of, say, your Home file.
Tasks Map
a year ago by NicoKNL
A graph view of your tasks.
Workout Planner
7 months ago by Rares Spatariu
TikToker
6 months ago by ameyxd
A Tiktok parser and saver for Obsidian
Bases Charts
4 months ago by Moritz Jung
Breadcrumbs
3 months ago by skepticmystic
Add typed-links to your Obsidian notes
Gantt Calendar
2 months ago by Sugar
obsidian-gantt-calendar
Notion Bases
2 months ago by bgarciamoura
Turn any folder into a Notion-style database — 7 views, 17 column types, formulas, relations, rollups, and subtasks. All stored in plain Markdown frontmatter.
Note Toolbar
2 months ago by chrisgurney
Flexible, context-aware toolbars for your notes in Obsidian.
Sheet Plus
2 months ago by ljcoder
obsidian spreadsheets solutions
Habitify
a month ago by justrelaxdc
Smart Chat
a month ago by 🌴 Brian
Gym Vault
8 days ago by Ruan