Own less, Live more, Decide better.
Ownly is a local-first decision ledger for people who want to buy less impulsively, understand what they actually use, and turn past purchases into better future decisions.
- Obsidian-native: your Vault is the source of truth.
- Markdown-first: every object, snapshot, and review is a plain
.mdfile. - Decision-focused: track the full lifecycle from desire to review, not just the amount spent.
- Private by default: no cloud account, no telemetry, no personal-data network calls.
Ownly 1.0.0 is a stable public Obsidian plugin release. The Obsidian plugin is the primary supported experience; the Web runtime is kept for local browser use, development, and shared-core validation.
| Area | Status |
|---|---|
| Obsidian plugin | Stable, primary runtime |
| Web runtime | Compatible local runtime |
| Data format | Plain Markdown + YAML frontmatter |
| Storage model | Local Vault / local folder |
| Network model | No personal-data network calls |
Most tracking tools focus on how much you spend. Ownly focuses on whether you should.
It's not a budgeting app. It's not a wishlist. It's a structured system for making and reviewing consumption decisions:
- Seed a desire → Observe it over time → Decide to buy or pass → Use → Review after retirement
- Every object has a lifecycle. Every experience gets a review. The data informs your next decision.
- Desires are worth observing before they become purchases.
- Objects only become meaningful when you can see their use, cost, and exit story.
- Reviews turn old consumption into training data for your next decision.
Your data lives as plain Markdown in your Obsidian Vault. You can edit, version-control, or move files freely. Ownly reads and writes frontmatter — it never locks, encrypts, or deletes your data.
- Install — Open Obsidian → Settings → Community plugins → Browse → search "Ownly" → Install & Enable.
- Open — Click the Ownly icon in the left ribbon or run
Open Ownly workspacefrom the command palette. - Explore — Demo data is auto-seeded on first connect. You'll see sample objects, snapshots, and reviews ready to explore.
Track three types of objects with full lifecycle management:
| Type | Lifecycle |
|---|---|
| Physical items | Seeded → Observing → Purchased → Using → Idle → Transferred / Discarded |
| Subscriptions | Active → Paused → Cancelled |
| Experiences | Planned → In Progress → Completed → Reviewed |
- Net worth snapshots — Record asset and liability balances over time with trend charts.
- Cost analysis — Daily cost, monthly fixed cost, annual subscription cost, and acquisition cost breakdowns.
- Payment account aggregation — See fixed cost pressure by payment account.
- Write exit records for physical items and experience reviews.
- Score food, scenery, and experience on a 1-10 scale.
- Rank and compare experiences across categories.
- World map with visited countries and cities.
- Travel timeline and statistics.
- Travel-specific experience reviews.
- Doctor diagnostics — Local data quality checks: duplicate IDs, schema validation, negative costs, missing references.
- Archive & restore — Soft-delete with full recovery. Your Markdown data is never lost.
- Bilingual UI — English and Chinese, with auto-detection.
- Quick entry — Templates for physical items, subscriptions, and experiences. Paste-line parsing for fast input.
- Dashboard — Net worth trends, action center, priority queue, status distribution.
Install directly from the Obsidian Community Plugins directory:
Ownly can also run in a browser and connect to a local folder through the File System Access API. This is useful for trying the shared interface outside Obsidian, local development, and static deployment experiments.
The Obsidian plugin remains the primary runtime. Web support is compatible with the shared Markdown model, but browser file access depends on the user's browser and permissions.
# Clone and install
git clone https://github.com/liuh886/ownly.git
cd ownly
npm ci
# Development server at localhost:3000
npm run dev
# Or build and serve static export
npm run build
npx pm2 start ecosystem.config.cjs # serves out/ on port 3000All data is stored as Markdown files in your Vault under the Ownly/ directory:
Ownly/
Objects/ # Physical items, subscriptions, experiences
Accounts/ # Financial accounts
Snapshots/ # Net worth snapshots
Reviews/ # Exit records, experience reviews
Archive/ # Soft-deleted items (recoverable)
Each entity is a standalone .md file with YAML frontmatter. You can edit, version-control, or move these files freely.
Ownly makes zero network calls. All data stays in your Vault. No telemetry, no analytics, no tracking, no license verification.
| Feature | Free | Pro |
|---|---|---|
| Object tracking | ✅ Up to 200 | ✅ Unlimited |
| Net worth snapshots | ✅ Up to 30 | ✅ Unlimited |
| Reviews | ✅ Up to 100 | ✅ Unlimited |
| Travel insights & world map | ❌ | ✅ |
| Doctor diagnostics | ✅ | ✅ |
| Archive & restore | ✅ | ✅ |
| Markdown data export | ✅ Always | ✅ Always |
Note: The current version (1.0.0) uses a sponsorship model. Pro features can be unlocked with the free activation code shown in the app; supporting via Ko-fi or Gumroad is optional and helps fund development.
Ownly does not perform paid license verification or make network calls for activation. Free users always retain full access to their Markdown data — Ownly never locks, encrypts, deletes, or blocks export because of license state.
Does Ownly work on mobile?
The Obsidian plugin is marked as desktop-only (isDesktopOnly: true) because it has not been tested on mobile. It may work, but mobile support is not guaranteed.
What happens to my data if I uninstall Ownly? Nothing. Your data is plain Markdown files in your Vault. Uninstalling the plugin does not delete your files. You can read, edit, and move them with any text editor.
Can I use Ownly without Obsidian? Yes. The Web runtime runs in supported desktop browsers and connects to a local folder. See the Web Runtime installation section.
- The Obsidian plugin is desktop-only.
- Browser folder access depends on File System Access API support.
- The Web runtime focuses on local compatibility and shared-core validation; Obsidian is the primary supported experience.
- Account snapshots work in Web, but full standalone account entity management is more complete in the Obsidian repository adapter.
If Ownly has been useful to you, consider supporting the project:
npm run validate # Full gate: tsc + lint + web build + obsidian validation
npm run validate:obsidian # Obsidian plugin only
npm run smoke:install # One-time setup for Python Playwright browser smoke tests
npm run smoke:web # Starts Next locally and smoke-tests the Web runtimenpm run wyqd -- --vault /path/to/vault object listSee AGENT_CLI_GUIDE.md for full documentation.
A repeatable demo fixture is at samples/wyqd-vault/. Use it for QA and testing.
esbuild ships native binaries. If cross-platform builds fail:
npm run deps:reset
npm run package:obsidianOwnly follows Semantic Versioning. See CHANGELOG.md for release history.
MIT. See LICENSE.
See PRIVACY.md. All data stays local. No telemetry. No cloud sync.
