- cross-posted to:
- opensource@programming.dev
- cross-posted to:
- opensource@programming.dev
Hey folks! I’m completely new to Lemmy and still figuring out how everything works around here… But I’d love to share a project I’ve been building.
It’s called VOID (Versatile Open-source Infrastructure for Developers) - an open-source, local-first second-brain (note taking app but more powerful) application that combines the flexibility of Obsidian with the powerful organization of Notion.
Unlike many other tools, VOID is not just another note-taking app. It’s built with the idea of being a true second brain that you fully control. No vendor lock-in, no hidden cloud, no feature walls. Everything is open-source, customizable, and designed to adapt to your workflow instead of forcing you into someone else’s.
I’m currently building it with Rust, Tauri v2 and Vue.js. For certain plugins and configs, it also supports SurrealDB as a database.
check it out on my GitHub
What’s wrong with just notes in markdown in vim or helix?
Amazing apps, but not for my use cases
I don’t see what the use case for VOID is.
It seems like there is more to it, but even if it was just open source Obsidian, that’s a valid enough reason to exist in my mind.
Yeah well I would like for it to have a list of features explaining what it does…
Nice rendering of headings, bullet points, checkboxes, code blocks, images and so on. I know there is something available for vim if you are using a terminal emulator that supports displaying images, but as far as I know besides a language server for markdown helix can’t do that. If there is something I’d like to try it
using images on the terminal is cursed, and helix does nicely render markdown with just the grammars, no lsp.
What I mean is for Headings to appear in a bigger size and so on, basically the difference between obsidian source and view mode. Also Not rendering Latex is a dealbreaker as well
Russian text in the video makes me very suspicious…
szmer.info, isn’t this a polish anarchist istance?
It is open source. If suspicious, wait for reviews or check it out yourself
Yeah, I’m from Russia. Is this a problem?
It’s a problem for racists, yes.
@Transhumanist Depends. Do you stand with Ukraine? https://github.com/vshymanskyy/StandWithUkraine/
I prefer to stay apolitical. VOID is an open-source project meant for everyone.
@Transhumanist Funny how all silent supporters of genocide “prefer to stay apolitical”. So yes, this is a problem.
You know, I don’t necessarily disagree with you, but it’s funny how you don’t see these reactions to American open-source projects, despite the US government’s explicit support for the genocide in Gaza. Why do you think that is?
I don’t think that’s the case.
In what regard? Are you saying you do see American FOSS projects held to the same standard as Russian (and Chinese) ones?
@princessnorah I see plenty Americans daily loudly voicing their support for Gaza and their disgust about the regime which makes this genocide. But russians? Never. They “prefer to stay apolitical” like this fucker here. Again - think about what putin wants. He is jailing people for holding a plain white paper - because silence is what he wants, and fucking “ordinary russians” and their apologists are happily delivering. SAY SOMETHING! That’s the whole poit.
I don’t think there’s a law in the US that criminalizes pacifism [yet] (with actual prison time as punishment)
It’s easy to blame russians for not resisting the war when you don’t have the prospect of spending 7 years in a russian prison
There is a complex sociopolitical history as to why it’s likely Russians aren’t as vocal about these sorts of things. So no, I don’t think it’s as simple as calling out any Russian that does anything ever, and deciding to give every USian the benefit of the doubt.
As well, I’d like to point out that being vocal on the internet is not the same as making a material difference in the real world.
I get that some people may see it differently. Still, my goal here is simply to share a tool I’m building.
Please don’t force people to take a stand because 1. he’s Russian and what he say may have repercussions for him, 2. this is not the place for discourse like this; and even if it was, I think it’s important to prioritize persuasion rather than accusation, and 3. He’s just trying to share something he’s enthusiastic about. Just let the guy share and maybe redirect the anger to more vocal supporters
The genocide perpetrated by Israel and the West? Is that the genocide you’re silent about?
@3abas I’m definitely not silent about that, are you? Fuck your whataboutism. Another typical russian thing.
I come extremely hard to trust a russian, especially taking into account my personal life experience and circumstances. Ultimately, I wish more people were more careful, especially when it comes to a system to store sensitive information. The basis of trust has been breached by whole nation, so it has to be earned by every single member of that nation.
At the same time, I cannot see even a word about the retaliation for the crimes the nation continues to commit each day: only requests “please finance me”, using the western platforms and western infrastructure — which seem to be quite convenient, isn’t it? In that circumstances, I can see such project to have some risk, even for simply self-hosting, because careful review of projects can be hard even for projects with lots of eyes, and there is already a track record for injections being planted in FLOSS projects1.
This has to be mentioned: my issue is not with you personally. You might be a nice person, yet to me you are an anonymous trying to hide his origin, and failing at it.
The basis of trust has been breached by whole nation, so it has to be earned by every single member of that nation.
- WTF is this collective punishment nonsense?
- I hope you rather quickly uninstall almost all popular FOSS software from your devices, because almost all of it contains sizeable contributions from russian citizens and I don’t think you’ve individually verified their intentions
By the state, not by the nation.
What I can see clearly is that nation overall supports the warfare, and the annexation of neighbouring country — either silently, or loudly. This sentiment was there for even pre-full-scale invastion time period, even in anti-putinists circles (the “Crimea is not a sandwich” statement supporting that1).
There is an extreme minority that is against war, though they are against war in principle, and make no action to support the warfare to any side.
With this logic, any country could be reduced to its leader. The reality is less manichean.
There’s almost no civil society of any kind left in Russia, so it’s impossible to say if a nation overall supports or opposes the warfare. People with an active pro-war or anti-war stance are minorities, somewhere in the 10-20% range, and neither are allowed to speak up (interestingly, quite a lot of pro-war social media influencers are in prison right now for daring to speak up against corruption in the army or similar). The vast majority of people are just going about their days. Does that technically help with the war? Yes, I guess, it drives the economy, people pay taxes etc, but then the same can be said about an average american, brit or german right now - I don’t see them blowing up munitions factories (that directly supply the ongoing genocide).
Understood. You could use p2p sync without our/selfhosted server. I didn’t interested in anyone’s data. That’s exactly why I decided to fully open the source code of the app for all who interested. And I’m not trying to hyde my nationality, I just want to all who looks at my project/talks to me feel comfortable without need to translate every my message
Least racist liberal
I saw you picked SurrealDB, what has been your experience with that so far?
I really like SurrealDB. It has amazing compatibility with rust + tauri and can be used in file mode with rocksDB. For my usecase it fits the best. I love static types)
the idea of being a true second brain
It’s good that it’s built with this idea, but what is the actual implementation of this idea? What features make it «a true second brain» that other «second brain» apps (obsidian and hundred other note taking apps) don’t have?
I did a bunch of research into second brain/zettelkasten apps (that is to say, apps that support note taking with note interlinking and rich text) earlier this year, and I couldn’t find a single app in the category that’s (1) FOSS, (2) stores notes as .md files natively (Logseq will import/export to .md, but it’s not native), and (3) is cross-platform in some way (for my purposes, I need it to be on Linux, Android, and Mac OS, or have a usable web app). Even the ones that get close all have some kind of gimmick to them, or are super ugly or slow or otherwise hard to use.
If Void can get those three nailed, and do it in a usable way, it will fill a very particular and exciting niche.
Did you look in to Zim Desktop Wiki? https://zim-wiki.org/
It stores articles in zim (plaintext) files rather than .md (plaintext) files, but otherwise it’s an excellent FOSS cross platform
Edit: never mind, zim also doesn’t have an Android client. The closest is https://github.com/gsantner/markor which understands Zim syntax
I know this won’t go over well here but I don’t really care that Obsidian isn’t FOSS, because it’s just a frontend for markdown files in folders. There’s no lock-in whatsoever, and it being FOSS or not makes no functional difference.
I broadly agree with you, but I would still prefer to have another option so that if/when Obsidian goes the Notion route, I have another option to jump to easily.
Me too, but I figure a clone will pop up very quickly if that happens, and I’ll already have an easily portable folder with markdown files.
My big concern is that, since there’s no substantial Obsidian competitor now, there must not be any money in it, which would slow down the arrival of a new clone if Obsidian ever platform-decay’d. Yes, the fact that it’s easily portable is a good bulwark, and that’s why I currently use Obsidian; but to make a comparison, it’s been twelve years since Google Reader died, and there isn’t yet a successor that I’ve found which offers both opml & last-read syncing and unlimited feeds, unless you can self-host.
I guess I’m saying, I’ve been on this ride for too long, I kinda want to get off of it.
The Google Reader comparison is excellent, that one still hurts… I think RSS usage has simply declined tremendously overall though, as opposed to PKM which is still going strong (I think/hope)
That’s fair, but as someone who likes to contribute to FOSS projects with features that I want, I’d like every tool I use to be FOSS, so I can make them work exactly the way I want them to, while also providing something to those that don’t want to/can’t pay for a tool like this, or just don’t want to have the inevitablity of having spent hundreds of hours getting used to a tool, only for the owning company to make it unusable for you.
In FOSS projects, if a project starts to go a route you don’t like, you can ignore all future updates and still get the exact experience you wanted.
Did Logseq change? It used to write directly to .md files.
You can also try VSCodium with Foam, I think both are FOSS. You can read a bit about this setup on my blog: https://blog.sewera.dev/second-brain
Please checkout Silverbullet.md.
Native markdown support, folder structure, customizable by css and some script language.Considering that one of your requirements is already using
.mdfiles, which is a format pretty common… maybe a combination of different apps on different platforms would work? Specially considering that mobile UIs are likely gonna have different requirements than desktop UIs.One approach I was considering was using neutrinote on Android (which is a relatively simple but functional no-bullshit markdown editor supporting cross-linking between markdown files) and VSCode / VSCodium on the desktop (which also supports cross-linking, and I think has some note-taking related extensions), or maybe zed, or whichever editor you might already be using that can support markdown. Then use syncthing for the sync.
However, I have not yet really gotten into it, primarily because second brain/zettelkasten note-taking in general has never really fully clicked with me, most of the time when I take notes I just use them as a scratchpad / temporary storage… without much of a proper organization … just a note meant to be scrapped as soon as it’s acted on. Often I just use tabs in my notepad app, without really saving them to a file.
That is something I hadn’t considered, and well worth considering. Thank you.
FWIW I use Obsidian on desktop and Nextcloud Notes on mobile (along with Nextcloud sync for, uh, syncing) and it works great. All this and a TB of storage only costs me about 5 EUR/mo with Hetzner.
This is a mandatory comment about Emacs’ org mode since
.orgfiles are extremely similar in syntax to.mdand can be interconverted extremely easily.This is great intel, thank you.
If you deem
.orgto be sufficient and want to use Emacs1 itself, there is an extension for the zettelkasten method of note taking that you might find useful.
1: Despite originating with the Emacs community,
.orgfiles are recognized by many (most?) IDEs, but I’m not sure if extensions are regularly ported to non-Lisp editors.
Doesn’t logseq store the notes as
.mdfiles? There is a directory named pages which contained them last time I checkedIt’s been a while since I read the details, but as I recall it stores them primarily in a database. The
.mds are mirrors or something, maybe?In any case, it looked to me like they could get desynced pretty easily.
AFAIK it stores the notes as
.mdand an index in it’s own proprietary format, which is mostly an issue because the index won’t be encrypted if you encrypt the notes.
This looks cool, and I like your thoughts on it! Are you planning on an Android release too, somewhere down the road?
Yep, android version is already in my roadmap! I’ll start building it after VOID’s beta-release
There’s already many foss notes apps.
What none of them do well is syncing and sharing notes without paying for hosting or self hosting. Joplin lets me workaround this with 2 Dropbox files (1 per profile, 1 being a shared profile) and it’s a pain. And the Dropbox file isn’t encrypted.
An encrypted API access file I can shove anywhere and use would be lovely as an option. Anyway I can share across users would be lovely.
What none of them do well is syncing and collaboration without paying for hosting or self hosting.
Not to pick on you here, but you’re surprised that nobody is bulding an app for free and then paying for a server to also give away for free? Open source devs already struggle to make ends meet - now they’re supposed to operate at a loss?
No, not at all. It’s an absolutly fair trade to pay for that service if they’re hosting my data.
Buuuuuut, if OP wants to make yet another notes app and hit a corner that isn’t yet covered, there are features of Google Keep that are not yet replicated well from a semi-DIY low cost perspective. AFAIK, I can self host to sync with some FOSS apps, but did too technical limitations on my end, I can’t reliably self host. So I have to use workarounds.
But of I can just use an API accessable file, and that data is encrypted, OP is a step ahead of Joplin. If I can collaborate with that API access without needing 2 profiles, that’s 2 steps ahead.
What none of them do well is syncing and sharing notes without paying for hosting or self hosting.
What about Notesnook’s monograph functionality? Unless you mean sharing as in collaboration not publishing
I mean collaboration, I’ll edit. Thanks for asking.
For free hosted collaboration you could use Cryptdrive or Proton Drive. They’re more “office suites” but plenty of people use word processors to take their notes.
I’ll look into Cryptdrive, but Proton doesn’t allow API access to Drive files.
Yeah cryptdrive also doesn’t have a public API afaik.
I do feel like you’re asking for a lot atp. You want something free as in gratis, hosted by someone else, that allows for live collaboration, with a public API? I feel like paying for foss (eg paying whoever’s hosting this) is reasonable at this point.
All I’m asking for is what Joplin already does with one improvement and one addition. So if OP is coding a new app from scratch, why not improve on what exists and is already a FOSS app anyway?
Joplin’s main drawback for collaboration is that the UI can’t handle 2 profiles syncing with 2 different files well, you have to close and re-open the app between profiles, going from your private personal one to a shared profile where everyone sees everything. It’s annoying, but not exactly torture. Being able to save notes individually to a set of profiles (each with its own local or cloud storage location) would be an improvement.
The encryption of the API file is the only fully new thing. When using the Dropbox API, it’s https, so it’s encrypted in transit already, so we’re halfway there. Encrypted at rest is all I ask - by the app so on the device AND in the cloud.
But even if I wanted to pay for encrypted storage on Joplin servers, it’s E2EE - so I would have to pay $90 a year for 3 separate accounts because the collaboration profile needs its own Joplin login, and it’s just being logged in to by everyone who is collaborating. Joplin doesn’t do API use because it breaks E2EE (why Proton and Cryptdrive don’t allow it). And it’s nice they say collaboration is part of their lowest tier - sure, if you share the login. Everyone sees everything. So a private synced profile needs its own account. Joplin is a loss leader for selling cloud storage to run the company. It’s not some passion project on the Fdroid store.
So a new app needs to do the encryption itself. Just do a 6-digit PIN to log in and ask the key, then run the data through AES. Looking around, it’s maybe 50 lines of code, so it’s not uncommon for apps to do that anyway.
Also, am I really getting flamed for not participating in capitalism enough by communism@lemmy.ml? I feel like I’m taking crazy pills!
I’m not “flaming” you. I think I’m being polite and expressing an opinion. I mean no disrespect to you.
Currently, we live under capitalism. Whoever’s running the server you use needs to pay for server costs. It’s the nice thing to do to contribute to those costs if you benefit from the person running the server. Your personal beliefs are not going to exempt you from the reality of how society currently works.
You’re welcome to request whatever features you want, but at the end of the day I feel like paying someone else to host a service of your choice is the easiest route for you and not unfair to you. Unless you’re up for sysadmining yourself in which case you can save money and only pay VPS costs.
syncing and collaboration without paying for hosting or self hosting. Joplin lets me workaround this with 2 Dropbox files (1 per profile, 1 being a shared profile) and it’s a pain. And the Dropbox file isn’t encrypted.
You could use syncthing so no hosting is needed and no reliance on storing your data on 3rd party services. Though you would most likely have the same level of pain as Dropbox since they work similarly (although you did not specify what is it that causes you pain).
Because with Joplin you have to close the app to change profiles. And Joplin is a touch janky, so getting others to collaborate requires a steep learning curve. I really like Joplin, but not everyone in the house is as generous, apparently.
I was looking at Syncthing the other day, actually, but I need all users to cloud sync outside the house, so it’s not really able to do the same thing as Joplin with the dropbox syncing.
Cool!! Will definitely check it out.
no hidden cloud
Shots fired at Notesnook.
The more the merrier - have you had a chance to try anytype out?
they have this local sync function that works even without any internet (sort of like a LAN?)
its been really handy for me as I often work in places without internet, but retain the ability to sync between laptop & phone.
(Also are notifications and kanbans on the roadmap?)
Yes, tried anytype, but I struggle with it’a lack of plugins and overall extensibility. As for kanban and notifications, yep, they are already on roadmap
brilliant, Im excited to try it - cheers for sharing it with the world for free.
Why is this better than zim?
I didn’t even heard about zim before
It’s great! Don’t reinvent the wheel
Why not just contribute PRs to an existing project?
There’s a lot of reasons to make your own project even if something similar exists. Differing codebase, feature roadmap, UX/UI direction, contributor politics, or even because they want to make something from scratch to add to their portfolio.
More options are better for everyone.
Sure, but OP didn’t even know this other project existed
I checked Zim, and while it can definitely be useful, personally I didn’t really enjoy its UI.
I thought Zim was just an archival format?
Nope. But some do use it for mediawiki dumps. Never understood that, really
Unlike many other tools, VOID is not just another note-taking app.
no offense. but if I got a penny for everytime Ive heard this…
no offense. but if I got a penny for everytime Ive heard this…
yeah, I know) but I try my best to make this project as perfect and useful as possible
for everyone who walked this path of finding (or making) the perfect note app. there is no general perfect. everybody will find eventually a workflow which works - and evolves.
but I whish you all the best and that you may built an app which inspires many. :)
My like 10 year old, way out of date, note taking app for Owncloud that I forgot about just got a PR. So I guess perfect is different for everyone.
exactly.
What’s the difference compared to Trilium?
Markdown support, plugin ecosystem, automation?
Full markdown support, all notes are just .md files like in obsidian. I’m currently working on plugins api and trying to implement layer that would allow obsidian plugin’s compatibility. Automation: I don’t really understand what you’re trying to say, can you specify please?
Looks super cool, I will have to check it out!
I know it’s definitely a massive ask, but has there been any consideration on collaboration tools in the future? Even if it’s not full multi-user editing, obsidian is really lacking in it’s ability to share with others, and those might be a huge add.
This is not super massive task, it’s already in my roadmap. I finish it in a short time after VOID’s beta
Incredible! Even more excited now!
Automation as in automatically moving notes to a specified folder, calendar sync , to do list sync.
If you have Outlook , gmail ,Todoist and a few other app integrations and integrations with vim plugins it makes everyone’s lives easier.
Set and forget.
oh, is it wysiwyg ? I settled on QOwnNotes this year and my only gripe is that the markdown editor and the actual note viewer are separated, which divides screen estate by 2 pretty much. Other than that I love that it’s a native program, very lightweight, and of course open source. I’ll be watching your progress. Cheers !
Yep, it’s wysiwyg. Huge thanks to obsidian. I took a lot of inspiration from their editor
ooooh ! Now I’m a bit more excited
Awesome! I want more and better apps in this space. I personally don’t trust myself not to lose my phone, so I want to manually sync files to some trusted place, or preferably, have webdav/nextcloud for syncing the way some notes apps have it. It’s your project, so do what suits you, but that’s something that would push it to the top for me.
Nice :] sounds great. Any chance you will create a Flatpak?
Yep, 100% I will! But a little bit later, cause for now app is still WIP



















