English | Español
LifeQuest is an Obsidian plugin that turns daily execution into a local RPG-style progression system. It combines quests, XP, streaks, weekly reviews, embeddable widgets, and optional add-ons for economy and health tracking.
LifeQuest started as a personal plugin built around my own workflow. I am sharing it because I believe it can also be useful to others. If you spot ways to improve it, feel free to open an issue, suggest changes, or request features so we can keep refining it over time. If you want to explore more of my productivity-related projects, you can find them on my YouTube channel: youtube.com/c/sniferl4bs.
What the plugin does
Core system
- Hero profile with name, motto, avatar, accent color, and class.
- Custom life areas with color coding.
- Quest system with
daily, weekly, monthly, and free frequencies.
- Difficulty, XP reward, penalty, reminders, and per-quest notes.
- XP progression with configurable XP-per-level.
- Streak tracking with multipliers and activity log.
- Weekly review view with stats, trends, insights, and reflection prompts.
- Dashboard view with hero summary, today summary, weekly chart, life areas, activity log, and quick actions.
Daily note integration
- Generates a quest block inside the daily note using the configured date format.
- Supports a configurable block template with
{title}, {content}, and {date} placeholders.
- Can group quests by life area inside the generated block.
- Can insert only pending quests when regenerating the daily block.
- Parses markdown checkboxes and syncs completion state back into LifeQuest.
- Applies penalties for missed quests from the previous day.
- Supports an optional daily motivational message above the generated block.
LifeQuest registers a markdown code block processor for lifequest blocks, so you can embed live widgets in any note.
Supported widget elements:
profile
xp-bar
level
streak
multiplier
quests-today
area-progress
weekly-chart
coins
weight
health-progress
bmi
blood-pressure / bp
Example:
show: profile, xp-bar, streak, quests-today
theme: card
title: Estado de hoy
Add-on system
LifeQuest separates optional functionality into add-ons exposed in Settings → LifeQuest → Add-ons.
Shop add-on
- Enables the Hero Shop view.
- Lets the user redeem rewards using coins.
- Includes configurable coin rewards for level-ups, badges, streak milestones, weekly reviews, perfect weeks, epic quests, and health weigh-ins.
- Can display coin balance directly in the dashboard header.
- Can restore the default reward catalog without deleting custom rewards.
Dependencies and behavior:
- The economy itself is controlled by
coinsEnabled.
- The shop UI is controlled by
shopEnabled.
- If coin rewards are disabled, shop commands are blocked even if the shop add-on is enabled.
Health add-on
- Enables the health tracking view.
- Modular internal submodules:
- Weight and BMI tracking
- Blood pressure logging
- Medications and intake log
- Includes a body-profile setup flow for the weight module.
- Can export weight history to
_LifeQuest/health/historial.csv.
- Schedules a weigh-in reminder when the profile has reminders enabled.
Dependencies and behavior:
- The add-on is controlled by
healthEnabled.
- Each submodule is toggled independently through
healthModules.
- Weight widgets and commands require the body profile to be configured first.
Commands
The plugin currently registers these commands:
LifeQuest: Open dashboard
LifeQuest: New quest
LifeQuest: Weekly review
LifeQuest: Generate today's quests in daily note
LifeQuest: Edit profile
LifeQuest: Open hero shop
LifeQuest: Health tracking
LifeQuest: Log today's weight
Stored data
LifeQuest stores its data locally inside the vault:
- Main data file:
_LifeQuest/data.json
- Health CSV export:
_LifeQuest/health/historial.csv
The plugin is local-first. The only network-related feature currently present is the optional remote source for daily motivational messages, configured explicitly by the user.
Views and UI
Custom views currently implemented:
- Dashboard
- Weekly review
- Shop
- Health tracker
Additional UI flows:
- Profile editor modal
- Quest configuration modal
- Health setup modal
- Settings panel with sidebar sections for interface, hero, progression, economy, add-ons, data, and about
Installation
Manual installation
- Build or download
main.js, manifest.json, and styles.css.
- Copy them into your vault at
.obsidian/plugins/lifequest/.
- Open Settings → Community plugins.
- Enable LifeQuest.
Development
Requirements:
Commands:
npm install
npm run dev
npm run build
npm test -- --runInBand
npm run lint
Current implementation notes
- The plugin is split across modules under
src/, with main.ts acting as lifecycle entrypoint.
- Tests currently cover the engine and daily message parsing/selection logic.
- The
weekly-chart widget supports period: week, period: month, and period: all.
License
MIT