Privacy-first, offline Gantt chart for project planning. Own your data.
OwnChart is a browser-based Gantt chart application that respects your privacy. No cloud, no tracking, no accounts. Your data stays on your device.
Live: https://ownchart.app
No installation needed - just open and start planning. Your data stays in your browser's local storage.
- 🔒 Privacy-First - All data stays local, zero tracking
- 📴 Offline-Ready - Works completely offline in your browser
- 🎯 No Setup - Zero installation, no backend required
- 💾 Own Your Data - Save/load
.ownchartfiles on your device - ⚡ Fast & Lightweight - Built with modern web technologies
- 🎨 Interactive Timeline - Drag-to-move, drag-to-resize task bars
- 🔗 Task Dependencies - Finish-to-Start with automatic date propagation
- 🔄 Full Undo/Redo - Time-travel through your changes (100 steps)
- 📊 Task Hierarchy - Organize with summaries and milestones (3 levels)
- 📋 Multi-Select - Select multiple tasks with Ctrl/Shift+Click or marquee
- ✂️ Copy/Paste - Cross-tab clipboard support with dependencies preserved
- 📄 PDF/SVG/PNG Export - Vector and raster export with live preview
- 🎨 Smart Color Management - 5 color modes (Manual, By Type, Progress, Duration, Random)
- 📐 UI Density Modes - Compact, Normal, Comfortable row heights
- 📅 Holiday Support - 199 countries with timeline highlighting
- ⚙️ Working Days Mode - Business day calculations for scheduling
- 🎀 MS Office UI - Familiar ribbon interface with tabbed workflow
- ⌨️ Keyboard Shortcuts - Efficient navigation and editing
- ❓ Help Panel - Built-in keyboard shortcut reference
- 🎓 Welcome Tour - Guided introduction for first-time users
- 🔐 Security-Focused - 6-layer file validation against XSS/injection
# Clone the repository
git clone https://github.com/kitikonti/ownchart.git
cd ownchart
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 in your browser to start developing!
Or try it online: https://ownchart.app
- React 18 - UI framework with hooks
- TypeScript - Type-safe development
- Zustand - Lightweight state management
- TailwindCSS - Utility-first styling
- Vite - Lightning-fast build tool
- D3.js - Timeline rendering
- Vitest + Playwright - Comprehensive testing
npm run dev # Start dev server
npm run build # Production build
npm run preview # Preview production build
npm run lint # Lint code
npm run format # Format with Prettier
npm run type-check # TypeScript validation
npm run test:unit # Unit tests with coverage
npm run test:e2e # E2E tests with Playwright
npm run ci:local # Run all checks (pre-commit)
npm run release # Create new release with changelogownchart/
├── src/
│ ├── components/ # React components
│ ├── store/ # Zustand state slices
│ ├── utils/ # Helper functions
│ ├── types/ # TypeScript definitions
│ └── hooks/ # Custom React hooks
├── tests/ # Unit, integration, E2E tests
├── docs/ # Comprehensive documentation
└── CLAUDE.md # AI assistant guide
Comprehensive documentation is available in the /docs folder:
- Product Requirements - Vision and requirements
- Roadmap - Development phases
- Technical Architecture - System design
- Data Model - Data structures
- Testing Strategy - QA approach
- CI/CD Pipeline - Deployment process
OwnChart is designed with privacy as the foundation:
- ✅ Zero Telemetry - No analytics, no tracking
- ✅ Local-Only - No data ever leaves your device
- ✅ No Accounts - No sign-up, no login required
- ✅ File Validation - 6-layer security pipeline (XSS, prototype pollution prevention)
- ✅ Open Source - Fully auditable code
Version: 0.0.33
Core Features:
- ✅ Task management with hierarchy (summaries, milestones, 3 levels)
- ✅ Interactive timeline (drag-to-move, drag-to-resize, multi-task drag)
- ✅ Zoom & navigation (5%-300%) with cursor-centered anchoring
- ✅ File operations (save/load
.ownchartformat with 6-layer validation) - ✅ Task dependencies (Finish-to-Start with automatic date propagation)
- ✅ Undo/redo system (100 command stack with indent/outdent support)
- ✅ Multi-select with rectangular marquee selection
- ✅ Copy/paste/cut with cross-tab clipboard support
- ✅ PDF/SVG/PNG export with Figma-style live preview
- ✅ Smart Color Management (5 modes: Manual, By Type, Progress, Duration, Random)
- ✅ UI Density settings (Compact/Normal/Comfortable)
- ✅ User preferences (date format, first day of week, week numbering)
- ✅ Holiday support (199 countries) with timeline highlighting
- ✅ Working Days Mode for business day calculations
- ✅ MS Office-style ribbon UI (File, Task, View, Help tabs)
- ✅ Help panel with keyboard shortcuts reference
- ✅ Welcome tour for first-time users
- ✅ Infinite scroll timeline with smooth navigation
Next Up (V1.1):
- 🔜 Advanced dependencies (Start-to-Start, Finish-to-Finish, Start-to-Finish)
- 🔜 Custom fields UI
- 🔜 Multi-project management
- 🔜 History timeline slider with real-time scrubbing
- 🔜 Named snapshots
See the Roadmap for the full development plan.
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
Development Workflow:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Commit Convention: We use Conventional Commits for automated changelog generation.
MIT License - Feel free to use OwnChart for any purpose.
- Live: ownchart.app
- Repository: github.com/kitikonti/ownchart
- Issues: Report a bug or request a feature
- Changelog: See what's new
- AI Guide: For AI assistants working on this project
Built with ❤️ for privacy-conscious developers and power users.
OwnChart - Because your project data belongs to you, not in someone else's cloud.