PARA + Zettelkasten Vault Template: Powerful Organization, Task Tracking, and Focus Tools All in One!

Hello Everybody, I wanted to give back to the Obsidian community by sharing this vault template that I’ve been working on for almost a month now.

Github Link: here

Vault Structure

This vault fuses PARA and Zettelkasten frameworks for a dynamic, scalable knowledge system.

  • HUB: Central command with a homepage, map, and inbox for seamless navigation and task tracking.

  • PARA: Action-focused—Projects for deadlines, Areas for ongoing pursuits, Resources for all reference materials, and Archive for completed work.

  • ZETA: Idea-centric—Permanent Notes for lasting insights, Literature for research, and Fleeting Notes for quick ideas.

  • DAILY: Organized reflections on a daily, weekly, or monthly basis.

  • STICKY: Temporary notes for brainstorming.

  • SYSTEM: Core vault setup, housing media, templates, and configurations.

Built for growth, this structure adapts as your knowledge and projects evolve!

Vault Features

  • Homepage - Enhanced homepage that allows quick navigation across the vault.

  • Map of Content - Easily search notes with the help of Datacore.

  • Mail Box - View completed and existing “Page Task” with the help of Datacore.

  • Page Task - Mark note files as a task (this is different from the task inside a note).

  • Floating Action Button - A FAB to assist you so you can focus more on taking down notes.

  • Connections and Quick Navigation - Access anything anywhere.

  • Focus Mode - Focus mode macro command and pomodoro integration

  • QuickAdd - Templates and Macro commands available

  • Hotkeys - Convenient hotkey binding for common functionality.

Additional Notes

  • Highly detailed vault documentation can be found inside the vault.

  • two .zip files are available, one contains a populated vault and the other one is an empty vault ready for use.

  • Concept Inspiration and Reference can be found inside the vault.

Feedback and Requests

I appreciate any feedback you have! If you have requests, feel free to open an issue on GitHub or reach out to me directly on Discord (@dusk2681)

Screenshots




11 Likes

I had a look, mostly for what you got out of Datacore and how.
I was so impressed I hardly looked around thoroughly enough before coming back here to say thank you.

Mentioned your post here as well.

2 Likes

Deserves an award :medal_military:

2 Likes

I’m glad you liked it! I’d be happy to answer any questions you have. Also, the ‘Page Task’ along with Datacore is pretty cool—you can even expand it to run different commands based on properties. The script that changes the icon when you press Ctrl + Space can be found in the Homepage and under SYSTEM > TEMPLATE > CODE.

1 Like

I’ll probably start tinkering with it tomorrow (today) and ask you about stuff.
For now, just one thing: any major updates on your vault/GitHub repo, especially technical, use this thread to let people know.

Thanks!

I have one, if you’ll allow me.

When using Group By in Datacore, any idea why these phantom files titled Unnamed come up?

Sorry for the late reply, this is a nice catch. The issue was with how data was being rendered.

This should fix it:
Map of Content.md (35.6 KB)

I’ll update the repo with this change when I finish some other small hotfix/improvements I am working on

Working on the following:

  • light version of the vault (only include plugins used for the core functionalities)
  • mobile display compatibility
  • better documentation
1 Like

That fixed it!
Appreciate your effort.

On my hobby laptop, I tested your vault for performance. First with 15k files, then your own leaner vault.
I hesitated about being a busy-body about this, but thought I’d mention it anyway, mainly because I’m not a software engineer or web developer and I don’t know the answers.

If in your vault I remove the excluded files (actually, folders) in Files&Links and run a search for path: SYSTEM/TEMPLATE/FORMAT /dat, results are pretty slow coming in with all your CSS enabled.
Once I remove the larger CSS files from .obsidian (and there is also a CSS folder somewhere else), the 200-odd results come in instantly without any stutter of the progress bar in the Search Modal.

I’m just mentioning this because the hefty CSS files in .obsidian are obviously built upon previously made ITS and efemkay snippets and there could be something wrong with them. I suspect issues with the view.css files in the SYSTEM/TEMPLATE/CSS folder as well.

If you don’t see any issues, try adding 5-15k files and try the search.
I just tried much same search for 1586 results in my own vault with all your CSS removed and there was no sign of a lag or stutter.

Tasks also has issues with large vaults, apparently.

So far, based on tests, having Datacore on a large vault doesn’t cause problems.

thank you so much for this. I’ll work on improvements maybe over the weekend. These are very valuable observations. Any idea on where I could get realistic dummy data? I was looking to run test sets to measure performance metrics: 5k, 10k, …, 100k notes.

With this I could hopefully arrive with a solution for very large vaults using the template.

I already have something in mind with tasks and why they are slow on very large vaults but for now focus will be on getting that dummy data.

1 Like

There have been some posts here and there on the net about stress testing Obsidian itself.
There is a Python script here that could be of use:
https://www.reddit.com/r/ObsidianMD/comments/zrzqq0/testing_the_scalability_of_obsidian_with_large/

I never tried it, personally.
Then a regex replace Python script could be used to add YAML to all files, based on filename, creation time, etc.
I have also found that Datacore works with snake_case property keys well but not with camelCase…

Created an account here just to comment about how insane this vault is. really mindblowing. Playing with it today but just want to share my appreciation for the work here.

2 Likes

Hi

I’ve seen you finalized your vault and possibly do not take FR’s on your GH.

Can I ask here why in the Map of Content file one can edit the property (cell) values if the changes don’t persist and reflect on the given file’s frontmatter? (the mobile version of M of C doesn’t have this).

Are you planning to add this support?

Thanks


Compare DV implementation here - never tried it but this would be awesome with Datacore.

Sorry, that completely flew out of my head. Anyhow I built a fix for your concerns:

  1. Properties are not being updated
  2. Properties cannot be selected for mobile version

You can download the updated version of the Map of Concent and Mobile Map of Concent

Requirement:

  • Install and enable the MetaEdit community plugin.

Changes Made:

  • We created an updateNoteProperty helper function that connects to MetaEdit’s API (app.plugins.plugins[“metaedit”]) to handle the actual note updates.
  • We built an EditableCell component that manages the editing state and shows a confirmation dialog before making changes, using useState and useRef hooks to track values.
  • We modified the table rendering to use EditableCell instead of just displaying values, allowing users to click any cell (except file names) to edit properties, which then triggers the MetaEdit update process through our helper function.

Map of Content.md (39.1 KB)
Mobile Map of Content.md (40.8 KB)

Let me know if you encounter any issues, thank you

2 Likes

Tried it.
Awesome!
This will really rock Datacore users’ experience.

I wonder though:

  • Why is MetaEdit needed when processFrontMatter is available from Obsidian API?
  • The confirmation pop-up is nice but could be considered unnecessary as one can re-edit the single cell value if some type was made. When making a lot of changes, this would hinder a good workflow. On pressing Enter, the change would be registered and a notice could be flashed in the upper right-hand corner to let the user know.

I am of course asking these on behalf of the wider community.

Thanks so much anyway, this is really fantastic.

  1. I am having issues with the Obsidian API, so I just resorted to Metaedit API which was a suggestion from this article. If you manage to find a solution with Obsidian API, would love to have a look at the code.

  2. There is a small issue with the code, when you edit again the value displayed will be rendering the 1st Update value (but the note property will have the most recent update value). While it is better to just have the notif at the side, this will do as a quick fix to prevent users from making unnecessary/accidental updates. Will send here if I find a solution.

1 Like

For those of you who are curious with the startup time, here is a breakdown:

  • If you’re not using todoist, removing the plugin will bring down the time to just 2 seconds
  • Excalidraw also takes time to load on startup

Note:

  • From my tesing Lazy loading can bring things down to 1 second startup time even with all the plugins but it causes issues with the Metabind buttons that are nested from tabs

Obsidian start-up time breakdown

Obsidian version: v1.7.7
Operating system: Windows 11

Total startup time: 4,100ms**

  • Initialization: 120ms
  • Vault (206 files): 75ms
  • Workspace (13 tabs, 9 deferred): 223ms
  • Core plugins: 11ms

Community plugins (49 active): 3,671ms

  • Todoist Sync (v1.13.0): 2,116ms
  • Excalidraw (v2.5.2): 634ms
  • Charts View (v1.2.7): 141ms
  • Meta Bind (v1.2.5): 106ms
  • Highlightr (v1.2.2): 65ms
  • Projects (v1.17.4): 43ms
  • Omnisearch (v1.25.0): 40ms
  • Tabs (v1.1.7): 39ms
  • QuickAdd (v1.11.1): 35ms
  • Datacore (v0.1.19): 35ms
  • Dataview (v0.5.67): 30ms
  • Tasks (v7.12.2): 29ms
  • Pomodoro Timer (v1.2.3): 27ms
  • Hover Editor (v0.11.21): 26ms
  • Janitor (v1.0.7): 25ms
  • Admonition (v10.3.2): 24ms
  • Natural Language Dates (v0.6.2): 17ms
  • Style Settings (v1.0.9): 14ms
  • JS Engine (v0.1.17): 14ms
  • Templater (v2.9.1): 11ms
  • Checklist (v2.2.13): 11ms
  • Note Toolbar (v1.14.9): 10ms
  • MetaEdit (v1.8.2): 10ms
  • Editing Toolbar (v2.4.16): 10ms
  • Home tab (v1.2.2): 10ms
  • Status Bar Organizer (v2.1.2): 9ms
  • Journals (v1.4.3): 9ms
  • Iconic (v1.0.15): 9ms
  • Outliner (v4.8.1): 9ms
  • List Callouts (v1.2.9): 9ms
  • Recent Files (v1.7.0): 7ms
  • Minimal Theme Settings (v8.1.1): 6ms
  • Custom Frames (v2.4.7): 6ms
  • Commander (v0.5.2): 5ms
  • Trash Explorer (v1.2.3): 5ms
  • Homepage (v4.0.7): 5ms
  • Novel word count (v3.12.2): 5ms
  • Tag Wrangler (v0.6.1): 4ms
  • Custom File Explorer sorting (v2.1.14): 4ms
  • Paste image rename (v1.6.1): 4ms
  • BRAT (v1.0.3): 4ms
  • Quick Explorer (v0.2.10): 3ms
  • Hotkeys for specific files (v1.4.1): 2ms
  • Settings Search (v1.3.10): 2ms
  • Paste URL into selection (v1.7.0): 2ms
  • Force note view mode (v1.2.2): 2ms
  • Grandfather (v1.0.1): 1ms
  • Hider (v1.5.1): 1ms
  • Garble Text (v1.2.0): 1ms

That’d be robot-made code, so I’ll pass.
I may try anyway when I get the time.
Just remembered that MetaEdit has not been updated for quite some time, but pretty sure it uses Obsidian API under the hood, so no biggie. Just want to cut down on installed plugins, is all.

1 Like

I have found some plugins must be added as Instant loaded, e.g. to counter Commander custom-icons on mobile toolbar issues, etc.
Still, the majority of plugins can be loaded on startup.

I tried your vault with 15k notes (extensive links usage) on a faster laptop (Intel i5, 16GB RAM) on Windows 11, with all the CSS I considered “heavy” enabled and most if not all of the plugins that I knew to be necessary for all the functionality users will need.

I was running multiple DVJs queries, Datacore, Omnisearch queries (users with larger vaults may want to increase the searchDelay to 1000ms or more in the data.json of the Home Tab plugin with the plugin disabled for the duration of this edit), flipped stuff around and was watching the Task Manager.
I felt a lag with page scrolling and typing when the RAM consumption went up to 4-6GB. After disabling Omnisearch (and a couple of other plugins that I found substitutions for, namely, Editing Toolbar and Style Settings), the sluggish behaviour is gone. Mind you, I have several plugins (DV, DC, Obsidian Query Language, Graph Analysis, etc.) that do indexing so other people may not need to chuck Omnisearch (which I will miss mostly for the fuzzy search capabilities, otherwise I sometimes use the ripgrep function of Another Quick Switcher with regex).

BTW, Editing Toolbar has a fix in the form of a main.js, when downloaded and installed, CPU usage will go down in the main process of Obsidian.
Style Settings substitution is just pure CSS, not another plugin, of course.

In the meantime, I have also found that extensive backlinks and the enablement of the Graph core plugin slows down Backlinks results generation. Had to disable the Graph plugin. This is a known issue. For Local Graphs, users can try the Juggl plugin as a replacement.

In the end, I again had to strip off the extra functionality (bar Datacore, which I took on earlier). And even after discarding my changes, the vault was sluggish. I have an idea that either Omnisearch or quite possibly the Tasks plugin corrupts the index* and that’s why the Backlinks are super slow and over time the general UI handling starts being off.

So if I may be inclined in the future to try testing again, I’d start with these two plugins removed.

Update 1

I have gone ahead and did some more testing.
My Backlinks results super slow issue comes from either of the following Multi Columns.css files (I tried these on alternate occasions): MCL Multi Column (from the current vault, possibly from here, but in we find a variant (I didn’t diff them) of it in another Demo Vault here).
Anyone can try it for themselves. Enable either of the snippets from either of the Demo vaults. Open a note in your own old vault with many backlinks upon startup. Backlinks come in fast. Now open a note where you have callouts. Go back to the earlier note and watch the results come in in Backlinks. Slower now with the progress bar stuttering. This on a freshly installed Windows 11, with freshly indexed Obsidian 1.7.7., with no community plugins.
We see many issues at Efemkay’s GH site. One of these from a can-do person with diagnostic skills feature performance issues:

Update 2

I have finalized my existing vault with most of the functionality of the demo vault by OP.
Unfortunately, trying an earlier version of the Multi Columns snippet didn’t solve the slow-vault problem in the long run.

  • I used the Obsidian Columns plugin, which took some fiddling around; luckily, the Meta Bind buttons were outside the scope of the columns, otherwise these plugins don’t play well together.

Instead of Omnisearch (which doesn’t work well with the Lazy Plugins loader),

  • I used Another Quick Switcher plugin’s ripgrep function (users need to install it; in the settings, it is called simply grep, for some reason, though).

Luckily, the files in the CSS folder don’t cause performance issues.
I didn’t look for replacements for other Efemkay snippets.

Update 3

About the Image Toolkit plugin: it also has some issue at my end as the CPU on the main process shows 6% when enabling it. The other plugin with the same functionality – Awesome Image – doesn’t cause this problem.

Apparently, Tasks causes no problems whatsoever on large vaults anymore.

I hope this helps users of large vaults with your building blocks.
Thank you again for your great contribution!


* Built-in Obsidian ‘Rebuild Vault Cache’ wasn’t even enough; I had to wipe the whole config folder in ‘C:\Users\username\AppData\Roaming\obsidian’ and re-add my vaults, and now it’s back to normal.

2 Likes