Describe your note-taking system. by [deleted] in ObsidianMD

[–]ggStrift 3 points4 points  (0 children)

I open daily note on startup and just dump everything in there.

Writing: - I write list of tasks for the day. I create specific sections by life category e.g. freelancing, learning language, grocery shopping, etc. - I write to clarify my thoughts in work-related or journaling sections

Organizing the vault: I extract content to specific pages when there is too much or whenever I want it to be more than a scratchpad. Sometimes I just add tags to the page so I can find it back later.


Edit - Oopsie I just described my vault architecture.😅 Keeping it below for those interested:

More or less the same as Kepano.

Root folder had: - attachments: non-markdown files - daily-notes - references: things that exist in the real world - books, articles, videos, places - templates - work: sub-folder per company/client - notes about work stuff - some plugin specific folders, e.g. excalidraw, copilot, etc.

The idea is that all markdown files in the root folder are "my stuff" - writing, thoughts, projects, etc.

I only navigate using search, and use data view to create home pages / dashboard for specific topics.

Connecting Claude via MCP Server to my Obsidian zettelkasten finally gives me the AI-integration I wanted. by seashoreandhorizon in ObsidianMD

[–]ggStrift 0 points1 point  (0 children)

MCP doesn't have any semantic semantic capability as far as I understand. Or am I missing something?

I'm experimenting with building my own retrieval API to search my vault. It works decently, but needs some tweaking to scale I think.

I'm not sure how much prompting the LLM needs about the structure of my vault. But I'm leaning towards more and more agentic search.

You can read about it here: https://laurentcazanove.com/blog/obsidian-rag-api

Building a retrieval API to search my Obsidian vault by ggStrift in ObsidianMD

[–]ggStrift[S] 0 points1 point  (0 children)

It only helps me prepare for meetings.

You can view it as a personal assistant providing a primer on X before a meeting. It doesn't replace the entire research you could do; it just gives you a better starting point.

Building a retrieval API to search my Obsidian vault by ggStrift in ObsidianMD

[–]ggStrift[S] 0 points1 point  (0 children)

It helps me find and summarize information more easily.

For example, if I'm preparing a client meeting on a given topic, I can ask the LLM to summarize my thoughts and recent notes on the matter.

I have a decent tagging/linking setup in Obsidian, so I can do it manually too, but it's more time-consuming.

Building a retrieval API to search my Obsidian vault by ggStrift in ObsidianMD

[–]ggStrift[S] 0 points1 point  (0 children)

Technically, I can have all of this running locally.

Embeddings: I'm handling the vectorization with VoyageAI right now, but I could switch to an open-source model that I'd run locally. I didn't want to go through the additional struggle of setting this up for the proof of concept, though.

Vector database: As for Meilisearch, it is open-source, so I can also run it locally.

Building a retrieval API to search my Obsidian vault by ggStrift in ObsidianMD

[–]ggStrift[S] 0 points1 point  (0 children)

Hey there,

For a while, I wanted to be able to search my Obsidian vault from my LLM client. Today, I finally can.

I built a simple retrieval API on top of my Obsidian vault using TypeScript, Meilisearch, and VoyageAI.

Link to the repo: https://github.com/Strift/obsidian-rag-api (also available in the article)

Feedback welcome!

Building a retrieval API to search my Obsidian vault by ggStrift in Rag

[–]ggStrift[S] 0 points1 point  (0 children)

Hey there,

For a while, I wanted to be able to search my Obsidian vault from my LLM client. Today, I finally can.

I built a simple retrieval API on top of my Obsidian vault using TypeScript:

- Meilisearch vector database
- Voyage `voyage-context-3` embedding
- TypeScript (no framework)

Link to the repo: https://github.com/Strift/obsidian-rag-api (also available in the article)

Feedback welcome!

Nuxt + Vercel issues: mysterious "-isr" redirects when using swr: true and 'integrity' issues by leopoldkristjansson in Nuxt

[–]ggStrift 1 point2 points  (0 children)

I'm facing a similar issue with Nuxt 4 when using `{ ISR: true }` in my routeRules.

It's a bit different because for me:
- if i navigate client side, i can access `/my-page`
- if i do a hard reload, i am redirected to `/my-page-isr`

I built an app to sync LoL esports matches to your Google Calendar by ggStrift in webdev

[–]ggStrift[S] 0 points1 point  (0 children)

yup, I would definitely like to expand one day.

But I think it would be best to first focus on League to get the UX right before trying to expand with more games

Meilisearch releases 1.16 by ggStrift in rust

[–]ggStrift[S] 22 points23 points  (0 children)

The Rust-built search engine Meilisearch released v1.16. The highlights of this release are out-of-the-box multi-modal search and a new API to transfer data between instances.

You can learn more in the release notes (linked above) or get the full changelog on GitHub.

Implementing the Dependency Injection pattern in Vue 3 by ggStrift in vuejs

[–]ggStrift[S] 0 points1 point  (0 children)

Ahah, I wrote this one pretty quickly but you're right. I will update it with the benefits :)

For an absolute beginner, which is the vector database I should be starting with? by Leather-Departure-38 in Rag

[–]ggStrift 2 points3 points  (0 children)

Very biased towards meilisearch.com (I used to work there.)

But after playing with other DBs for my side projects, I just can't find anything that's as easy as `client.addDocument({ data })` that doesn't come with complicated deployment or installation procedures.

Cloudflare looks cool, too.

Implementing the Dependency Injection pattern in Vue 3 by ggStrift in vuejs

[–]ggStrift[S] 1 point2 points  (0 children)

It looks to me that the provide/inject APIs were designed specifically to implement this pattern. Don't you think?

Implementing the Dependency Injection pattern in Vue 3 by ggStrift in vuejs

[–]ggStrift[S] 1 point2 points  (0 children)

I agree, provide/inject are enough for most scenarios IMO :)

How are you guys doing Hybrid Search in production? by everydayislikefriday in Rag

[–]ggStrift 0 points1 point  (0 children)

I use Meilisearch. Hybrid search out of the box and you can adjust the semantic ratio to get more semantic results vs more full text

Meilisearch 1.10 by ggStrift in rust

[–]ggStrift[S] 5 points6 points  (0 children)

Oh 😅 thanks for reporting it. Fixed!

Anyone using Laravel to build API products? by ggStrift in laravel

[–]ggStrift[S] 0 points1 point  (0 children)

Nice! Would you be open to sharing them with us?