Local-first PWA todo app powered by CRDTs.
# Install dependencies
pnpm install
# Run dev server
pnpm dev
# Build for production
pnpm build
# Preview production build
pnpm preview- ✅ Offline-first architecture
- ✅ PWA - installable on desktop/mobile
- ✅ CRDT-based (Yjs) for conflict-free updates
- ✅ IndexedDB persistence
- ✅ Basic todo CRUD (add, edit, complete, delete)
- ✅ Multi-device sync (Y-Sweet) - optional, self-hosted
Monorepo (pnpm workspaces):
packages/web- React PWA (Vite + Tailwind)packages/shared- Shared types/utilspackages/server- Y-Sweet sync server (optional)
Stack: React, TypeScript, Vite, Tailwind, Yjs, IndexedDB, Y-Sweet
See PLAN.md for detailed architecture and roadmap.
- Node.js >= 25
- pnpm >= 10
tasky/
├── packages/
│ ├── shared/ # Shared types and utilities
│ └── web/ # React PWA application
├── PLAN.md # Detailed development plan
└── package.json # Root package with workspace scripts
Tasky supports optional multi-device synchronization via Y-Sweet:
-
Start sync server:
cd packages/server docker-compose up -d -
Enable sync in web app (
packages/web/.env):VITE_SYNC_ENABLED=true VITE_YSWEET_URL=ws://localhost:1234 VITE_YSWEET_TOKEN_URL=http://localhost:8092/token
-
Restart dev server - sync initializes automatically
See packages/server/README.md for detailed setup instructions.