Note linking & at rest encryption is here! Check out what's new in v3.0.0
Blog Privacy for everyone
LoginSign up



Introducing Notesnook Importer 2.0

Supporting Evernote web clips, Obsidian file embeds, and a lot of bug fixes.
Abdullah AttaJuly 21, 2023

Using Javascript to Render Invalid HTML

HTML is an extremely flexible markup language but that doesn't mean there are no rules. Over the course of many years, browser engines became quite resilient to malformed HTML. But they weren't ready for Javascript.
Abdullah AttaMay 24, 2022

NeutralinoJS: The Next Best Alternative to Electron & Tauri

NeutralinoJS was not a new idea — instead of packaging the whole Node + Chromium with every app, why not reuse the already installed browser each OS comes with?
Abdullah AttaJanuary 22, 2022

React useRef Hook for Dummies: How to Use useRef Correctly with Examples

React useRef hook is much more 'useful' than you might think at first. useRef is especially useful when you need to access functions of a component.
Ammar AhmedOctober 09, 2021

React Native JSI: Part 1 - Getting Started

React Native JSI (Javascript Interface) is the new layer that helps in communication between Javascript and Native Platforms easier and faster.
Ammar AhmedJune 28, 2021

Getting rid of Lerna

A story about how and why we got rid of Lerna for package management in the Notesnook monorepo.
Abdullah AttaJuly 18, 2023

Using React Native Skia to Build a 60 FPS Free-hand Drawing App

Let's explore @spotify/react-native-skia by building a fully native, 60 FPS, free-hand drawing app that allows us to change stroke color, width & export the drawing as an SVG file.
Ammar AhmedMarch 22, 2022

Scoped Storage in React Native: New Android 10 API for File System Access

Up until Android 10 it was possible to get access to the whole user's device. To fix this, Google introduced Scoped Storage API in Android 10.
Ammar AhmedJanuary 15, 2022

React Native JSI: Part 2 - Converting Native Modules to JSI Modules

React Native JSI seems daunting but JSI is, by far, the best way to deliver native performance. And the best part? No overhead. No unnecessary Promises.
Ammar AhmedAugust 11, 2021