📝

One Note — Avnish Yadav

A simple, fast, and secure note-taking app built to boost productivity — with cloud sync, rich text, and even a hidden Snake game.

← Back to Projects

Overview

One Note is a productivity-focused note-taking web application that combines the simplicity of a plain text editor with the power of cloud sync and rich formatting. It was built to solve a common problem: most note apps are either too complex or too limited. One Note sits in the sweet spot — fast to open, easy to use, and reliable enough to trust with your important notes.

"Built with Vanilla JavaScript and Firebase — no frameworks, no bloat. Just fast, clean, and it works."

The Problem

Most note-taking tools fall into one of two traps: they're either heavyweight apps that take time to load and require accounts, or they're bare-bones editors that lose your data when you close the tab. There was a gap for something that:

  • Opens instantly in the browser
  • Saves automatically to the cloud
  • Supports basic rich text without a learning curve
  • Works offline and syncs when back online
  • Feels personal and fun to use

Features

Core

  • Rich text formatting (bold, italic, underline, lists)
  • Keyboard shortcuts for all common actions
  • Cloud sync via Firebase Realtime Database
  • Secure authentication (Google / Email)
  • Auto-save — never lose a note
  • Note export to plain text file

Extras

  • Dark mode with theme persistence
  • Responsive layout — works on mobile
  • Built-in Snake game (hidden easter egg)
  • Clean, distraction-free UI
  • Fast load time — no heavy frameworks

Tech Stack

Vanilla JavaScript HTML5 CSS3 Firebase Auth Firebase Realtime DB Firebase Hosting

Deliberately built without any JavaScript framework. The goal was to keep the bundle small, the load time fast, and the code easy to maintain. Firebase handles authentication and real-time data sync without needing a custom backend.

What I Learned

  • How to implement rich text editing using the browser's native contenteditable API
  • Firebase real-time sync patterns and offline persistence
  • Building secure auth flows without a backend
  • Keeping UX simple while adding depth through keyboard shortcuts and hidden features