DEV Community

Cover image for I Built a Notion Alternative That Works in Airplane Mode. Now Help Me Solve Sync Conflicts
Mayank Jha
Mayank Jha

Posted on AI-assisted

I Built a Notion Alternative That Works in Airplane Mode. Now Help Me Solve Sync Conflicts

Last month I was on a train. Tunnel. My notes app showed a spinner.

I just wanted to write down one idea, and my notes app was waiting on a server.

So I built Dovli: a calm place to write, plan and sketch. Notes, docs, to-dos and whiteboards in one app, and it keeps working when the internet doesn't.

What Dovli does

  • ✍️ Block editor with / commands, nested pages, tables and to-do lists
  • πŸ”Ž ⌘K search across every page, plus #tags
  • 🧠 Whiteboards and flowcharts that sit right next to your notes
  • 🎨 Page styles (Linen, Cobalt Night, Sage Garden and more) and light/dark themes
  • πŸ“΄ Offline-first: edits save on your device and sync when you're back online
  • πŸ€– MCP support: Claude Desktop, Claude Code or Codex can search, write and tidy your pages
  • πŸ“₯ Imports from Notion, Evernote and Craft
  • πŸ’» Runs on the web, Mac and Windows, and Android (APK now, Google Play on 7 November)

It's free.

How it's built

  • Turborepo monorepo with a Next.js web app
  • Expo / React Native for Android. The mobile app reuses the web editor as an Expo DOM component, so I didn't write the editor twice
  • Electron for the desktop app, reusing the same web code
  • BlockNote for the editor and Excalidraw for whiteboards
  • Firebase for sign-in and sync

Where I'm stuck, and I'd love your take πŸ‘‡

You edit the same note on your laptop and your phone, both offline. Then you reconnect.

Which version should win?

  1. Last write wins: simple, but you can lose work
  2. Merge both: smart, but sometimes messy
  3. Ask the user: safe, but annoying

Reply with 1, 2 or 3 and why. I'll build the most popular answer into Dovli and credit you in the changelog. πŸ™Œ


πŸ”— Try it: dovli.in
πŸ’» Code: github.com/MayankJha0333/dovli

Top comments (5)

Collapse
 
mayank_jha333 profile image
Mayank Jha •

Good catch, thanks for pointing this out.

Content edits are merging fine per block ID, but block order depends on whichever device syncs last. Because of this, a move + edit can lose the move, and an indent + edit can even duplicate the block. I was able to reproduce both issues.

I'm fixing this now by handling block position separately from content so both changes can be merged correctly.

Collapse
 
mayank_jha333 profile image
Mayank Jha •

Would love your honest thoughts

Collapse
 
csm18 profile image
csm •

Maybe connect the 2 devices with bluetooth for offline sync! πŸ˜€

Collapse
 
davekurian profile image
Dave Kurian •

I’d choose 3, with one distinction: merge independent edits automatically, but when both devices change the same block, show the two versions and let the person choose. Keep a small conflict history so a mistaken choice is recoverable. That avoids silently losing work without interrupting every offline edit.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.