You are browsing as a guest. Sign up (or log in) to start making projects!

8h 45m 30s logged

Hi

This project begins with a bit of a backstory which in hindsight is a bit long.

Basically, its a simple web app to create and host custom semantic search MCP server.

The Origin

So a while back, nearing my final exams, I had a big problem. I was struggling to understand all the material for my IB HL History class (imagine AP but even harder). For reference, me and 4 other guys were taking notes for the entire year (yes, its a 2 semester course, technically 3 but that was last year) just for this class and produced a 253 page google doc filled with notes

My solution?

In response to this was first and formost to ask AI for help. However, using claude for this much text would use up all of my tokens. This is when I came up with MCP servers. It allows AI to google search into my notes by semantic meaning. For example, ‘Dutch-African’ would yield the same results as ‘Afrikaans’ and ‘Europeans accidentally bringing disease via cattle and wiping out the Aztec empire’ would be the same as ‘The Columbian Exchange’ (both of these are sadly true).

Now I though I was a saviour by making this and after a while shared it with the entire class. I even got my history teacher’s approval.

Two Weeks Later…

Exams are done. I checked my backend to see who had used it (its secured via OAuth so I don’t get DDos’d, and so I can see who signed up to use it).To my devistation, only 5/36 people used it. Now I was furious cuz I spent so much time setting everything up. However, since we were all graduating this year, I figured out the ultimate revenge would be to share it globally and have them reminded of this missed opportunity everytime someone mentions it.

Anyways…

Now its time for the nitty-gritty details.

My main focal point was that given such a big number of people, only a small portion will actually be able to do ‘hacker’ terminal command to run it. Instead I wanted to market specifically for non-technical people, which is why I chose to make a web app.

Additionally, since I am running an performance-critical app, I can’t use electron. I don’t want to use tauri cuz I don’t want to learn rust.

After a lot of research I found Wails, the golang alternative to electron. I had never written golang code but apparently its one of the easist high performance languages

In this devlog, I have been working a lot on the frontend, especially including interactivity and animations based on unity hub’s design.

The current artecture:

  • Wails + Vite-Vue –> (GUI) Graphical User Interface
  • Golang –> backend
  • LanceDB go SDK –> indexing data

The UX is simple. Either:

  1. download an embedding model for your hardware –> select a directory with whatever notes –> click index –> copy-paste a prompt into claude (or whatever desktop AI app)

  2. download an entire pre-indexed dataset for a pre-determined model (automatically downloads in the background)

I have split this project into 4 pages:

  • Home –> idk like general stats
  • Models –> where you can download/import embedding models for indexing
  • Projects –> where you can see your projects in more detail
  • Prebuilts –> you can download pre-indexed datasets.
1
13

Comments 0

No comments yet. Be the first!