Urgent.News

What's breaking now, across thousands of outlets.

Tech

I built 'Notion meets Microsoft To Do' — E2EE notes, a PWA, and a Play Store app without Kotlin

Notes in one app. Tasks in another. Calendar in a third. Every day I paid a little attention tax shuttling between them. So I built Nuo — a block-based editor for your thoughts and a task manager for your day, in one fast, dark workspace. It's now live on Google Play . This post is about the three problems that turned out to be way more interesting than "build a notes app": client-side encryption…

I constructed Nuo, a block-based editor and task manager combined into a single fast, dark workspace. It's now available on Google Play. This post explores three challenging aspects of developing Nuo: client-side encryption, calendar sync without a sync engine, and getting a PWA onto the Play Store without writing Kotlin. Nuo is a Notion-style block editor built on BlockNote, featuring slash commands, drag-to-reorder, checklists, code blocks, tables, and embedded tasks.

It also includes a comprehensive task manager with focus views, priorities, due dates, groups, and lists. Google Calendar events are synced with Nuo, and tasks with due dates are pushed to the calendar. E2EE (end-to-end encryption) is a critical feature that proved more complex than anticipated. Each secure row is encrypted with AES-256-GCM using a master key generated in the browser with WebCrypto.

A 256-bit passphrase is converted into a wrap key through PBKDF2-SHA256, wrapped around the master key, and securely stored. The recovery process utilizes a 24-word BIP-39 mnemonic encoded as a backup of the master key. A PWA (Progressive Web App) approach was taken to get Nuo onto the Play Store without writing Kotlin. The app is built using Next.js 16, React 19, tRPC, Prisma 7, Supabase, TypeScript, and Tailwind 4, and then wrapped in Bubblewrap to create a Trusted Web Activity (TWA) for Android.

The codebase is shared between the web and Play Store, with a one-time deploy updating both platforms. Testing was conducted using Vitest for unit tests and Playwright for end-to-end testing on various browsers and devices.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Study Buddy

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend ⚡ StudyBuddy: An Aesthetic All-in-One Study Companion Built for My Best Friend What I Built Every exam season, I watch…

More from Saturday 3 October →