A modern, feature-rich task management application with Kanban boards to assist human and AI Assistent Project progress.
Taskpulse is a Project Management system that helps you know and understand the progress your AI Assistent is maling on your shared Project and Project tasks. It's build to give you insights what Tasks the AI Assistent is not able to complete without your input. The AI Assistent can create Projects, Tasks and subtast and even assign you to them when you need to complete something before it can continue.
Built with: React, Node.js, Express, and SQLite
Perfect for: Development teams, project managers, freelancers, and anyone who needs to organize their work efficiently.
- API Skill File - AI assistants can download
GET /api/skill.mdto learn TaskPulse API - Smart Task Creation - AI can create projects, tasks, and subtasks programmatically
- Automated Workflows - Bots handle routine task management operations
- Decision Support - Subtasks capture AI-driven decisions (multiple choice or open questions)
- File Reference Tracking - Track emailed and on-disk files for AI workflows
- Team Isolation - Each team has its own projects and tasks
- Team Admin - Admin users can manage team members
- Join Requests - Request to join teams with approval workflow
- Data Migration - Seamless migration from personal to team-based work
- Bot Creation - Create API bots with custom permissions
- Granular Permissions - Fine-tuned access control (read, create, update, delete)
- Token Authentication - Secure API tokens for programmatic access
- Bot Management - CLI tools for bot lifecycle management
- Activity Tracking - Track bot actions in activity log
- Kanban Board - Drag and drop tasks between columns (To Do, In Progress, Done)
- Task Cards - Rich cards with priority badges, due dates, and assignees
- Subtasks - Break down complex tasks into manageable pieces
- Multiple Choice - Select from predefined options (great for decisions)
- Open Answer - Provide free-text responses (great for feedback)
- File Tracking - Track emailed files and on-disk references
- Priority Levels - Low, Medium, High, and Critical with color coding
- Task Assignment - Assign tasks to team members for collaboration
- Responsive UI - Works perfectly on desktop, tablet, and mobile
- Touch Gestures - Swipe to move tasks, tap to edit
- PWA Support - Install as a mobile app (iOS, Android, Desktop)
- Offline Mode - Continue working without internet connection
- User Accounts - Secure session-based authentication
- Bot API - Create API bots with granular permissions
- Token-Based Auth - For programmatic access and integrations
- Permission System - Fine-grained access control
- REST API - Full API for integrations and automation
- Bot SDKs - Easy bot creation for CI/CD workflows
- Webhooks Ready - Architecture supports webhook integrations
- Comprehensive Docs - API reference, admin guide, and quick start
- Due Dates - Never miss a deadline with visual indicators
- Task Assignments - Delegate work to team members
- Completion Tracking - Automatic timestamps when tasks are completed
- Productivity Metrics - Track tasks completed per day/week/month
- Real-time Updates - Instant synchronization across devices
- Search & Filter - Find tasks quickly
- Collaboration Made Easy - Assign tasks, track progress, and coordinate work
- Transparent Workflow - See everyone's tasks in one place
- AI Assistance - Let AI help prioritize and distribute work
- Bot Automation - Integrate with CI/CD pipelines and tools
- Secure Bot Integration - Whitelist known bot IPs for API access while allowing human users from anywhere
- Simple Yet Powerful - Get started in minutes, scale as needed
- Mobile Productivity - Manage tasks on the go with PWA
- Offline Support - Never lose access to your tasks
- Focus Mode - Clean, distraction-free interface
- Self-Hosted - Full control over your data
- Open Source - Free to use, modify, and distribute
- API-First - Build custom integrations easily
- Modern Stack - Built with industry-standard technologies
| Feature | TaskPulse | Trello | Jira | Asana |
|---|---|---|---|---|
| Self-Hosted | β Free | β No | β Paid | β No |
| AI Features | β Built-in | β No | β Paid | β Paid |
| Mobile PWA | β Native-feel | β Good | β Good | β Good |
| Bot API | β Included | β Limited | β Paid | β No |
| Offline Mode | β Yes | β No | β No | β No |
| Free Forever | β Yes | β Limited | β No | β No |
| Open Source | β Yes | β No | β No | β No |
Clean, modern login interface with optional registration link
Full-featured Kanban board with drag-and-drop task management, priority badges, and project navigation
Full-featured Kanban board with drag-and-drop task management, priority badges, and project navigation
- Node.js v16.0 or higher (v18+ recommended)
- npm v8.0 or higher
- curl (for API testing)
- jq (optional, for JSON parsing)
git clone https://github.com/najef1979-code/TaskPulse.git
cd taskpulsecd server
# Install dependencies
npm install
# Initialize database
node init-db.js
# Configure environment
cp .env.example .env
# Edit .env with your settings (default values work for development)cd ../client
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your settings (default values work for development)Method 1: Using the Runner Script (Recommended)
cd .. # Back to project root
./taskpulse-runner.shMethod 2: Manual Startup
# Terminal 1: Start backend
cd server
npm start
# Terminal 2: Start frontend
cd ../client
npm run dev- Web UI: Open http://localhost:3050 in your browser
- API: http://localhost:3000/api
- Health Check: http://localhost:3000/health
-
Create an Account
- Click "Register" in the top right corner
- Enter your username, email, and password
- Click "Register"
-
Create Your First Project
- Click "+ New Project" button
- Enter project name and description
- Click "Create Project"
-
Add Tasks
- Click "+ Add Task" or double-click anywhere on the board
- Fill in task details (title, description, priority, due date)
- Click "Create Task"
-
Manage Tasks
- Drag and Drop - Move tasks between columns
- Click to Edit - Modify task details
- Right-click - Quick actions (start, complete, delete)
- Subtasks - Click a task, then add subtasks in the details modal
- Assignments - Type a username to assign tasks to team members
- Due Dates - Click the date picker to set deadlines
- Priorities - Choose from Low, Medium, High, or Critical
- Mobile App - Install TaskPulse as a PWA on your phone
cd server
node user-cli.js
# Select option 2 (Create new bot)Use bots for:
- CI/CD integrations
- Automated task creation
- Custom workflows
- Third-party tool integrations
# Database
DB_PATH=./taskpulse.db
# Server
PORT=3000
NODE_ENV=development
# Authentication
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
# AI Configuration (Optional)
AI_ENABLED=true
AI_API_KEY=your-openai-api-key
AI_MODEL=gpt-4# API URL
VITE_API_URL=http://localhost:3000/api
# Application
VITE_APP_NAME=TaskPulse
NODE_ENV=development- Backend API: Default 3000 (change in
server/.env) - Frontend: Default 3050 (change in
client/vite.config.js)
TaskPulse uses SQLite by default for simplicity. The database file is created automatically at server/taskpulse.db.
To use PostgreSQL or MySQL:
- Install the appropriate driver (
pgormysql2) - Modify
server/lib/database.jsto use your preferred database - Update connection string in
.env
- QUICKSTART.md - Quick start guide for end users
- USER_GUIDE.md - Main documentation index for users
- AI_MANUAL.md - Complete API reference (CLI and REST) for AI assistants and bot developers
- Includes CLI commands and examples
- Full REST API documentation
- Authentication guide
- Testing examples
- ADMIN_GUIDE.md - Complete setup, deployment, and management guide
- System prerequisites and installation
- Configuration and running TaskPulse
- Team system management
- User and bot management
- Database management
- Production deployment
- Monitoring and maintenance
- Troubleshooting guides
- SCRIPTS.md - Quick reference for management scripts
- SUBTASK_TYPES_AND_FILES.md - Subtask types and file tracking documentation
We welcome contributions! Here's how you can help:
- Check existing GitHub Issues
- Create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Node version, etc.)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
# Clone your fork
git clone https://github.com/YOUR_USERNAME/taskpulse.git
cd taskpulse
# Install dependencies
cd server && npm install
cd ../client && npm install
# Run tests
cd server && npm test
cd ../client && npm test
# Start development servers
cd ..
./taskpulse-runner.sh --no-test# Using the runner script
./taskpulse-runner.sh
# Tests include:
# - Health checks
# - Create project
# - Create task
# - Start task
# - Complete task
# - Delete task
# - Delete project# Servers must be running
./taskpulse-runner.sh --test-only# Health check
curl http://localhost:3000/health
# List projects (with bot token)
curl http://localhost:3000/api/projects \
-H "x-api-token: bot_YOUR_TOKEN"
# Create task
curl -X POST http://localhost:3000/api/tasks \
-H "x-api-token: bot_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"projectId":1,"title":"Test Task"}'-
Set Environment Variables
# server/.env NODE_ENV=production JWT_SECRET=<secure-random-string> # client/.env VITE_API_URL=https://yourdomain.com/api
-
Build Frontend
cd client npm run build # Output in client/dist/
-
Deploy with PM2
pm2 start server/server.js --name "taskpulse-backend" pm2 start "cd client && npm run dev" --name "taskpulse-frontend"
-
Set Up Reverse Proxy (Nginx)
- Configure Nginx to proxy to ports 3000 and 3050
- Set up SSL/TLS with Let's Encrypt
- See ADMIN_GUIDE.md for details
# Build and run with Docker Compose
docker-compose up -d
# View logs
docker-compose logs -f
# Stop
docker-compose down-
Change JWT Secret - Generate a secure random string for production
openssl rand -base64 32
-
Use HTTPS - Always use SSL/TLS in production
-
Limit Bot Permissions - Give bots only the permissions they need
-
Regular Updates - Keep dependencies up to date
-
Database Backups - Automate regular backups
-
Monitor Logs - Watch for suspicious activity
- β Password hashing with bcrypt
- β JWT-based authentication
- β Secure session cookies (httpOnly, secure, sameSite)
- β Granular bot permissions
- β Whitelisted bot access (restrict API to known IPs)
- β Flexible human access (users can access from anywhere)
- β SQL injection prevention
- β XSS protection
| Metric | Target | Status |
|---|---|---|
| First Contentful Paint (FCP) | < 1.5s | β Met |
| Largest Contentful Paint (LCP) | < 2.5s | β Met |
| Time to Interactive (TTI) | < 3.5s | β Met |
| Cumulative Layout Shift (CLS) | < 0.1 | β Met |
| API Response Time (p95) | < 500ms | β Met |
- Lazy loading for images
- Debounced API calls
- Virtual scrolling for large lists
- Response caching
- Performance monitoring built-in
- Advanced Analytics - Charts and reports
- File Attachments - Upload files to tasks
- Comments - Discussion threads on tasks
- Tags/Labels - Better categorization
- Dark Mode - Theme switching
- Email Notifications - Stay updated via email
- Multi-Language Support - i18n
- Mobile Apps - Native iOS and Android apps
- Calendar View - Alternative task visualization
- Gantt Charts - Project timeline view
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2026 TaskPulse Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- Built with React
- Backend powered by Express.js
- Database: SQLite
- Icons: Lucide
- UI inspired by modern design systems
- Documentation: USER_GUIDE.md
- Issues: GitHub Issues
- Discussions: GitHub Discussions
If you like TaskPulse, please consider giving us a star on GitHub! And if you find it helpfull please considere to buy me a coffee using the GitHub sponsor button.
** Build to help you get the most out of your AI assistent or other type of working relationship. ** ** We hope that it helps make your interactions more efficient **
TaskPulse Version: v1.29.0
Last Updated: 2026-02-17


