Skip to content

djquan/tasky

Repository files navigation

Tasky

Local-first PWA todo app powered by CRDTs.

Screenshot 2025-11-25 at 6 59 28 PM Screenshot 2025-11-25 at 7 00 17 PM

Quick Start

# Install dependencies
pnpm install

# Run dev server
pnpm dev

# Build for production
pnpm build

# Preview production build
pnpm preview

Features

  • ✅ 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

Architecture

Monorepo (pnpm workspaces):

  • packages/web - React PWA (Vite + Tailwind)
  • packages/shared - Shared types/utils
  • packages/server - Y-Sweet sync server (optional)

Stack: React, TypeScript, Vite, Tailwind, Yjs, IndexedDB, Y-Sweet

See PLAN.md for detailed architecture and roadmap.

Requirements

  • Node.js >= 25
  • pnpm >= 10

Project Structure

tasky/
├── packages/
│   ├── shared/          # Shared types and utilities
│   └── web/             # React PWA application
├── PLAN.md              # Detailed development plan
└── package.json         # Root package with workspace scripts

Multi-Device Sync (Optional)

Tasky supports optional multi-device synchronization via Y-Sweet:

  1. Start sync server:

    cd packages/server
    docker-compose up -d
  2. 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
  3. Restart dev server - sync initializes automatically

See packages/server/README.md for detailed setup instructions.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors