Skip to content
Youness Fkhach · Writing · · 2 min readHomeWorkWritingResume

FireNotes: Building a distraction-free note extension with zero servers

Heavy note apps add friction. I built FireNotes as a minimal browser extension that syncs across devices using native WebExtension storage.

WebExtensionJavaScriptOpen SourceTooling

I prefer minimal note-taking tools. I want a scratchpad to drop quick thoughts, temporary code snippets, saved links, and quick checklists without managing a complex hierarchy.

I tried Notion, Obsidian, and Affine. They’re capable tools, but for quick scratch notes they bring too much friction. Opening a heavy app, waiting for loading screens, and managing vault structures gets in the way of capturing an idea.

Finding Firefox Notes

Eventually I landed on Firefox Notes. Because my daily workflow revolves around an open browser window, having a scratchpad right in the sidebar made sense.

It had zero clutter. No loading delay, no heavy UI elements, and no RAM bloat. It stayed out of the way.

I fell in love with that workflow, but ran into a dealbreaker: Firefox Notes is deprecated and doesn’t support syncing across instances. Older screenshots suggest sync existed at some point, but the extension operates as isolated local storage.

That created two problems:

I wanted cross-device sync without abandoning the minimalist design. Setting up custom backend servers, managing databases, or handling user authentication felt like overengineering for a simple scratchpad.

Discovering storage.sync

While researching WebExtension APIs, I looked deeper into browser.storage.sync.

Most browsers include built-in storage engines designed for extension settings and small data structures. When an extension writes data to storage.sync, the browser automatically replicates that data to any instance signed into the same browser account (such as Firefox Sync).

What makes storage.sync useful for this use case:

The API imposes storage limits (100KB total capacity in Firefox), which forces keeping data structures lightweight: a natural match for a scratchpad.

Building FireNotes

I built FireNotes, an open-source Manifest V3 extension modeled on the simplicity of Firefox Notes.

FireNotes list view

I built it around three design choices:

FireNotes editor view

It includes a dark and light theme toggle, task checkboxes that auto-continue on enter, and zero third-party telemetry or external network calls.

It’s available on Firefox Add-ons. The source code is on GitHub.