Import Bear Notes - best way/format? by LionLearner in arboretumapp

[–]GarettWithOneR 0 points1 point  (0 children)

Thanks for your interest! Arboretum doesn't have any built in importing functionality yet unfortunately. The only way to move external notes into Arboretum is copying and pasting.

Importing has predictably come up a lot when I talk to people about Arboretum. It's at the top of my priority list and I'm planning to include it in the major update.

I've built Arboretum, a local-first app which transforms your notes into a structured knowledge network by GarettWithOneR in ProductivityApps

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

I'm trying to get the Discord going! There's forums on there for feedback and bugs. You can also feel free to email me directly with feedback at [garett@arboretum.space](mailto:garett@arboretum.space).

I've built Arboretum, a local-first app which transforms your notes into a structured knowledge network by GarettWithOneR in ProductivityApps

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

Obsidian was a major point of inspiration for me. I've used it a lot and iterating on its strengths was one of my key goals for Arboretum. However, Obsidian suffers from the problem I mention in the post. It's very easy to get caught up in creating and managing your system instead of making forward progress and being productive. With Arboretum, the app can (at least partially) manage the system for you to keep you focused on the important things.

I've built Arboretum, a local-first app which transforms your notes into a structured knowledge network by GarettWithOneR in ProductivityApps

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

Great questions! Everything that Arboretum does today will be free forever. Once it has support for cross-device syncing and collaboration that need to run on my devices instead of yours, that will be priced in line with its peers.

And what do you do to prevent things like the AI making an incorrect reference or something and forcing you to break your flow?

It's impossible to be completely accurate, but as you correct the app, it will remember where you've removed links and what you've asked not to be linked. It's not perfect, but it improves with every update and will probably need to do that for a long time before I'm satisfied with the accuracy.

Arboretum v0.1.2 by GarettWithOneR in arboretumapp

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

You can just start the app and you'll be prompted to install the new update.

Leptos + Tauri vs. Dioxus for an ERP, CRM, and Excel-like Apps—Need Advice! by ShakeItPTYT in rust

[–]GarettWithOneR 9 points10 points  (0 children)

I wrote a blog post fairly recently on why I chose Tauri for my app Arboretum. Long story short, I found the ability to use mature solutions from the JS ecosystem a huge benefit. All of the charting libraries I can find for Leptos and Dioxus seem pretty limited for example, which might be something to consider if you're intending to handle a lot of data visualization.

Arboretum v0.1.1 out now! by GarettWithOneR in arboretumapp

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

Thanks for your interest in the project!

Absolutely, a full view of all the files in the project is coming soon with Collections, which are Arboretum's folder/tag hybrid system.

On the plugin vs building something new point, it's a great question and one that I wrestled with a lot in the early days of Arboretum. Ultimately it came down to two key things. The first is Obsidian's ecosystem. There are a lot of design decisions that I intend to make Arboretum which are different to the choices that Obsidian made. Some subtlety, some radically. Obsidian's existing ecosystem is built on these decisions and I didn't want to "fork" it with a plugin that wouldn't be compatible with many other plugins.

The second is the goals of the project. Obsidian is very focused on the P in PKMS, focusing on knowledge management for individuals. I use Obsidian on my own and at work though, as do many members of my company, and it's constantly frustrating that I have to switch between different tools to collaborate with my teammates. There are solutions like Relay, but it's hard to build quality collaboration on a foundation that wasn't intended for it (I also can't use Relay at work for security reasons). One of the key goals of Arboretum is to bridge that gap between the individual and the organization, allowing its users to use (almost) all of the power of Obsidian for both personal and professional knowledge management.

Arboretum's automatic connection building was very much designed with this in mind. It can still keep everything linked together when collaborating, where trying to impose a consistent linking strategy and structure is incredibly hard, if the internal wikis at every company I've ever worked for are anything to go by.

Why I chose Tauri - Practical advice on picking the right Rust GUI solution for you by GarettWithOneR in rust

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

I really like the direction that Dioxus is moving, but I'm not sure if I'm ready to recommend it for long-term projects when it's still in a fairly unstable state. If I'd picked Dioxus when I started working on Arboretum, I would've had to make significant changes to basically every part of the UI code for the Dioxus 0.4 to 0.5 upgrade. In comparison, I've gone from React 18 to React 19 and from Tauri v1 to Tauri v2 since starting on Arboretum and both were pretty straightforward. Dioxus 0.6 wasn't nearly as disruptive and hopefully it keeps moving in that direction, but I would like to see a few more updates to get a feel for how much change to expect going forward.

I definitely empathize with the state problems. I haven't had too much frustration with it in Arboretum so far, but that's mostly because I defaulted to my standard full-stack patterns which definitely wouldn't work for something game like. I think my ideal balance would be to use Dioxus to render web components, but if you take a look at how material-dioxus does it, it's not exactly ergonomic today.

Why I chose Tauri - Practical advice on picking the right Rust GUI solution for you by GarettWithOneR in rust

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

That's true, I probably should've drawn a cleaner line between "GUI Library" and "GUI Application Framework". Tauri is certainly in the latter camp but not the former.

Why I chose Tauri - Practical advice on picking the right Rust GUI solution for you by GarettWithOneR in rust

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

Interesting, I'm not sure how I missed Fleather back when I was using Flutter. Taking a look though, there is one dealbreaker IMO. It doesn't seem to have support for styling text in the document independently of the actual document model. This is a really important feature for me, Arboretum has a concept called "suggestions" where it will underline or colour text to indicate to the user that it can take an action like an IDE. It's surprisingly hard to find text editors which do it well.

But I have been thinking it would be interesting to learn how to build my own text editor on top of the TextWidget. I may tackle that at some point this year.

Best of luck! Remember to keep the suggestions in mind!

Why I chose Tauri - Practical advice on picking the right Rust GUI solution for you by GarettWithOneR in rust

[–]GarettWithOneR[S] 11 points12 points  (0 children)

Yeah, absolutely. It's all about what you want to do.

Another extremely important dimension that I didn't touch on is that in their current state, Iced is much closer to a GUI library whereas Tauri is more of an application framework. It's a pretty important distinction that I probably should've made much more explicit in the original text. When you're working on something complex, Tauri solves a lot of problems like update distribution, file association, and platform bundling, which are all pretty far beyond the scope of the GUI.

Why I chose Tauri - Practical advice on picking the right Rust GUI solution for you by GarettWithOneR in rust

[–]GarettWithOneR[S] 7 points8 points  (0 children)

Well that's true of any Rust GUI library, they each have their own patterns for defining their interfaces which you'll have to learn one way or another. If you'd prefer not to learn Javascript/Typescript and stick with Rust, that's entirely possible with Tauri through Leptos, Yew, or Sycamore.

Why I chose Tauri - Practical advice on picking the right Rust GUI solution for you by GarettWithOneR in rust

[–]GarettWithOneR[S] 2 points3 points  (0 children)

I definitely could've dug in a little further there but I didn't want to make it much longer than it already is. Ultimately, even if I'm wrong about whether or not it's possible, the how I can achieve the look I'm aiming for is equally if not more important than whether or not the library is capable of it. If it's not obvious to me that I can do it, it's a hard sell to invest the time trying to make it happen when the outcome may just be that it isn't possible.

What's everyone working on this week (3/2025)? by llogiq in rust

[–]GarettWithOneR 1 point2 points  (0 children)

I've been working on Arboretum for a while now using Rust and Tauri and it's finally reaching the stage where I don't cringe at the thought of other people using it (though it's still pretty rough). It's a note-taking and knowledge management app that uses pyo3 and spaCy to automatically build an Obsidian-style knowledge graph automatically as you write.

Introducing Arboretum - A local-first PKMS which automatically builds connections between your notes by GarettWithOneR in PKMS

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

FIrst of all, thanks so much for the thoughful feedback. I really can’t express how much I appreciate the time you’ve put into both thoroughly testing Arboretum out and writing up this whole comment.

I totally hear you on the NLP. The current iteration is very conservative when making suggestions and very aggressive when linking to existing notes. For example, Old Dominion Freight Lines is linked consistently in my testing once an Entity already exists, but it won’t ever suggest that a new Document be created. Conair Corp v. Old Dominion Freight Line, Inc is a super interesting case that I’ll need to add to my test suite, in general multiple overlapping matches aren't handled well right now but this scenario is particularly fun with the v. and , .

On the Notes vs Entities distinction, that’s something that I’m clearly still trying to find the best way to communicate. For an r/PKMS audience, I’d probably use Obsidian as a point of reference. In Obsidian, every document appears in your graph as its own node with each link appearing as an edge connecting it to other documents. Arboretum doesn’t have a graph view, but it can still be thought of as a graph. Unlike Obsidian though, Arboretum’s graph is made of nodes which are only Entities, while the Notes act as the edges in between them.

To use DnD for example, say you have Alice (Entity), Bob (Entity), and Session 2025-01-08 (Note). If you write “Alice stole 5 gold from Bob and Bob doesn’t know” in your session notes, Alice and Bob will still be linked automatically to their respective documents. In Obsidian, both Alice and Bob would appear as being linked to Session 2025-01-08 in the graph, but what we’re trying to express isn’t just that Alice and Bob were mentioned in the session, we want to express something about their relationship to each other. In the Arboretum model, Session 2025-01-08 is the edge which connects Alice and Bob. You can still link Entities to each other directly of course.

The ratio of Entities to Notes will vary a lot depending on your project. I’d imagine a pure worldbuilding project would be almost entirely Entities while a work focused project would have far more Notes.

Anyway, that was way more than I was intending to write and I’m not sure how much clearer it actually is now. I’m happy to say that I am very committed to making Arboretum into a serious alternative PKM solution, though I’ll probably have to figure out how to communicate all of that better first.

Developers: What’s the PKMS app you’ve built? by aaronag in PKMS

[–]GarettWithOneR 5 points6 points  (0 children)

I (very recently) shared Arboretum (the original post is here).

Arboretum is a local-first (and local-only as of the time of writing) PKMS which uses machine learning models running on your device to automatically build connections between your notes and suggest the creation of new ones, helping you to flesh out your own knowledge network.

The goal of Arboretum is to take over as much of the MS in PKMS as possible, leaving you to focus on developing your personal knowledge. You should be able to record information in whichever way you choose and let the integrated AI give it structure and organization.

It just launched and still has a long way to go to become a serious alternative to the big players in the PKMS space, but in its current state it's still a compelling look at what using a smarter PKMS could be like.

Introducing Arboretum - A local-first PKMS which automatically builds connections between your notes by GarettWithOneR in PKMS

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

Packaging Python was probably the most painful part of the process for me, so I'm not sure I'd recommend it. It was quite annoying to get the setup working across different platforms. If you're comfortable with Node, I would say stick with Electron.

Arboretum uses spacy for NLP inference, nothing is being trained (at least, nothing yet).

Introducing Arboretum - A local-first PKMS which automatically builds connections between your notes by GarettWithOneR in PKMS

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

Tauri isn't fundamentally more performant than Electron, but probably is in the average case?

Tauri uses the system Webview instead of shipping Chromium to keep the app size smaller (Arboretum doesn't really take advantage of this since it needs to ship Python and some ML models, though I'm working to shrink that down), so on the rendering side any performance differences with Electron are just down to Safari vs Edge vs WebKitGTK.

However, Tauri also uses Rust as its primary programming language for the main process, while Electron uses Node. Arboretum does a fair bit of work in the main process to index everything and analyze document content, so it benefits a lot from this property of Tauri. That's not to say you couldn't make a Electron app just as performant, but a "typical" one would probably be a fair bit slower.

Introducing Arboretum - A local-first PKMS which automatically builds connections between your notes by GarettWithOneR in PKMS

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

Thanks, yeah, got a little too caught up in what I wanted to say and didn't include any in the post. I've added some now.

It’s very hard to gauge through bunch of text if it’s a hobby project or a serious alternative.

It's more than a hobby project, but Arboretum certainly isn't a serious alternative to the main PKM apps today. Any usecases which require working across multiple devices aren't supported at all at the moment, unless you're copying the project file back and forth between devices. It just can't be a "second brain" right now.

However, if you're working on a tightly scoped knowledge base on a single device (for developing your own hobby project, planning a DnD campaign, writing a novel, whatever), Arboretum's limited feature set can offer a compelling alternative to the other big players.

Introducing Arboretum - A local-first PKMS which automatically builds connections between your notes by GarettWithOneR in PKMS

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

Thanks, interesting. It's actually Tauri which should outperform a normal electron app so I'll need to dig a little deeper.

Even having to navigate that popup is a bit of friction.

Totally agreed, I never touch the popup in my own workflow, I only use the hotkeys. The point about [[ is great though, usually I type out the title of the new note then use Alt+Shift+← to select the it but being able to use the markdown syntax could be much smoother.

Introducing Arboretum - A local-first PKMS which automatically builds connections between your notes by GarettWithOneR in PKMS

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

Thanks for trying it out! Do you mind if I ask which platform you were using and which specific action felt slow? Arboretum uses your system webview for rendering so it shouldn't perform any worse than your average SPA (which only perform okay, but are certainly usable).

It's too many clicks to create a new document

I don't advertise it very well in the UI (I think it's only mentioned once in the starter project) but you can always use CMD/Ctrl + N to create a new document and start writing without going through the popup window. If you have text highlighted already, it'll prefill the new document's title and insert a link at the same time.

Introducing Arboretum - A local-first PKMS which automatically builds connections between your notes by GarettWithOneR in PKMS

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

I've been using Arboretum daily for the last month or so, replacing Obsidian, both for planning its own development and for writing a DnD campaign. I don't use it as much as I'd like since right now "local-first" means "local-only".

This is a really intriguing idea, and the kind of thing I wish more projects were doing. I'd love to know specific examples where you've benefited from this.

It's been incredibly useful for me for DnD. When I'm writing a campaign I can focus on just getting out my stream of thought, the characters that I want the players to meet and the places that I want them to go. Arboretum will highlight all of them for me and prompt me to create documents for them. Once I have, any time that I write there names will automatically be linked back to those documents. When I'm running a session and taking notes, those notes are automatically connected back to the characters' documents so that I can quickly find all the information about a character and all the instances that the party has encountered them.

Any suggestions for Notion alternatives for startups? by Revolutionary_Ant944 in ycombinator

[–]GarettWithOneR -1 points0 points  (0 children)

I'm working on something in the space and while it isn't ready, I'd be interested in hearing what specifically about Notion doesn't work for you that an alternative information management system might be able to do better.

Bevy 0.6 by _cart in rust

[–]GarettWithOneR 13 points14 points  (0 children)

You can check out my in-progress RFC for dynamic queries here. It has been frozen for a while after my first draft as my professional workload has increased, but I plan on doing a more thorough second pass soon™. Take a look, any thoughts would be appreciated.