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
There's already many foss notes apps.
What none of them do well is 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.
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.
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 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.
Sorry, I should have added a /s tag. It was just kind of ironic and made me laugh.
I get what you're saying, and don't even disagree. But, if OP is asking, I'm making suggestions. I've never paid for Dropbox or Google storage because they look at what's in there. I'm the product, but also API access is a limiting factor inherent in the storage that they look at anyway.
I'm simply suggesting that OP make something to leverage those things already free from data leaching scum to give us all something secure and still free, rather than spend time and effort to make an app that's just one more of the same thing. They should spend their capitol, which is time and effort, investing in something that stands out as a differentiated product.
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.