- Tech Stack
- JavaScript, Node.js, React, Vite, Fastify, NPM, Vitest, Markdown, Filesystem API
- Description
- A local-first note-taking application designed for private, offline content management, combining a React/Vite interface with a lightweight Node.js/Fastify server and human-readable Markdown/text file persistence.
- Installation
- npx local-notes
- Usage
- Local URL: http://127.0.0.1:8989
- Key Features
- ๐ Local Note Management: Create, edit, organize, and manage notes directly on the local filesystem
- ๐ Filesystem-First Storage: Persists notes as human-readable .md and .txt files instead of relying on a cloud database
- ๐ Note Organization: Provides a structured workspace for browsing and managing local notes
- โก Offline-First: Fully functional without cloud services, external APIs, accounts, or telemetry
- ๐ฅ๏ธ Local Web Application: Runs a browser-based interface through a locally hosted Node.js server
- ๐ Simple CLI Launch: Installable through NPM and launchable with npx local-notes
- ๐งช Automated Testing: Includes Vitest configuration and a dedicated test suite
- ๐ Privacy-Focused Architecture: Keeps notes and application data on the user's local machine
- Technical Highlights
- Built a React frontend with Vite for a lightweight and fast local development experience
- Implemented a Node.js/Fastify backend to serve the local application and handle filesystem-based operations
- Designed a filesystem-first persistence model using human-readable Markdown and text files
- Stored application content locally under ~/.local-notes/, eliminating dependency on a remote database
- Implemented a fully offline architecture with no cloud services, external APIs, analytics, telemetry, or user accounts
- Packaged the application as an NPM-installable local tool with a simple npx local-notes launch workflow
- Configured Vitest for automated application testing
- Structured the project with separate frontend, backend, test, architecture, and operational documentation
- Designed the application around local ownership and portability of user-generated content