Hi! I’m a software developer working on a suite of collaborative self-hostable apps to replace proprietary services I couldn’t find a good replacement for.

I am writing this post to seek opinions and ideas now that I am still in the early prototyping phase, before it’s too late to change track.

My idea is to develop a collection of simple single-purpose apps that do one and only one thing. The first app will be called Simple Notes (mirror), a replacement for Google Keep. Every operation is encrypted locally on the client, and the server never sees plaintext data. I am investigating federations models to let users connect to other instances and work collaboratively, much like Lemmy.

So, my goals in order of priority are:

  • No compromises on privacy and security
  • Completely FOSS
  • Real-time collaboration between users
  • Asynchronous collaboration (work offline, sync when back online)
  • One account to operate on all apps in this suite
  • Web UI / desktop UI / mobile UI
  • Minimal interface which my grandma can use, no feature-bloat
  • No anti-features such as advertisements, tracking, etc…
  • Self-hosting
  • Federation

After Simple Notes, I plan to keep developing other simple apps, some ideas on my list:

  • Simple Notes - Replacement for Google Keep
  • Simple Split - Replacement for SplitWise
  • Simple Chat - Replacement for WhatsApp/Slack/Meet/Teams
  • Simple Docs - Replacement for Google Docs
  • Simple Draw - Collaborative drawing app
  • Simple Calendar - Replacement for Google Calendar
  • Simple Contacts - Replacement for Google Contacts (suggested by @Churbleyimyam@lemm.ee)

Initially I started writing my own protocol (mirror), operating quite differently from Lemmy’s, but then I realized that someone else already has developed a protocol for this purpose: Matrix. It is (optionally) E2EE, it’s FOSS, and it’s federated. So yeah, it sounds like the perfect choice to me. Also, if I pick Matrix, Simple Chat will just be a reskin of Element, so development cost is almost zero.

So, a questions for the developers on the Lemmy Selfhosted community: do you think piggybacking the Matrix protocol would be a good choice? Do you know any alternative that might be more suited for this purpose?

And a question for all Lemmy Selfhosted users: is there a simple app that you would like me to add to the list?

Bonus question: do you know of any Lemmy community where I could repost?

Thank you very much for the time you spent reading my post!

Link to source code on my server and GitHub mirror.

EDIT: I might have been a bit unclear on my objective. My intention is not to just build a replacement for Google Keep, that’s just the first step of the idea I had. My objective is to build a template from which it should be possible to build all sorts of apps to collaboratively work on documents of various types. Simple Notes (Google Keep) would be for text documents, Simple Split (SplitWise) for expenses (because a list of expenses is a document after all), Simple Chat (WhatsApp) for chats (oh yes, I would say that a list of messages is also just a document), Simple Docs (Google Docs) for… well… text documents, Simple Draw for canvas documents, and finally Simple Calendar (Google Calendar) for a calendar (which, why not, is also document!).

So yeah, I don’t want to just find/build an alternative for Google Keep, I want to find/build a tool to build all sort of simple collaborative apps on top of.

What I am looking for is not the recommendation of an app to simply replace Google Keep, I am looking for a template or even just a protocol on top of which it’s possible to build collaborative document-editing apps.

  • fmstrat
    link
    fedilink
    English
    12 days ago

    Sounds like you should contribute to Fossify, the successor of Simple Mobile Tools.

  • @BackgrndNoize@lemmy.world
    link
    fedilink
    English
    97 days ago

    I’ve started looking for a open source alternative to Keep recently as well, following are few features I’m looking for in random order, maybe you could look into implementing some of these. Once I get some free time I can try to contribute to the code as well.

    1. Cross platform with sync - iOS, Android, Web, Windows, Linux (Sync should not need to rely on 3rd party servers, should be able to use free syncing solutions)
    2. Free
    3. Open Source
    4. Easy to export all my notes / data in a open format like markdown etc.
    5. Hackable - can make automations that connect to other apps like Obsidian, TickTick, maybe using some API?
    6. Good notes search functionality, with search inside a note option
    7. Notes organization, via tags and folders
    8. Notes linking like Obsidian ?
    9. Google Keep like virtual pinboard of notes display, AKA masonry layout ?
    10. Markdown support for lists, links etc
    11. Runs in the background (system tray) in Windows / Linux and can be brought up and a new note added quickly using keyboard shortcuts like TickTick.
    12. Reminders / Alerts For Notes
    13. Pin Notes
    14. Notes Can Contain Rich Links, Images, Sound, Video

    P.S I think notes collaboration might be a anti feature, it takes away from the simplicity of it and I don’t think most people take notes to share with others, I think for most people notes are personal, so I don’t know how many would want this feature.

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      2
      edit-2
      7 days ago

      Whoa, that’s a long list of ideas… let me see…

      1. That’s the plan, excluding iOS as I do not have a Mac and thus I cannot develop for it
      2. Certainly
      3. Certainly!
      4. That’s not part of the MVP (minimum viable product) I have in mind, but an export function must certainly be added later
      5. Plug-ins are not part of my goal, but I will do my best to keep the source code modular enough to let people adapt it freely
      6. We agree on that, global search is necessary, but I did not think about a “search inside a note” option. That seems to make sense, I’ll see what I can do
      7. Tags are part of my idea, although not the MVP, but folders are not; I will see if I can also add folders without complicating code and UI too much, that doesn’t sound like a bad idea
      8. Not part of my goal, but maybe in a future iteration
      9. Yup, that’s what I had in mind too
      10. As a developer I like Markdown, but it is not on my priority list… perhaps in a future iteration. I was thinking to (maybe) use Markdown behind the curtains, so it might not be too difficult to let users toggle the WYSIWYG
      11. The first UI that I am planning to develop will be for the web browser, then a lazy-man Electron UI for the desktop as well as something for Android, I just wanted to do something simple. I don’t have the time and skills to do deep desktop integration, perhaps in the future, or maybe someone might contribute this feature if this project actually manages to become something interesting
      12. That’s not part of the Simple Notes app I was thinking about, but that would make sense for Simple Calendar, perhaps in the future I might consider linking notes and reminders, but that’s not something I am thinking about yet
      13. I did not think about that, that’s a good idea, I’ll see what I can do
      14. The first version will not let you upload media, but images are planned. I did not think about sound/video/documents, but I guess why not?

      I think notes collaboration might be a anti feature

      That’s the main reason why I decided to build this suite of apps in the first place. I want to be able to work collaboratively on things with my girlfriend, and we must be able to do it in real-time. I realize that this will eat away a big chunk of the total time I will dedicate to this project, but it is also the main reason why I am not satisfied with the options currently available.

    • @BackgrndNoize@lemmy.world
      link
      fedilink
      English
      27 days ago

      Regarding multi platform targeting, have you considered something like React Native or Flutter, one code base that can run on any platform might be useful at least for the MVP stage.

      Also the reason I mentioned exporting is that I’ve had to deal with a bunch of notes apps in the past where the company behind it shuts down or gets sold and then you either have to figure out how to export all those notes or risk losing them and that’s why I mostly use Obsidian on the desktop now cause even if the company behind it disappears all my notes are in my control and are in markdown format which means they can be imported into any other notes app easily.

      And the 3rd party integrations API would help in getting more value out of your notes, right now I feel all my data is siloed across several apps, the articles I read and their highlights are in Pocket, my Kindle has my book highlights, my long term notes are in Obsidian, my short term notes are in Keep, my Todos are in TickTick. I am looking into a way to consolidate all the different sources of data to get synced into one platform so I have it all centralized, I saw recently that TickTick added a integration with Notion. I’m hoping to find a quick notes app that can be made to easily sync with Obsidian. Right now I tag Keep notes that I want to copy to Obsidian and then manually copy them on weekends.

      • @bruce965@lemmy.mlOP
        link
        fedilink
        English
        16 days ago

        Regarding multi platform targeting, have you considered something like React Native or Flutter

        I have! I use Flutter in a professional setting and I do not hate it, but I am madly in love with React (not Native) for my personal projects. I tried React Native in the past and I found it a bit finicky, but it was just a “brief encounter”, so I might change my mind about it in the future. For now I would go with Electron to save time, but I do not exclude the idea to build a desktop + mobile interface in Flutter in the future. React (not Native) can also run on any platform, that should be more than enough for the MVP.

        I absolutely do not want to go with Flutter for the web though, as I feel like it’s the exact opposite of what I would dream the web to be. I feel like Google built Flutter to give Android developers a tool to make apps with the excuse “oh yeah, it works on browsers too” and call it a day. Flutter basically bypasses most of the things that browsers do and in my personal opinion it re-implements everything more poorly than how a traditional web app would. Come on, they even built their own layout engine and even a rendering engine, was that really necessary? Browser extensions don’t integrate well with Flutter apps, and the debugging experience is subpar. I really like Flutter for Android and desktop apps, and I might even say it’s easier/simpler than Android Studio (Kotlin), but personally I feel like it’s just a big dirty hack in the web context.

        Okay, I just realized that my reply sounds a lot like a rant. My apologies. Please consider this as my current view on these tools, it might change in the future. It’s not a criticism.

        the company behind it shuts down or gets sold

        That’s an important concern. Well, the source code is AGPL 3.0, so there is no risk of it disappearing. Also, this would be my hobby project and I absolutely do not expect it to ever become anything commercial. I do not even plan to accept donations or anything like that. Basically it’s something that I need, and since it doesn’t exist I am considering building it myself.

        There is a big probability that I might stop working on it either because I find it “good enough” for my needs or because I won’t be able to work on it anymore, but I would say I’ll try to keep it as simple as possible, so it should be relatively easy to maintain. Also, relying on Element (Matrix) maintain the server code would mean I just need to maintain the client, which should cut the work down by 50%. I strongly hope Matrix will never shut down or get sold.

        In any case, okay! Let there be the possibility to export data in a common format! (Preferably Markdown)

        I feel all my data is siloed across several apps

        Matrix supports a way to integrate with third-party data sources, but I haven’t read too much into it as it was not in my goals. Perhaps a Synapse (Matrix) plug-in might allow to integrate notes with third-party sources without having to make any changes to the client code. I might investigate this possibility in a later stage.

        • @BackgrndNoize@lemmy.world
          link
          fedilink
          English
          26 days ago

          Yeah my past experiences with React Native was finicky as well, but that was a few years ago, haven’t tried anything in Flutter yet, but I see your point. I thought Matrix was just a distributed chat protocol, I’ll look into it more regarding synapse

    • @Scrollone@feddit.it
      link
      fedilink
      English
      77 days ago

      Honestly, shared notes is my #1 most used feature. I have many shared notes with my family (e.g. shopping list, movies to watch, etc.)

  • @cecilkorik@lemmy.ca
    link
    fedilink
    English
    98 days ago

    Nextcloud Notes or Joplin (nevermind all the other features Nextcloud provides) tick most of your boxes. They’re more productivity focused than privacy focused, it doesn’t do “zero knowledge” encryption the way you’re describing, but I don’t really understand the point of that when you’re self-hosting and the server host belongs to you anyway. The federation may leave you wanting more and the collaboration might not be “real time” enough for you either, though. If you can build something better by all means go for it.

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      48 days ago

      Oh yeah, both Joplin and NextCloud are great. I tried them both in the past. NextCloud is a bit bloated in my opinion though, I was hoping to go for something simpler both to install and to use.

      Most of us here on the Lemmy Selfhosted community are skilled enough to keep a computer running somewhere, expose it securely on the internet (or just LAN, if that’s good enough), and install their own services such as Joplin and NextCloud, but my goal would be to make something that you don’t need to self-host. If you can trust any server, you don’t need to host your own. I like the idea of building a network comprised of both self-hosting users, and “normal” users, like here on Lemmy.

      The federation may leave you wanting more and the collaboration might not be “real time” enough for you either, though. If you can build something better by all means go for it.

      I’m not sure I understand what you mean. Do you mean writing a protocol that supports federation is a very difficult thing to do? Actually my first draft didn’t include federation as that’s just too much for my skills. But I am considering adopting Matrix, and Matrix includes federation, so why not? They built real-time messaging with Matrix, so I would assume that should be real-time enough for document editing.

  • andrew0
    link
    fedilink
    English
    118 days ago

    For notes, I have moved to Joplin with the option to synchronize my data using a WebDAV server. It works really well, and it has both a mobile and desktop app. If you’re interested in developing your project, maybe you can have a look at the options this provides. For example, I really like the ability to separate notes between groups, assign tags, create drawings, and the possibility to use Markdown.

    Good luck with your projects! To mirror @enemenemu’s suggestion, I would also look into collaborating with the people trying to push the EU Docs alternative. Not sure if that will work, but it’s worth a shot if you’re interested :D

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      68 days ago

      Oh yeah, I used Joplin in the past. Although the goals are quite different from my idea. Joplin is a great recommendation as an alternative to Google Keep, but it’s not real-time collaborative (or federated, for what it matters).

      create drawings

      Ah, I don’t remember this option. Maybe it wasn’t available when I tried it last time a few years ago. I guess that means Joplin is still being actively developed.

      I would also look into collaborating with the people […] Not sure if that will work, but it’s worth a shot if you’re interested

      Oh! I just noticed that they have quite a few things besides Docs. I mean… I probably should. My goal is for something much smaller, I just want a replacement for Google Keep, and some day in the near future, SplitWise. Joplin sounds like a better candidate than Numerique.

      Thanks for pushing to collaborate, I realize that would actually make more sense than starting a new project from scratch. Not without guilt, I have to admit that I code for fun, and I have more fun working on something that works exactly as I envision it rather than just joining another project. Someday I might learn how to make some real contributions to existing software, but I don’t think this idea of making a simple replacement for Google Keep will be my trampoline to working this way. Still, thank you for trying to push me to do it!

  • @warmaster@lemmy.world
    link
    fedilink
    English
    15
    edit-2
    7 days ago

    There’s already an international open source and federated standard for Journals, Tasks and Notes. It’s called iCalendar-standard (RFC-5545) . See the VToDo component, relevant for your Google Keep alternative.

    Also check out JTX Board

    Pros:

    • FOSS
    • Federated
    • List, Grid, Kanban views
    • Reminders
    • Alarms
    • Location
    • More

    Cons:

    • Markdown only, no WYSIWYG.

    Syncing:

    • WebDav server (many FOSS and selfhostable servers available). For mobile client there’s DavX.
    • WebDav Encrypted sync server Etesync which is FOSS and selfhostable.

    These standards and protocols are compatible with almost every software remotely related, including Thunderbird, KDE’s Kontact, and many more. And the feature set matches or even exceeds Google Keep’s capabilities.

    My humble opinion is that you don’t need to reinvent the wheel, just build on top of what is already widely used, tested, documented, FOSS, privacy respecting, standards compliant, audited.

  • @Bluefruit@lemmy.world
    link
    fedilink
    English
    328 days ago

    IMO, the more self hostable options we have for services, the better. This sounds like a good idea to me.

    Good luck with your project and thank you for taking the time to contribute to the free and open source community.

  • @Xariq@lemmy.dbzer0.com
    link
    fedilink
    English
    68 days ago

    I’ve specifically been looking for a self-hostable keep alternative for a while now. This sounds amazing, will be following the project!

  • @Willdrick@lemmy.world
    link
    fedilink
    English
    28 days ago

    Really interested on seeing this, although if I could make a suggestion, start by scouting around and see if you can adapt FOSS apps, maybe fork them and add/remove features to please your objectives and tastes.

    Although I’m eager to see these through, I like projects like murena (/e/OS) that cobble together good Foss projects into a single cohesive ecosystem (without making the word ecosystem gross and vendor locked in like in most cases)

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      1
      edit-2
      7 days ago

      start by scouting around and see if you can adapt FOSS apps

      I see lot of people are recommending me to contribute to existing projects instead of reinventing the wheel. I want this app to be as close as possible as I envision it, I couldn’t find something close enough to what I had in mind (in particular these three things do not seem to get along well: real-time collaboration, simplicity, reliability/stability). But I’ll be honest, I code for fun and I am lazy. Even if there was another project similar enough to this, I don’t think I would want to invest time to learn all the details and then more time to see if it can be adapted to my vision. Starting from scratch is easier, even though it might not be as beneficial to the FOSS community. Still, thank you for suggesting this, that sounds like it would be the smartest thing to do.

      Also, I didn’t know about Murena, thanks for mentioning it!

      • @Willdrick@lemmy.world
        link
        fedilink
        English
        37 days ago

        Oh no, don’t take it as “don’t reinvent the wheel”! I meant it in the true sense that sometimes we spent so much effort and focus building something, just to post about it somewhere and getting a reply “Oh nice, it’s exactly like X project!”.

        Currently I’m running NextCloud on prem, so DavX5 and JTXBoard cover most of my note taking and todo tasks, and I guess one could deploy the server-side encryption module on a NextCloud AIO on a VPS and keep everything (probably) safe and private. I’m kinda lazy too, that’s why I liked the hands-off maintenance of NC-AIO. I get notifications to update stuff, and I get regular security audits from NC itself.

        BTW, never take that “doing stuff already done” is in detriment of helping FOSS projects. There are tons of examples of people randomly tinkering around and accidentally finding some huge fix for other projects. Off the top of my head, some weeb wanted to play Nier Automata at decent framerates on wine and a few years later, here we are with DXVK and all the proton stuff making most stuff playable!

        • @bruce965@lemmy.mlOP
          link
          fedilink
          English
          16 days ago

          Okay, I get it now :P

          DXVK was born from a Nier Automata player Linux enthusiast? That’s cool! I never checked, I assumed it was build by some big company like Valve or something. Kudos to Philip Rebohle!

  • @mr_jaaay@lemmy.ml
    link
    fedilink
    English
    48 days ago

    Why not use Joplin? Open-source, very flexible, I run it on a bunch of devices and sync it via a EU cloud provider over S3 in an encrypted bucket…

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      68 days ago

      Joplin is not really real-time collaborative, nor federated. Or rather, it wasn’t last time I used it a few years ago, unless things have changed now. As a developer, I like Joplin though, that would be a great suggestion.

  • @Chee_Koala@lemmy.world
    link
    fedilink
    English
    4
    edit-2
    8 days ago

    Hey Hey! What a fantastic idea, I sure hope you can manage!

    I was immediately wondering why you wouldn’t hop on projects already out there. For example: I recently ditched google Keep // Trello for Joplin, which i think already ticks alot of your boxes, even Async collab should work (but not realtime, and you’d have to manually resolve conflicts). Maybe adding better collab in Joplin is a more efficient way to spend your time? LibreOffice also has Async collab, since I think about 6 months, so while it might be young, it will grow, and might also benefit from another person putting their time towards it.

    Whatever you choose to do, I’ll be super interested to see the results.

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      38 days ago

      As far as I know, Joplin is not really real-time collaborative, nor federated. I was using it a few years ago and I like it, that would be a great suggestion for people not interested in those two things.

      why you wouldn’t hop on projects already out there

      Ah… that’s… yeah, that would probably make a lot of sense. I think that to us developers it’s much easier to come up with our own ideas than to hop onto other projects unless they align very well with our vision. It’s quite unusual to find other people with our very same goals. I’ll be honest, I code for fun. I would like to build this tool because want it more than because I need it, as there already are both Google Keep and Joplin after all. If there was an alternative out there with most of the feature features I need, in a programming language and framework that I am familiar with, I would probably have joined or forked it. But no, unfortunately that’s not the case. My goal is not to just find/build a replacement for Google Keep, my goal is to find/build a framework that can be used to build more collaborative apps in the future. A replacement for SplitWise is my next goal immediately after Google Keep, and I assume (hopefully not too naïvely) that once I will have a starting point, making more similar apps will be virtually free in terms of time required.

      Actually, I was just so incredibly lucky that the Matrix protocol seems to overlap almost exactly with all the things I had in mind. I had included a few more features in my draft for a custom protocol, but honestly adopting something already made would save many tens of hours of work, so joining something already existing sounds like a good idea. I don’t think I will be able to contribute code to it though, as it’s developed in a language I am not familiar with (yet), so if I decided to go for Matrix after all, I will just be joining as a consumer.

      LibreOffice also has Async collab […] might also benefit from another person putting their time towards it

      Oh, that’s actually good to know, thanks! Personally, at the moment I use Google Docs when I need to work in real-time on a document with someone else. In my opinion it’s just too convenient to just be able to share a link which can be opened with a web browser from any device and operating system. There are some good self-hostable web options for documents imho though, which are probably less resource-demanding than LibreOffice.

      Unfortunately I am not interesting in contributing to LibreOffice. I have installed it on all of my devices, but I almost never use it.

      Whatever you choose to do, I’ll be super interested to see the results.

      I’ll take that as an encouragement! Thanks!

      • @Chee_Koala@lemmy.world
        link
        fedilink
        English
        38 days ago

        I think I understand your requirements more clearly now, a framework for FOSS collaborative work would be really great. I Hope you can find a way to use Matrix for it. Thanks for the explanation.

        Man, I loved the google docs realtime collab functionality, they pretty much nailed it day 1 in my eyes. It’s so easy. If your project works/takes off it should be a lot more straightforward for FOSS projects to incorporate it. Hype!

        • @bruce965@lemmy.mlOP
          link
          fedilink
          English
          18 days ago

          Well… if a FOSS project wants to incorporate collaborative work they could already do it, well… through Matrix for instance.

          They might (depending on how the application works) also need to implement additive changes and possibly also a conflict resolution UI if they want to support synchronization from offline changes. But I’m afraid both these things might be very application-specific.

          I’ll be honest, I don’t think much of what I have in mind would really be adoptable by existing projects. But I’ll do my best to keep everything relatively modular just in case.

          Thanks (again) for the encouragement!

  • @Squizzy@lemmy.world
    link
    fedilink
    English
    27 days ago

    Disclaimer, I am idiot with no time.

    I know Joplin exists but I havent got around to setting it up.

    Would you look a developing a shared notes app, Wanderlist used to be great before microsoft for Shopping lists.

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      26 days ago

      I didn’t know this term! I knew about DAGs which are probably a way to implement CRDTs. I just read the definition on Wikipedia, it says that “[CRDTs feature] an algorithm (itself part of the data type) automatically resolv[ing] any inconsistencies that might occur [in case of conflicts]”, that sounds interesting. I was thinking to try to resolve conflicts automatically whenever possible by adapting Git merge strategies, and when impossible: either just concatenate both versions and let the users fix it manually, or giving users the option to choose line-by-line which version they want.

      With this keyword I might be able to find more literature on the topic. Thank you for suggesting it!

  • Lovable Sidekick
    link
    fedilink
    English
    3
    edit-2
    7 days ago

    I think any app for text input should have word prediction. It’s mostly for phone users but I’ve found it so handy since getting a phone where it’s well implemented (Pixel 8) I’ve quickly come to think of it as an essential component that should be available to any app.

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      16 days ago

      Ah, that’s a good suggestion, but definitely out of my scope. Since I want to make a web UI first, users could look for a word prediction plugin for their browser if that’s something they are interested in. Still, thanks for the suggestion!

  • @enemenemu@lemm.ee
    link
    fedilink
    English
    3
    edit-2
    8 days ago

    Could you maybe work with someone together, or get inspiration from something like the docs project from the european union https://docs.numerique.gouv.fr/ ?

    Moreover, I’m an “advanced user” and I want to write with markdown and/or typst. A wysiwyg typst editor would be amazing

    Edit: did I mix google keep and docs? Probably. Sorry 😅

    Edit2: are you looking into vjournals? https://connect.mozilla.org/t5/ideas/support-vjournal-in-thunderbird/idi-p/46295

    • @bruce965@lemmy.mlOP
      link
      fedilink
      English
      3
      edit-2
      8 days ago

      Oh yeah, I looked into and tried some of the European collaborative docs softwares, in particular I like this Numerique’s clean Material UI interface and I’m definitely going to take inspiration from it (although I haven’t installed and tried it, I just checked screenshots). Although, if you are recommending it as an alternative to my idea, Numerique doesn’t seem to be federated, nor to be privacy-centric (well… it is if you self-host, but my idea is to let people collaborate through different servers, like Lemmy, I don’t want users to need to trust the owner of the servers they join). And I really need an alternative to Google Keep more than Google Docs. I’ll be honest, Google Keep is really well made in my opinion, I would say we don’t yet have a good self-hostable alternative.

      did I mix google keep and docs

      Yeah, Google Keep is more like for text snippets, links, checklists, scribbles, and images. Google Docs is a full-fledged RTF editor. I was planning to implement the two things separately. I considered implementing Markdown in the Google Keep replacement, but I am still undecided whether it might count as feature-bloat.

      vjournals

      Oooh, that’s nice. I know about VCard and VCal, but I didn’t know about VJournal. Thanks for the hint, this might be very useful!