A minimalist keyboard-first note-taking Progressive Web App, tailored for fast operations and data-privacy. A sequel to JustJot.
The application is currently deployed at aijot.app via Vercel.
- Keyboard-first philosophy and workflow
- Powerful main input that handles both search and quick data creation
- Three item types: text, todo, link/bookmark
- Dynamic filter-based collection system
- Privacy-focused; data exists only on area where user has control over
- Local-first: works without internet connection; changes are immediate
-
React via Vite
-
Dexie/IndexedDB
-
Zustand + TanStack Query
-
Google Drive API (optional)
-
CodeMirror 6
-
Hono (backend)
The project's CSS uses BEM convention for elements' classnames with PascalCase, inheriting the convention used in JustJot.
JotItem__PrimaryText--Selected
This convention has improved (subjective) readability without any encountered issue. This remains in the codebase as of time of writing.
Refer to .env.example in the root directory (for frontend) and in /api (for backend), respectively.
In Vercel deployment, all environment variables are merged and shared in the project's single dashboard.
- Frontend:
pnpm dev(Vite, port 5173) - Backend:
pnpm --filter @aijot/backend dev(tsx, port 3000) - Vite proxies
/apitolocalhost:3000during dev - As a shorthand, run
pnpm dev:allto run both
For bug reporting, issues, and design suggestions, please open new issues on GitHub.
Monkey Type
Theme definitions used under the following license:
- Source: https://github.com/monkeytypegame/monkeytype
- License: GNU General Public License v3 (GPLv3)
- Copyright: Monkey Type contributors
Standard Book
- Source: https://github.com/brycewilner/Standard
- License: SIL Open Font License v1.1
- Copyright: Bryce Wilner