NHacker Next
- new
- past
- show
- ask
- show
- jobs
- submit
login
▲Show HN: Tolaria – Open-source macOS app to manage Markdown knowledge bases (self.__VINEXT_RSC_CHUNKS__=self.__VINEXT_RSC_CHUNKS__||[];self.__VINEXT_RSC_CHUNKS__.push("2:I[\"aadde9aaef29\",[],\"default\",1]\n3:I[\"6e873226e03b\",[],\"Children\",1]\n5:I[\"bc2946a341c8\",[],\"LayoutSegmentProvider\",1]\n6:I[\"6e873226e03b\",[],\"Slot\",1]\n7:I[\"3506b3d116f7\",[],\"ErrorBoundary\",1]\n8:I[\"a9bbde40cf2d\",[],\"default\",1]\n9:I[\"3506b3d116f7\",[],\"NotFoundBoundary\",1]\na:\"$Sreact.suspense\"\n:HL[\"/assets/index-BLEkI_5r.css\",\"style\"]\n")rget="_blank">github.com)
Rendered at 12:19:24 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
I'm building Sig <https://github.com/adamjramirez/sig-releases> and the architecture overlap is obvious: macOS, plain markdown, git-versioned, designed as context for AI agents.
The difference is where in the workflow we start. Tolaria seems to excel at organizing knowledge that already exists. Sig is trying to solve what happens before that - how to get the knowledge out of your head and into files in the first place. Most of what actually determines the quality of your AI output was never written down: the decision made in the last five minutes of a meeting, the verbal commitment with no follow-up, your actual read on what a conversation meant (not the surface version).
Sig's capture is two layers: 1) factual record first, 2) your personal interpretation on top. Both stored as markdown on your machine. When you're ready to share to a team knowledge base/open brain, it's an explicit decision to do so and opt-in — private by default, team-readable only when you choose.
I'll definitely give this a spin.
The "magic" starts when Sig contributes to another, remote repo - a central knowledge base that all teammates' local Sig can pull from, and contribute toward.
Feedback:
* This is so good you should find a way to keep it open source but also profit from it so you can develop it full-time. You could just have an official app version - I would pay for that.
* Feature creep. I am a big fan of Bear App for it's wonderful simple design, although I stopped using it because it doesn't work on markdown files directly. What I've seen is that equivalent apps/services (including Obsidian, Notion, Craft) are continuously adding new features. You've already got all the core features I think - try to avoid feature creep, and keep it focused on just doing the core things really well, like Bear App does.
thank you for the great feedback mate
At the same time Craft is too focused to replace Google Docs with swipes. Feels weird.
So have to use Notion from phone and VSCode with Claude code on computer. I miss normal implementation of Claude code on my phone :( I really wish to have always computer and access to it maybe. Official Claude code iOS app works weird.
I'm a heavy Bear user, recently migrating most stuff to Drafts. My problems with Bear is that it's getting slow and I don't have easy direct access to my text data. But it does have apps for all devices and drag&drop images are really useful for lab/electronics work…
And just today I also vibed a wish list (based on all the material I gathered) for such systems: https://zby.github.io/commonplace/notes/designing-agent-memo...
I wish we could collaborate.
there is a dark side to this. my coworker is insistent that his variant of this is going to become the teams backbone and i can't get him to stop even when i showed him a page of beyond wrong answers. he straight up doesn't understand that having a knowledge base != claude now sees all of it at once and can consider the endless breadth and shades of gray that make up human decisions. he's 100% convinced that claude grepping through the files is foolproof and won't miss any details lol
i personally just stopped messing with grand knowledge base ideas and these techs. i think everyone's shooting a lil too high and can't fully define what exactly they're after.
so i stepped back and i keep claude there for a very black and white need. claude's there to speed up stuff in domains i know well so i can guardrail him with massive success and have him code pieces im simply too lazy to code myself or alley oop something im struggling with. in a tortoise and the hare parable kind of way im the only guy here who isnt getting huge gotcha holes from AI in the solutions im delivering. all polished with the same attention to detail ive always had. i've just found these grand wiki everything ideas are just not yielding what people think they're yielding. for whatever reason i'm still the meatware layer thats a better index in the end if ive done my homework. perhaps something is lost when we cede a huge chunk of our journeys to seek information. i've still yet to be impressed by any "claude tied all these things together and found this insight this is insane" moments, every single time ive pointed out that any of that could've been a report.
By the way - here is the prompt for these reviews: https://github.com/zby/commonplace/blob/main/kb/agent-memory...
The wishlist doc you linked is good, would be up for collaborating on that.
Maybe you can use the instructions from my repo - which are here: https://github.com/zby/commonplace/blob/main/kb/agent-memory... and run them on your code directory? Then send me the result.
I also just keep long running notes for tracking things workouts and meals with headers for dates.
Works better than things like obsidian mobile and copy pasting is a natural filter.
>I also just keep long running notes for tracking things workouts and meals with headers for dates.
This I'd say fine on the phone but frustrating heading to the Mac and start wishing for at least a spreadsheet.
What exactly makes you wish that? I used to use google sheets for workouts but realised:
1. plain text notes are more ergonomic on the phone
2. dumping them into Claude produces more useful analysis than I could hope to extract for the same amount of effort.
It's a few moving parts to set up, but the payoff is that mobile capture and desktop organization are actually the same files rather than a paste/sync step in between.
It can be configured to append to an Obsidian “Daily Note” in an iCloud vault, which works great.
No third-party services FTW.
⁽¹⁾ https://apps.apple.com/us/app/bebop-quick-notes/id6477824795
I use it for just collecting anything I find interesting around the web.
https://github.com/momentmaker/to
I send web links of tools that I want to store of resources, voice notes to be turned into written notes, etc
but I will still build a mobile version for sure!
[1]: https://octarine.app
We kind of have used the exact philosophy in https://voiden.md/ - offline-first, file based and support for git.
This is exactly the format agents will use pretty well.
We have done this for APIs.
We are open source too. Take a look here : https://github.com/VoidenHQ/voiden
This problem has risen to the top of many people’s minds at this moment (including mine!). My Show HN for a similar cli + web based solution (https://sdocs.dev) was on the /show page a few days ago (https://news.ycombinator.com/item?id=47777633).
SDocs is cli -> instantly rendered on web
Despite being in the browser, the content of SDocs rendered Markdown files remain local to you. SDoc urls contain your markdown document's content in compressed base64 in the url fragment (the bit after the `#`):
The url fragment is never sent to the server (see https://developer.mozilla.org/en-US/docs/Web/URI/Reference/F...: "The fragment is not sent to the server when the URI is requested; it is processed by the client").The sdocs.dev webapp is purely a client side decoding and rendering engine for the content stored in the url fragment.
This also means you can share your .md files privately by sharing the url.
You can “sdoc file.md” to instantly open it.
It was discussed on Hacker News here: https://news.ycombinator.com/item?id=47777633
I downloaded and am trying it out, but I'm running into a pretty annoying sorting bug that's preventing me from using it for real. I copied over files from my Obsidian vault (preserving file times), and the first time it loaded, everything seemed to work fine. After doing the first git commit, however, Tolaria cannot seem to sort properly by last modified anymore (I'm getting notes from 2023 or 2025 up at the top). The file system tree still has the correct modified and created times.
Edit: I think I found the cause. When you initialize a git repository, the file modified times stay the same, but sorting by modified appears to sort by the commit date, which is now all the same for every file (since it was committed in one go)
* The editor doesn't seem to support code fence literals (as in I can't type ``` to get a code block)
* At very large markdown file sizes the performance is not great.
I'm building an obsidian-style markdown editor (for my own AI knowledge base product!) over at https://github.com/kenforthewin/atomic-editor
I've been working on a suite of skills and a tiny MCP (also SQLite + SQLite-vec based) where the focus is on making it easy to produce "atoms" from quick brain dumps.
The chunking problem is "bypassed" by declaring each section a chunk, and having the LLMs rewrite drafts to sections that chunk well. That means lots of redundancy, and no "As explained above".
The intended reader isn't a human, but rather agents that generate human-friendlier prose, for different target audiences. By assuming the reader is an "expert", the idea is that it's much cheaper to mass-produce reviewed "atoms".
Itching to try that workflow with Atomic or Tolaria.
But give it a try because Tauri is very fast
Every keystroke is restyled in under 8ms: no debouncing, no delayed rendering. 20 rapid keystrokes are processed in 150ms with full restyling after each one. Tag and boolean searches complete in under 20ms. Visible-range rendering is 25x faster than full-document styling. 120Hz screen refresh supported.
App file size is 722 KB.
If I can do it on iOS then it's must be 10x easier on macOS.
https://www.gingerbeardman.com/apps/papertrail/
I don’t care if it’s Tauri, Electron or whatever’s the new flavour of the same old lazy ass webwrapper technology.
A web app is not an actual application. Besides, I already have a browser, I don’t need another one just to open a single page so it can pretend to be an app while adhering to absolutely ZERO platform behaviour patterns.
Either go it native, or don’t even bother. If it can be run in a webwrapper, it can be run my ACTUAL a browser.
FUCK WEB APPS.
I am still looking for a way how to integrate AI to help me with my knowledge base. Your project could be a fit. Will save it and watch how it evolves.
I was severely disappointed late last year when I revisited one platform where I had previously dropped quite a bit of money in the past to buy access to many courses and I now wanted to finally download them for offline watching only to find that in each and every course I had bought access to on the platform it is only the first couple of videos that are without DRM and then all of the remaining videos in each of the courses use Widevine DRM.
I even investigated a bit whether Widewine DRM is possible to decrypt but it seems to be very difficult, requiring knowledge and access to things that I doubt I would be able to figure out.
I would rather in the future spend money on courses that are not DRM protected in the first place, than to give any more money to any learning platforms where they use DRM on the videos.
Topics of interest include:
- Advanced software development
- Distributed systems
- PostgreSQL database internals
- ZFS file system internals
- Debugging
- Reverse engineering
- 3d modelling in Blender and rendering
- Vulkan graphics programming
- Game development with Godot
- Piano playing techniques
- Electronic music production with Ableton Live
- Mixing and mastering tracks with Ableton Live + any third party VSTs necessary
- Drawing and painting digitally
- DJing, turntablism and scratching on digital DJ controllers
- ctrl-a works to go to start of line but for some reason ctrl-e doesn't work to go to end
- ``` doesn't start a code block, you have to use 'insert code block'
Good job on paste image from clipboard though which is another feature that I think is completely essential for something like this and weirdly missing in many of them.
```[ENTER]
and
```python[ENTER]
and I also assumed there was no code highlighting but I see after I add a code block I can select the language through the UI
```[SPACE] works, but immediately places the cursor below the block where I'm more used to the cursor moving into the block after creation
This is clean and love the git-backed approach. Would love to see a dark mode too!
Worth watching how each of these tools positions the AI: as a UX copilot inside the editor, or as an autonomous agent with file-system access via local CLI/MCP.
I've been working on this split in a side project (https://github.com/rillmd/rill — vault layer on top of Claude Code). Git still handles the durable side for free, since the CLI agent just writes files and commits normally. The live side comes from Claude Code hooks (UserPromptSubmit / Stop / PostToolUse) appending to a plain activity-log.md that the Electron GUI tails. Cruder than Google Docs cursor presence, but cheap — and the log itself is just another markdown file in the vault, same data model as everything else.
One trade-off: going the other direction and letting the frontend detect edits via FSEvents-style watching runs straight into the reconciliation issues the Zettlr subthread is about. Hooks on the agent side are less elegant but sidestep the whole class.
Typically we'd see the second person "you/your/you're" used and not the third person ("flatpands") here, since you (tarr1124) are directly responding to their comment, as if in conversation with them. ie: "what you're pointing at..."
Otherwise it reads like you're ignoring them and talking around them.
It's still early stage, but I love their pitch so I'm following them with fingers crossed.
- better note organization with types and relationships - different, more Notion-like UX - first class support for git as sync + version control layer - long tail of design decisions that help AI work well with vaults: types, MCP, git authorship, etc - and most of all... open source!
Typora? (https://typora.io/)
HelixNotes? ( https://codeberg.org/ArkHost/HelixNotes )
I built it with this exact ethos, a curated set of "extended" functionality instead of a plugin system.
What plugins do you rely on in Obsidian?
It's so good for viewing all markdown in a repo, but dies all too often.
https://github.com/refactoringhq/tolaria/tree/main/docs
Better than the one I was planning to build for myself.
Love the UI. Love the fact that the app was made with Tauri.
Nice work, will share!
Why would I want to join a club where I, as a human, would be a second-class citizen?
I open VSCode, I have files tree, mardown preview and Claude code to edit. I tried obsidian, Notion. Still don’t get it.
[1]: https://github.com/erictli/scratch
My use case is keeping notes, screenshots sometimes, whatever in the same format sometimes...
Wouldn't you feel limited by the markdown. What is the use case?
Err, no. I'll stick to git and subdirectories, thanks.
This might be a dumb question, but what are people using these MD knowledge bases for? What has this unlocked for you, that you weren't doing before?
I kind of understand the wiki use case in large code bases, with lots of changes happening, but on a personal level it's not as clear to me. Is it just another place to store ideas? Is the hope that AI resurfaces or connects relevant bits later?
This seems like a way to optimize your personal life, but I'm not sure what the end goal is.
(No offense intended to OP, this looks like a cool project; I'm just looking for something else.)
[1]: https://fsnot.es
https://mtg.fandom.com/wiki/Tolaria
(Might want to check that hasbro hasn't copyrighted that)
Boo. Boooooooooo. Thanks but no thanks.
Max lifespan 2 years
If you want something to stick around: you have to use and pay for it.
https://news.ycombinator.com/item?id=9224
https://scryfall.com/card/plst/INV-156/obliterate
If youre gonna shut this one down, at the very least do it for the right reasons such as the fact that this is a webwrapper—absolutely disgusting, either go native or don’t bother shoving your webpage into a browser-container and calling it what it is not (an app).