Skip to content

spanko-tech/spanko-tech-vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codex Vitae - spanko-tech-vault

A personal Obsidian vault built around systems I actually use daily. Pick the systems that fit your workflow - almost everything is independent, nothing requires everything else, but it clicks together very well :)

The standout piece is Oraculum - a fully embedded AI assistant powered by the Gemini API, with 60+ tools, deep research, semantic search, and a settings panel. More on that below.

All dashboard code is built with Datacore (JSX/React inside Obsidian), co-developed with GitHub Copilot. This is not a Dataview vault - Datacore replaces it entirely. An effort went into keeping the code maintainable: shared UI components, a centralized lint rule system, and a reusable utility layer mean individual dashboards stay lean and consistent rather than each reinventing the wheel.

Note: This is a sanitized public fork of my personal vault, with a completely different folder structure. I test before new versions, but issues may slip through (tags, wrong folders, etc.) - if you find one, open an issue.

Systems

System TLDR Lint
🔮 Oraculum Embedded Gemini AI assistant with 60+ tools, deep research, semantic search, and a full settings panel.
🏠 Home Vault-wide dashboard with KPIs, news feeds, weather, quotes, and a bird's eye view of everything in motion.
🧠 Cogito A knowledge base for notes, media, and MOCs - promoting ideas from Stub to Draft to Solid to Reference. ✅ Notes (age, backlinks, section quality), Media (stale backlog, progress), MOC index quality
📊 Finances Track income, expenses, and budgets with multi-currency support.
🍽️ Food Log daily meals and track calorie and macro targets (kcal, protein, carbs).
🌱 Growth Growth-oriented hub - skills tree, brag doc, reviews, ADRs, and postmortems. ✅ Brags, ADRs, Reviews, Postmortems (missing sections, incomplete entries)
✅ Habits Track daily and weekly habits with visual heatmaps and progress statistics.
🖥️ Infrastructure Keep track of servers, services, and networks. ✅ Cross-entity rules - missing links between servers, services, and networks
🐛 Issues Kanban issue tracker linked to Projects and Releases with priority and category filtering.
💼 Job Search Manage job applications through a kanban workflow with document and status tracking.
🧩 Leetcode Algorithm practice log with automated problem import and per-topic progress tracking. ✅ Missing solution, unsolved problems, incomplete notes
📽️ Presentations Manage slide decks and talks built with Advanced Slides (Reveal.js). ✅ Missing slide file, stale drafts
🚀 Projects Lifecycle management for projects from Idea through Active/Paused to Shipped/Archived. ✅ Stale active projects, missing sections, no linked issues
📦 Releases Plan and document software releases with version tracking, highlights, and changelogs. ✅ Missing highlights, empty changelog, no linked project
📚 Resources Curated reference library for tools, links, and assets with use-case notes. ✅ Missing URL, empty notes, stale entries

Some Screenshots

Home Dashboard - vault-wide overview with KPIs, finances, habits, news feeds, weather, quote of the day, and LeetCode daily challenge.

Home Dashboard

Home Dashboard - Mobile - dedicated responsive layout at <700px with tabbed news feeds, quick habit logging, and macro tracking.

Home Mobile

Mobile: The Home dashboard has a dedicated mobile layout (responsive at 700px) - news feeds, habit logging, finances, weather, and quotes all work on phone. Most other dashboards are usable on mobile too, though they're designed primarily for desktop width. You will have to horizontally scroll to see most of the lists etc.

Oraculum - chat with your vault. 60+ tools, thinking steps visible, deep research with Google Search grounding. Also looks good on phone, however I did not test it as much.

Oraculum Chat Oraculum Research Results

Research Panel - queue topics during conversation, fire them all at once. Results persist and are searchable.

Research Panel Research Results

Cogito - notes and media with lint checks, inline status promotion, and domain schema reminders.

Cogito Dashboard

Food & Finances - daily macro tracking with FatSecret import; multi-currency income/expense with ECB live rates.

Food Dashboard Finances Dashboard

Why This Exists

There are better dedicated apps for most of these things - Jira does issues better, almost any food tracking app does food tracking better, and so on. I know.

What I wanted was everything in one place, and that place happens to be Obsidian. These are the systems I actually use daily and that made sense to centralize. Some will feel like overkill for what they do, and that's fine - use what fits, skip what doesn't.

The Infrastructure system is especially purpose-made for managing my own network with my specific needs and wants.

Many systems include lint checkers that surface issues - missing sections, stale frontmatter, incomplete entries. They're annoying in the best way.

Oraculum

Oraculum is an AI assistant embedded directly in the vault as a Datacore dashboard. It uses the Gemini API and has access to 60+ tools that can read, create, and update notes across every system - no copy-pasting context into a chat window.

Why Gemini? At the time of writing, Google offers exceptionally generous free-tier rate limits on Gemma 4 (chat), text-embedding-004 (semantic search), and Gemini 2.5 Flash with Search grounding (deep research). The combination of all three being free-tier viable is what made this project worth building. That may change - but for now, it's hard to beat.

Semantic search is powered by text-embedding-004 (768-dimensional embeddings). Trigger indexing from the Oraculum settings panel - once built, it can find conceptually related notes even with zero keyword overlap. Datacore's built-in metadata indexing means the embeddings layer sits on top of already-fast vault queries.

Deep Research is the more powerful mode - it uses Gemini 2.5 Flash with Google Search grounding to research topics across the web, synthesize findings, and save structured results back into the vault. Results are stored per-topic and can be recalled in future conversations without re-running the research. This is best used by chatting with Oraculum for a while, letting it build a queue of topics and then batching that research with one call.

In theory with Datacore and Semantic Indexing the vault should scale very well knowledge wise while still being blazingly fast.

Setup

Oraculum needs a Gemini API key to work. The key is stored in browser localStorage only - never written to disk or committed.

  1. Open Systems/Oraculum/Oraculum.md
  2. Click the ⚙️ settings icon
  3. Paste your Gemini API key and save

Everything else (model, tools, integrations) is configurable from the same settings panel.

Before using Oraculum, fill in the placeholder files in Systems/Oraculum/Context/ and Systems/Oraculum/Skills/25 User Profile.md - that's where you tell it about yourself. The more you put in, the more useful it becomes.

Finances - Currency

The system defaults to CZK as the display currency. To change it, open Systems/Finances/Finances.md and update the baseCurrency frontmatter field to your currency code (e.g. EUR, USD, GBP).

Individual entries can be logged in any of three currencies (your base + EUR + USD). The "⟳ Fetch rates" button auto-updates the exchange rates from ECB via Frankfurter.

Vault Setup

⚠️ Datacore is required. This vault uses Datacore exclusively for all dashboards - not Dataview. Install it first or nothing will render.

Plugins

Required

Plugin Purpose
Datacore Powers every dashboard - JSX/React query engine for Obsidian. Nothing renders without this.
Templater Scripting layer for automated note creation - LeetCode problem scraper, FatSecret ingredient scraper.

Strongly recommended

Plugin Purpose
Editor Width Slider Status bar slider to widen notes - the dashboards are significantly more usable at full width.
Folder Notes Lets folders have their own note, which is how every system dashboard is mounted.
Filename Heading Sync Keeps H1 headings in sync with filenames - avoids notes drifting out of sync when renamed.

Optional - feature-specific

Plugin Purpose
Excalidraw Drawing integration for Cogito notes.
Advanced Slides Reveal.js presentation builder - powers the Presentations system.

Personal recommendations - not used by the vault code directly, but part of the daily setup:

Plugin Purpose
Admonition Styled callout blocks with custom types and icons.
Callout Manager Manage and customise callout styles in one place.
Custom File Explorer Sorting Control file and folder order in the sidebar beyond the default alphabetical/modified options.
Iconize Add icons to files and folders in the file explorer.
Style Settings Configure theme variables - required if using Anupucin.

Theme: Anupucin by @AnubisNekhet - a Catppuccin-based theme with extensive Style Settings support.

Templater Configuration

After installing Templater, configure two paths under Settings → Templater:

Setting Value
Template folder location Toolkit/Templates
Script files folder location Toolkit/Scripts/Templater

Also enable "Trigger Templater on new file creation" so templates fire automatically.

For the Folder Templates feature, map these folders to their templates so new files created inside them pick up the right template automatically:

Folder Template
Systems/Leetcode Toolkit/Templates/Leetcode Problem.md
Systems/Food/Recipes Toolkit/Templates/Ingredient (FatSecret).md

Integrations

Everything the vault pulls from externally - none of these are required for the core vault to work, but each one powers a specific part of the UI.

Service Used in What for Auth
Gemini API Oraculum Chat (Gemma 4), semantic search (text-embedding-004), deep research (Gemini 2.5 Flash + Search grounding) API key - free tier
Supadata Oraculum YouTube video transcript fetching API key - free tier
GitHub Oraculum Search repos, read files, browse issues Optional PAT
Stack Overflow Oraculum Search questions and answers via Stack Exchange Optional key
Google Books Oraculum Book catalog search - metadata, previews, ISBNs Optional API key
Open Library Oraculum Free book search - metadata, ISBNs, editions, borrow/scan availability Optional contact email
Wikipedia REST API Home, Oraculum "On This Day" events widget; article search and summarisation tools None
Jina Reader Oraculum, Web scraping Fallback renderer for JS-heavy/SPA pages that return sparse content on direct fetch None
Frankfurter Finances Live exchange rates from ECB data None
Open-Meteo Home Current weather + 3-day forecast None
ZenQuotes Home Quote of the Day None
Hacker News (Firebase API) Home Tech news feed - top/new/best stories None
Dev.to API Home Dev articles by tag None
Lobsters Home Tech link aggregator - hottest or by tag None
RSS feeds Home Tech News panel (The New Stack, Ars Technica, DevClass, InfoQ by default - configurable) None
LeetCode GraphQL API Home, Leetcode Daily challenge widget + problem metadata scraper None
FatSecret Food Food/ingredient nutritional data scraper None

Fun fact: Obsidian can handle obsidian:// URI scheme redirects - which means OAuth flows work. We can catch this in Datacore and thus any API that requires OAuth to access private user data (Spotify, Notion, Google Calendar, etc.) is technically integrable. The public vault only uses API keys and public endpoints today, but I started experimenting with some deeper integrations.

System Ideas

If you have an idea for a system that would fit well here, feel free to open an issue on GitHub. No promises, but I do look at them - and if it's something I'd actually use, it'll probably end up here eventually.

Releases

No releases published

Packages

 
 
 

Contributors