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?
- Last write wins: simple, but you can lose work
- Merge both: smart, but sometimes messy
- 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













