Margin, a real-time collaborative notes app by Olu KareemMargin, a real-time collaborative notes app by Olu Kareem

Margin, a real-time collaborative notes app

Olu Kareem

Olu Kareem

Margin, a real-time notes app I rebuilt from the data layer up

A Notion-style notes app with real-time sync and a block editor, taken from a rough build and rewritten into something worth shipping.
Walkthrough

Overview

Margin is a notes and docs app built to feel instant and shared: you type, it syncs, and your workspace is there on every device without a save button or a refresh. It started from a rough build, and the real work was engineering rigor, taking the parts that mattered apart and rewriting them until the app was solid enough to ship. The interesting story here is not the feature list, it is what was quietly broken underneath and how it got fixed.

Role and approach

I built it as the sole developer, full stack. Rather than paper over the weak spots, I went after them: I found the real bugs on the backend, rewrote the data layer around a proper schema, and rebuilt the front-end interactions so the app felt as reliable as it looked. The goal was an app that never loses your work and never lies to you about what it found.

Key contributions

Fixing what was broken. The backend had genuine bugs hiding in it. Archive and restore returned before their work was actually done, and search quietly returned everything instead of what you asked for. I rewrote the data layer around a real schema, with ownership checks on every change and proper search indexes on both the title and the body, so the operations do what they claim.
Real-time sync. Edits show up live across devices and people, carried by Convex as the real-time backend so the app feels shared without hand-building a sync server.
A real editor. A block-based rich-text editor built on BlockNote for actual documents, not just plain text, with debounced autosave and a clear saving-to-saved indicator so your work is never in doubt.
The workspace. Workspaces and teams with authentication and per-user data, file uploads to cloud storage, a command palette that hits the real search, and dark mode.

Stack and outcome

Next.js and React with Convex for real-time, Clerk for auth, the BlockNote editor, EdgeStore for files, and Zustand. The outcome is a notes app that feels live and multi-user, built by choosing tools that carry the hard real-time work and then wiring them well, with the data layer rebuilt to be correct rather than merely functional.
Like this project

Posted Jul 17, 2026

A notes app with real-time sync, block-based rich-text editing, and shared workspaces.