ScrumKit is a modern, self-hostable toolkit for agile development teams. It provides all essential scrum ceremony tools in one unified platform with real-time collaboration, beautiful UX, and deep developer tool integrations.
- π Sprint Retrospectives - Real-time collaborative boards with 10+ built-in templates
- π² Planning Poker - Estimate stories together with customizable sequences
- π Daily Standups - Track progress and blockers efficiently
- π Team Health Checks - Monitor and improve team dynamics
- π Privacy-First - Self-host your data or use our cloud version
- β‘ Real-time Sync - Live collaboration without refresh
- π± Responsive Design - Works on desktop, tablet, and mobile
- π Integrations - Connect with Slack, GitHub, Jira, and more
- Node.js 18+
- PostgreSQL 14+
- npm or yarn
# Clone the repository
git clone https://github.com/TheEagleByte/scrumkit.git
cd scrumkit
# Install dependencies
npm install
# Setup environment variables
cp .env.example .env.local
# Edit .env.local with your database and auth credentials
# Run database migrations
npm run db:push
npm run db:seed # Optional: Add sample data
# Start development server
npm run dev
# Open http://localhost:3000- Framework: Next.js 15 with App Router
- UI Components: Radix UI + Tailwind CSS
- Database: PostgreSQL with Supabase
- Real-time: Supabase Realtime (Postgres Changes, Presence, Broadcast)
- State Management: TanStack Query + React Hooks
- Authentication: Supabase Auth with anonymous user support
- Type Safety: TypeScript with strict mode
ScrumKit provides a comprehensive real-time collaboration system built on Supabase Realtime:
-
π‘ Postgres Changes Subscriptions
- Automatic synchronization of retrospective items across all clients
- Real-time vote tracking and updates
- Live retrospective status changes
-
π₯ Presence Tracking
- See who's currently viewing the board
- Color-coded user identification
- Active/away status detection
- User count display
-
π±οΈ Live Cursor Tracking
- Real-time cursor position sharing
- Smooth animations with throttled updates
- User name labels on cursors
- Container-relative positioning
-
π Connection Management
- Visual connection status indicator
- Automatic reconnection with exponential backoff
- Manual reconnection option
- Network quality monitoring
The real-time system is implemented through custom React hooks:
useRetrospectiveRealtime()- Manages Postgres change subscriptionsusePresence()- Handles user presence stateuseCursorTracking()- Tracks and broadcasts cursor positionsuseConnectionStatus()- Monitors connection healthuseBroadcast()- Generic message broadcasting
All real-time features work seamlessly for both authenticated and anonymous users.
Create and run sprint retrospectives with your team:
- Anonymous & Authenticated modes - Choose your privacy level
- 10+ Templates - Mad/Sad/Glad, Start/Stop/Continue, 4Ls, and more
- Real-time collaboration - See changes as they happen
- Voting system - Prioritize discussion topics
- Action items - Track follow-ups from retrospectives
- Export options - Markdown, PDF, or integrate with your tools
Estimate stories as a team with planning poker:
- Multiple sequences - Fibonacci, T-shirt sizes, custom values
- Story import - Pull from GitHub, Jira, or Linear
- Synchronized reveal - Show all votes at once
- Velocity tracking - Monitor team estimation patterns
- Discussion timer - Keep estimation sessions focused
Run efficient daily standups:
- Yesterday/Today/Blockers format
- Parking lot for off-topic items
- Round-robin timer - Equal speaking time
- Async updates - Perfect for distributed teams
- Blocker escalation - Notify relevant stakeholders
Monitor team health and morale:
- Spotify health check model - Industry-standard metrics
- Custom metrics - Define what matters to your team
- Trend tracking - See improvements over time
- Anonymous feedback - Honest insights
- Heat map visualization - Spot issues quickly
- Slack - Post summaries, create action items
- GitHub - Import/export issues, link PRs
- Jira - Full sprint synchronization
- Linear - Bi-directional issue sync
- Google Calendar - Schedule ceremonies
- Microsoft Teams - Native integration
- GitLab - Issue management
- Project initialization
- Core retrospective board
- Real-time collaboration (Postgres changes, Presence, Cursor tracking)
- Connection status management
- Anonymous user support
- Basic planning poker
- Authentication system
- Team management
- Slack integration
- Daily standup board
- Analytics dashboard
- Mobile apps
- Enterprise features
- Advanced analytics
- AI-powered insights
View our detailed roadmap for more information.
We love contributions! Please see our Contributing Guide for details.
# Run tests
npm run test
# Run linting
npm run lint
# Format code
npm run format
# Type checking
npm run type-check- Fork the repository
- Create your 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
ScrumKit is open source software licensed as MIT.
- GitHub Discussions - Ask questions and share ideas
- Discord Server - Real-time chat with the community
- Bug Reports - Report issues you find
- Feature Requests - Suggest new features
- Built with amazing open source projects
- Inspired by agile teams worldwide
- Special thanks to all contributors