profile

Martin Adams

Deep in the Cloud Sync woods

Published almost 2 years ago • 3 min read

Behind the scenes of what's going on with Flowtelic...

There are few moments when building a new product where you get giddy with excitement. The moment where you, the creator, can visualise the whole thing coming together, and—for some reason—just gets you enthralled.

I’m at that moment again with Flowtelic—the note taking app that I’m building to help you study, learn, think, write and publish. And it all started with trying to figure out how to implement Cloud Sync.

The challenge

With Flowtelic being an offline application first, one of the major next pieces to the puzzle is to synchronise all your notes across different devices. However, this is challenging as you may be editing the same note offline on different computers, and you want to merge both changes when they come online.

I need to implement a Conflict Free Replicated Data Type (CRDT) and it must be robust and consistent.

As I look at the client app for Flowtelic, I realised that I need to go deeper into the data structure to allow it to synchronise to the server without conflict and with consistency across all clients.

Entity Core

For a number of years I’ve been researching a data storage technique which I call Entity Core. Its principles are simple, you store entities as nodes in a graph, and you store relationships between entities as vertices. This lends itself very well to the concept of networking thinking.

I’ve mostly been looking at this for the server side data storage, with a view to allows the contents of all notes to be fully encrypted so they are meaningless should the database server get compromised by any attacker.

I’ve come to the conclusion this Entity Core technique could be very powerful for the client side implementation as well to power the client application and enable entity and relationship level synchronisations.

This is the mission—to make it work!

The benefits if this works

If I get this working, then—omfg—this will make the application transform. This is what gets me giddy with excitement.

On the surface level, by having a node based data structure, it means I can build out the following features:

  • Folder structures for storing your notes
  • Nested notes
  • Note sequences (think Folgezettel from the Zettelkasten method)
  • Attachment entities so you store files in your notes
  • Improved linking and backlinking (so it doesn’t rely on the title of a note)

But this isn’t what gets me excited. Oh no.

What makes Flowtelic, Flowtelic

What gets me super excited is custom workflows. As of right now you get a Zettelkasten inspired workflow for Flowtelic. A workflow can adapt the note types, note status options, main navigation (so you can find things like in progress projects) and of course, focus mode.

With custom workflows, on any collection you will be able to fully customise all of these aspects. Zettelkasten not your thing, no problem, maybe you want to build a PARA note-taking workflow from Building a Second Brain.

But here’s the magic: When any note can be nested in another note. And if any note can have its own workflow. And if workflows can have note types, status options, custom properties and templates. Then you can build your dream workflow.

Here’s an example. Let’s say you want to create a PARA workflow where you organise your notes in to Projects, Areas, Resources and Archive. You can set this on your collection with a PARA workflow.

Now what do you put in Projects? What if you want to create YouTube videos. Then why note create a second workflow just for YouTube videos—where you have a multiple notes for research, titles, thumbnail design, script, story and production elements.

Now imagine, your YouTube video is researched from notes you have in your Zettelkasten collection? Just link the notes into your project and start creating. The possibilities are endless.

Show, don’t tell

I’ve been resisting writing about the future of the app as I want to share what the app can do today. But this has been hard work when I’m deep in the code getting the core mechanics working. So I wrote this to share my excitement.

Words don’t do it justice however. I have a very clear visual of what it is and how it works in my head. There’s nothing like it out there. And what’s covered in this email is the tip of the iceberg. This is just a taste of what’s to come.

Come join our PKM community

We have a community of those who love to learn and want to deepen your understanding of note-taking and personal knowledge management. It's open to everyone, just go to https://meda.io/community/join if you're interested. (You can browser it here: https://community.meda.io/)

Martin Adams

Building Flowtelic, the most efficient note-taking app that helps you study, learn, think, write and publish

Read more from Martin Adams

Hey Reader, I've got a new beta live for Flowtelic for those who haven't seen the video showcasing it yet. Check it out at https://beta.flowtelic.com. I'll soon be moving this over to the main app after some final testing. Here's a demo of it in action: Part Time YouTuber Academy anyone? I took Ali Abdaal's Part Time YouTuber academy course back in November. The enrollment for the new course opens up from the 28th Feb—which I also get to do again as part of the package I purchased. If YouTube...

about 2 years ago • 2 min read

Hey Reader, Wow, what a while it has been. Here's a summary of what's been happening recently. But first, come join our community (more details below). What's been happening The YouTube channel has reached 3,200+ subscribers 😱 —Thank you so much for making that happen. Development on the app is progressing very well. A major piece of foundational work for making it amazing on a mobile device which I'm super excited for. The main use I have for this is split screen on the iPad—can't wait! Sync...

over 2 years ago • 1 min read

Hey Reader, Wow, what a while it has been. Here's a summary of what's been happening recently. But first, come join our community (more details below). What's been happening The YouTube channel has reached 3,200+ subscribers 😱 —Thank you so much for making that happen. Development on the app is progressing very well. A major piece of foundational work for making it amazing on a mobile device which I'm super excited for. The main use I have for this is split screen on the iPad—can't wait! Sync...

over 2 years ago • 1 min read
Share this post