Skip to content
KaspiuPublic

About

Voton - local-first writing workspace for notes, pages, and portable data.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Voton

A local-first writing workspace for your notes and ideas.

Voton is an open-source, browser-based workspace for writing and organizing notes. Your pages and folders stay on your device, with no accounts, cloud sync or analytics in the app.

You can start writing in the browser app or run Voton locally. To report a bug or suggest an improvement, open an issue.

The Voton writing workspace in light and dark themes

Features

  • Write: use a block editor with rich text, lists, tables and code blocks.
  • Organize: nest pages in folders and search by page title or folder path.
  • Personalize: add page emoji and cover images, and choose folder colors.
  • Focus: choose light, dark or system theme, and hide navigation while writing on desktop.
  • Keyboard shortcuts: search pages, create pages and folders, toggle the sidebar and switch focus mode. Open the guide from Shortcuts in the sidebar or with Ctrl+Alt+/ (Cmd+Option+/ on macOS).
  • Continue: duplicate pages and choose whether to reopen your last page when you return.
  • Back up: export your workspace or a single page as JSON, import either Voton JSON export or create pages from Markdown files.

Run locally

Use Node.js and npm. No environment variables or external database are required.

Development

git clone https://github.com/Kaspiu/voton-app.git
cd voton-app
npm ci
npm run dev

Open localhost:3000. The root address takes you to the workspace at /documents.

Production

npm run build
npm run start

The build needs an internet connection to download the Geist fonts. Those fonts are then served with the app.

Your data

Pages, folders and editor content are stored in IndexedDB in your browser. Small UI preferences use localStorage. Each browser profile and origin has its own workspace, so changing the domain, protocol or port does not transfer your notes automatically.

Use Export data in Workspace settings to save regular JSON backups of all your pages and folders. To export a single page, choose Page options → Export as JSON. Page exports preserve content, icons and cover images without including folders. Import data merges a Voton workspace backup or single-page JSON export into the current workspace, or creates a new page from a Markdown file. JSON exports do not include UI preferences. Clearing site data or losing a browser profile can remove your workspace.

Voton does not provide encryption for stored notes. It also does not guarantee fully offline operation: the emoji picker loads images from jsDelivr, and external images, media or other content you add may contact their providers.

Contributing

Bug reports, feature suggestions and pull requests are welcome. Read the contribution guidelines for the workflow and checks required before submitting a change.

Built with

Next.js, React, TypeScript, Tailwind CSS and BlockNote, with IndexedDB, idb and Zustand for local data and state.

License

Voton is licensed under the MIT License.

About

Voton - local-first writing workspace for notes, pages, and portable data.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages