NOTEDASHBOARD
glarobats

Obsidian-vehicle-maintenance-dashboard

Obsidian vehicle maintenance dashboard

πŸš— Obsidian Vehicle Dashboard

A self-updating vehicle cost & maintenance dashboard for Obsidian, built entirely on plain markdown notes, the Dataview plugin, and a CSS snippet β€” no external services, no spreadsheets, no manual math.

Log a fill-up or a repair as a normal note with a few frontmatter fields, and the dashboard automatically calculates everything else.

Obsidian Dataview License


✨ What it tracks

MetricHow
πŸ›£οΈ Current odometerHighest odometer reading across all logged notes
β›½ Average consumption (L/100km)Fill-to-fill method β€” averaged across every valid full-tank-to-full-tank segment, not a naive totalΓ·total
πŸ’Ά Fuel cost this monthSum of fuel spend in the current calendar month
πŸ’Ά Fuel cost / 100kmSame fill-to-fill segments, cost instead of liters
πŸ”§ Total maintenance cost & cost/kmOil changes, inspections, tyres, tyre rotations, battery, repairs
πŸ›’οΈ Next oil changeFrom the last logged oil change's due date/odometer
πŸ“‹ Next inspectionSame, for roadworthiness inspections
πŸ”„ Next tyre rotationDefaults to 10,000 km from tyre fitting date until you log an actual rotation
πŸ›ž Tyre ageFrom the last logged tyre fitting (or a fallback baseline field)
πŸ”‹ Battery ageSame, for the battery
πŸ’° Total ownership costPurchase price + all fuel + all maintenance + all other costs
🧾 Other running costsInsurance, parking, tolls, fines, car washes β€” tracked separately from mechanical maintenance
πŸ”” AlertsOverdue/due-soon warnings for oil, inspection, tyre rotation, aging tyres/battery, and a heuristic for a possibly-missed fill-up

All thresholds (alert windows, tyre/battery age limits, rotation interval) are plain constants at the top of the script β€” no need to touch the logic to retune them.


πŸ“¦ What's in this repo

β”œβ”€β”€ Dashboard.md                        # The live-calculating dashboard note
β”œβ”€β”€ Vehicle Info.md                     # One-time baseline: purchase price, tyre/battery install dates, etc.
β”œβ”€β”€ Vehicle Dashboard Entry Manual.md   # Field-by-field reference for both templates
β”œβ”€β”€ Templates/
β”‚   β”œβ”€β”€ Fuel Entry Template.md
β”‚   └── Maintenance Entry Template.md
β”œβ”€β”€ Fuel Log/                           # One note per fill-up
β”œβ”€β”€ Maintenance Log/                    # One note per service/repair/cost
└── vehicle-dashboard.css               # Optional styling (cards, colored alerts, bordered tables)

πŸš€ Setup

  1. Install the Dataview community plugin and enable JavaScript queries (Settings β†’ Community plugins β†’ Dataview β†’ Enable JavaScript Queries β€” off by default).
  2. Copy this repo's contents into your vault (any location β€” the dashboard finds notes by frontmatter type:, not by folder path).
  3. (Optional but recommended) Copy vehicle-dashboard.css into your vault's .obsidian/snippets/ folder, then enable it under Settings β†’ Appearance β†’ CSS snippets.
  4. Fill in Vehicle Info.md once with your car's details.
  5. Open Dashboard.md β€” it should render immediately using the sample data. Delete the example notes and start logging your own.

✍️ Adding entries

Copy Templates/Fuel Entry Template.md or Templates/Maintenance Entry Template.md (e.g. via Obsidian's Templater plugin, or just duplicate + rename), fill in the frontmatter, save.

Minimal fuel entry:

---
type: fuel
date: 2026-09-05
odometer_km: 128450
liters: 38.7
cost_eur: 62.30
full_tank: true
missed_previous_fillup: false
station: "EKO"
---

Minimal maintenance entry:

---
type: maintenance
date: 2026-09-05
odometer_km: 128500
category: oil_change
cost_eur: 90
next_due_date: 2027-09-05
next_due_odometer_km: 138500
notes: "5W-30 synthetic + filter"
---

Full field reference, category list, and common pitfalls are documented in Vehicle Dashboard Entry Manual.md.


⚠️ Rules that actually matter

  • Frontmatter must start on line 1 β€” no leading blank line, no wrapping it in a ```yaml code fence.
  • Dates are always YYYY-MM-DD.
  • category values are exact, lowercase, underscored words β€” see the manual for the full list.
  • Fill to full whenever practical β€” the consumption/economy math only trusts full-tank-to-full-tank stretches.

πŸ› οΈ Customizing

Everything lives in two files:

  • Dashboard.md β€” all calculation logic, in one dataviewjs code block. Category lists (MAINT_CATEGORIES / OTHER_CATEGORIES) and alert thresholds are constants near the top.
  • vehicle-dashboard.css β€” all visual styling, using Obsidian's own theme variables so it adapts to light/dark mode and whatever theme you're running.

To add a new maintenance category, add it to the appropriate array in Dashboard.md β€” it'll start appearing once you log at least one entry using it.


πŸ“„ License

MIT β€” use it, fork it, adapt it to your own vehicle (or fleet).

Related

How to Install

  1. Download the dashboard markdown file from GitHub
  2. Drop it into your vault (anywhere)
  3. Install the Homepage plugin and point it at the file
  4. Enable any listed CSS snippets for the intended look

Stats

Stars

2

Forks

0

License

MIT

Last updated 1mo ago

Categories