One workspace, every task in sync.
Karma Sync unites agile planning, Kanban workflows, sprint tracking, and daily personal to‑dos into a single, intuitive workspace for individuals and teams.
Stop context‑switching between five different tools.
Karma Sync eliminates context switching by combining robust team‑based Scrum and Kanban project management with personal productivity tracking.
Whether you're running multi‑week sprints with story estimations or managing everyday personal tasks, Karma Sync keeps progress synchronized and transparent — for one person or an entire team.
Built for the full lifecycle of a task — from idea to shipped.
Eight connected surfaces cover team planning and personal productivity without leaving the app.
Project management
Personal or collaborative projects with role‑based access: Project Managers control settings and sprints, Developers own their issues.
Interactive Kanban board
Fluid drag‑and‑drop across To‑Do → In Progress → Done, with instant status sync and visual priority badges.
Sprint & story lifecycle
Sprints move Planned → Active → Completed/Cancelled; stories move Draft → Ready → In Progress → Done with live progress bars.
Task management & tagging
Estimates, priorities from Low to Urgent, due dates, and a flexible tag taxonomy for technology, feature, and workflow.
Comments & @mentions
Threaded discussion on every task and issue card, with backend‑validated @username mentions and UI highlighting.
Project activity log
A centralized trail of status transitions, sprint events, story updates, and role changes — surfaced as a dashboard widget.
Personal daily to‑dos
A productivity hub separate from team boards — categorize by Work, Health, Study, set reminders and priority tiers.
Auth & email workflows
JWT authentication, OTP email verification at signup, and OTP‑based password recovery — rate‑limited to avoid notification fatigue.
A conventional MERN stack, deliberately kept lightweight.
Frontend
Backend
A client and server, cleanly separated.
client/ # React frontend application ├── public/ # Static assets, HTML template, manifest └── src/ ├── api/ # Axios API service integrations ├── components/ # BoardManager, Dashboard, SprintManager, │ # StoryManager, Todos, ... ├── context/ # Global state (AuthContext, etc.) ├── styles/ # Modular CSS stylesheets ├── config.js # Frontend runtime configuration └── App.js # Application entry & routing server/ # Express.js backend API ├── controllers/ # Auth, Projects, Sprints, Tasks, ... ├── middleware/ # JWT authentication & route guards ├── models/ # User, Project, Task, Sprint, Story, Todo, Activity ├── routes/ # Express route definitions ├── services/ # Activity logger and notification services └── server.js # Express server bootstrap & MongoDB connection
Seven resource groups, one consistent shape.
| Resource | Base route | Description |
|---|---|---|
| Auth | /api/auth | User registration, login, OTP verification, password reset |
| Projects | /api/projects | Project CRUD, collaborator management, role assignments |
| Sprints | /api/sprints | Sprint creation, activation, completion, cancellation |
| Tasks & issues | /api/tasks | Task creation, status updates, comments, @mentions |
| User stories | /api/user-stories | Story breakdown, task mapping, progress aggregation |
| Todos | /api/todos | Personal daily to‑do CRUD operations |
| Users | /api/users | User profile retrieval and account updates |
| Health | /api/health, /health | API and MongoDB cluster health check |
Four steps from clone to running locally.
Requires Node.js 18+, npm 9+ (or yarn), and a MongoDB Atlas cluster or local instance.
Clone the repo
git clone https://github.com/bsurajpatra/karmasync.git
cd karmasync
Install dependencies
cd server && npm install
cd ../client && npm install
Configure environment
server/.env
MONGODB_URI, JWT_SECRET,
EMAIL_USER, EMAIL_PASS
client/.env
REACT_APP_API_URL
Run both servers
cd server && npm run dev
# → localhost:5000
cd client && npm start
# → localhost:3000