Synora
Block-based notes: fast, offline, on mobile and desktop.
6platforms, one codebase
Private source code
Site redesign
- Mockups
- CSV export
Site redesign
InsertTextTo-doDatabase
Context
Synora starts from a simple idea: the flexibility of Notion, reimagined for a phone. Fast, offline and beautiful by default. Every idea is a block: text, to-dos, code, databases and more.
What I built
One Flutter codebase targeting Android, iOS, Linux, macOS, Windows and the web.
- Block editor: Markdown shortcuts as you type (
#followed by a space becomes a heading), a keyboard-navigable “/” menu that flips above the cursor when space runs out, and a tree of pages and sub-pages. - Databases: four native views designed for mobile (table, kanban board, calendar and timeline), with a date column type.
- Shared workspaces: email invitations, owner, admin, editor and viewer roles, real-time sync.
- Browser extension (Manifest V3) to create and edit notes from the browser, with no SDK or bundler: only Firebase’s REST API and WebCrypto.
Technical highlights
- Offline-first: local SQLite storage with schema migrations. Only page metadata loads at startup, blocks load when a page opens, and long pages use virtualized lists.
- Conflict-free sync: a block-level CRDT (LWW-Element-Set) with fractional-index positions, so offline edits merge cleanly.
- End-to-end encryption: AES-256, reproduced byte for byte between the Dart app and the WebCrypto extension. A note encrypted on the phone decrypts in the browser, and vice versa.
- Resilience: every network operation is isolated, so a sync error never breaks local state.
- Tests: collaborative model serialization, the database schema, the “/” menu, and the CRDT’s merge and reorder math.
What’s next
An AI block is being integrated, backed by a local model through llama.cpp. Synora’s marketing site, built with Astro, is waiting for its demo videos before going live.
Got a similar project? Let's talk.
Start a project