TBD (to be determined)
A web-based Gantt chart creator that makes timeline visualization effortless, beautiful, and accessible to everyone - no account required, no server dependency, just instant productivity.
Existing Gantt chart tools are either:
- Too complex (enterprise PM tools with resource planning, billing, etc.)
- Require accounts and subscriptions
- Store data on servers (privacy/security concerns)
- Slow to create simple visualizations
- Produce ugly charts that need extensive styling
A client-side web application that:
- Works immediately without registration
- Creates beautiful charts by default
- Saves/loads from single portable files
- Includes full version history with time-travel UI
- Exports to multiple formats for sharing
- Speed: Create a basic Gantt chart in under 2 minutes
- Beauty: Professional appearance with zero styling effort
- Simplicity: Intuitive interface requiring no training
- Privacy: Zero server storage, complete client-side operation
- Portability: Single-file format for easy backup and sharing
- Time to first chart: < 2 minutes for new users
- User satisfaction with default styling: > 80% positive feedback
- File format adoption: Ability to open files across different browsers/devices
- Export quality: Professional-grade PDF/SVG/PNG output
- Freelancers: Visualizing project timelines for clients
- Small Team Leads: Planning sprints and project phases
- Students: Academic project planning and presentations
- Consultants: Creating timeline proposals and reports
- Varying technical expertise (from beginner to advanced)
- Need quick results without learning curve
- Value aesthetics and presentation quality
- Privacy-conscious (prefer not sharing data with servers)
- Work primarily on desktop/laptop computers
- FR-001: Users can create new blank Gantt charts instantly
- FR-002: Users can add tasks with name, start date, end date
- FR-003: Users can edit task properties inline
- FR-004: Users can delete tasks
- FR-005: Users can reorder tasks (drag and drop)
- FR-006: Users can create task dependencies with visual arrows and offset (lag days)
- FR-007: Users can add milestones (zero-duration markers)
- FR-008: Charts automatically calculate and display timeline scale
- FR-009: Users can copy and paste tasks (with dependencies if multi-select)
- FR-009a: Users can multi-select tasks for bulk operations
- FR-009b: Users can organize tasks into collapsible groups/phases with optional summary bars
- FR-010: Users can save current chart to local file
- FR-011: Users can open/import previously saved files
- FR-012: File format preserves all chart data including history
- FR-013: Files are human-readable (JSON-based)
- FR-014: Files include metadata (created date, modified date, version)
- FR-020: System automatically saves every change to history
- FR-021: Users can navigate history with timeline slider
- FR-022: Visual preview updates in real-time while scrubbing timeline
- FR-023: Users can create named snapshots at important points
- FR-024: Snapshots appear as markers on timeline slider
- FR-025: Users can restore to any point in history
- FR-030: Users can export chart to PDF format with multiple customization options
- FR-031: Users can export chart to SVG format with multiple customization options
- FR-032: Users can export chart to PNG format with multiple customization options
- FR-033: Export settings include: page size, orientation, resolution, date range, background
- FR-034: Export maintains visual quality and styling
- FR-040: Users can adjust color scheme/theme
- FR-041: Users can customize task colors individually
- FR-042: Users can adjust timeline view (days/weeks/months)
- FR-043: Users can zoom in/out on timeline with fit-to-screen reset button
- FR-044: Users can show/hide weekends
- FR-045: Users can adjust UI density/compactness (compact/normal/comfortable)
- FR-046: Users can add custom labels/notes to tasks
- FR-047: Users can set preferred date format
- FR-048: Users can set first day of week (Sunday/Monday)
- FR-049: Users can configure task name display position (in bar/above/below/smart)
- FR-050: Users can optionally show/hide history timeline slider
- FR-051: Users can optionally show timeline at both top and bottom of chart
- FR-060: System validates date logic (end after start)
- FR-061: System auto-adjusts dependent tasks when parent changes
- FR-062: System displays vertical line showing today's date on timeline
- FR-063: System warns about circular dependencies
- FR-064: System auto-saves to browser storage (recovery)
- FR-065: Timeline labels automatically adjust based on zoom level (years→months→weeks→days)
- FR-066: System can collapse dependent tasks for compact visualization
- NFR-001: Chart renders in < 500ms for up to 100 tasks
- NFR-002: Chart renders in < 2s for up to 1000 tasks
- NFR-003: History navigation responds in < 100ms
- NFR-004: File save/load completes in < 1s for typical charts
- NFR-010: Zero learning curve for basic operations
- NFR-011: All features discoverable through UI
- NFR-012: Keyboard shortcuts for common operations
- NFR-013: Undo/redo support for all actions
- NFR-014: Responsive design for laptop/desktop screens (1280px+)
- NFR-020: Works in Chrome, Firefox, Safari, Edge (latest 2 versions)
- NFR-021: Files compatible across all browsers
- NFR-022: No server/backend required
- NFR-023: Works offline after initial load
- NFR-030: No data transmitted to servers
- NFR-031: No tracking or analytics without explicit consent
- NFR-032: All processing happens client-side
- NFR-033: No authentication/login required
- NFR-040: Keyboard navigation for all features
- NFR-041: Screen reader compatible (WCAG 2.1 AA)
- NFR-042: Sufficient color contrast ratios
- NFR-043: Resizable text without breaking layout
MUST HAVE (MVP)
- Basic task creation/editing/deletion
- Task dependencies with visual arrows and offset
- Copy/paste tasks with multi-select
- Task groups/phases with collapsible sections
- Save/load to JSON file
- Version history with timeline slider
- Export to PNG
- Today marker (vertical line)
- Zoom and pan timeline with fit button
- Beautiful default styling
- Offline capability
SHOULD HAVE (V1.0)
- Export to PDF and SVG with customization options
- Named snapshots
- Color customization
- Milestones
- Keyboard shortcuts
- Undo/redo
- UI density/compactness settings
- Date format and first day of week settings
- Task name position configuration
- Show/hide history timeline option
- Optional duplicate timeline at bottom
- Collapse dependent tasks optimization
COULD HAVE (Future)
- Templates (pre-built chart styles)
- Multiple chart views (list view, calendar view)
- Task notes/descriptions
- File attachments per task
- Print optimization
- Import from other formats (MS Project, CSV)
- Mobile-responsive version
WON'T HAVE (Initially, but possible future)
- Login/authentication (future: for sharing features)
- Server-side storage (future: for collaboration)
- Real-time collaboration (future: with login)
- Share charts with/without edit access (future: with login)
- Mobile native app (future: maybe)
WON'T HAVE (Out of Scope Permanently)
- Resource management
- Cost/budget tracking
- Time tracking
- Team management
- Top Toolbar: File operations, export, undo/redo, view controls
- Left Panel: Task list with inline editing
- Main Canvas: Visual Gantt chart with timeline
- Bottom Timeline Slider: History navigation
- Right Panel (collapsible): Styling and customization options
- Click to select tasks
- Double-click to edit task name
- Drag task bars to adjust dates
- Drag task ends to resize duration
- Drag between tasks to create dependencies
- Drag on timeline background to pan/navigate the project timeline
- Right-click for context menus
- Scroll to pan timeline horizontally
- Zoom with mouse wheel/pinch gesture
- Fit button to reset zoom and display entire project
- Format: JSON
- Extension:
.ownchartor.ownchartflow - Encoding: UTF-8
- Compression: Optional (gzip for large files)
Project-Specific Settings (stored in project file):
- Chart metadata (name, created date, modified date)
- Task list (name, start, end, color, dependencies, groups)
- Task groups/phases with hierarchy
- Milestones
- Complete change history
- Named snapshots
- Project view settings (zoom level, visible date range)
- Application version (for format compatibility)
Application Settings (stored in browser only):
- UI density/compactness preference
- Default color palette
- Date format preference
- First day of week
- Task name display position
- Show/hide history timeline
- Show timeline at top and/or bottom
- Theme preference
- Keyboard shortcuts (if customizable)
- Client-side only (no backend)
- Single-page application (SPA)
- No external data storage
- No user authentication
- Must work in modern browsers (ES6+)
- Must not require installation
- Must be hostable as static files
- Support up to 1000 tasks per chart (performance target)
- File size reasonable (< 5MB for typical charts)
- History limited to last 1000 changes (configurable)
- Modern web browser with JavaScript enabled
- Local file system access (for save/open)
- Canvas/SVG support for rendering
- Users have basic computer literacy
- Users understand Gantt chart concepts
- Users work primarily on desktop/laptop devices
- Users have stable browsers (not ancient IE)
See EXTENSIBILITY_ARCHITECTURE.md for complete architectural details.
The MVP architecture includes extensibility foundations that enable future features without breaking changes:
Immediate Benefits (V1.1):
- Custom Fields: Users can add their own metadata fields to tasks (Priority, Status, Client, etc.)
- Multi-Project Management: Switch between multiple Gantt charts with project switcher
- Import/Export Adapters: CSV, MS Project XML import/export capabilities
Mid-Term Features (V1.2-V1.5):
- Alternative Views: Kanban board, Calendar view, List view (same data, different visualizations)
- Resource Management: Assign team members, track workload, balance resources
- Plugin System: Community plugins for custom features
- Advanced Dependencies: Start-to-Start, Finish-to-Finish, Start-to-Finish relationships
Long-Term Features (V2.0):
- Collaboration: Real-time editing, comments, mentions (optional cloud backend)
- Advanced Integrations: Webhooks, REST API, third-party tool integrations
- Mobile Editing: Full touch-based editing on tablets and phones
Data Model Extensibility:
- Task interface includes
customFieldsmap for user-defined metadata - Optional fields for collaboration:
assignedTo,createdBy,lastModifiedBy - Optional fields for resources:
estimatedHours,actualHours - All extensibility fields are optional and backward compatible
File Format Versioning:
- Explicit
fileVersionandschemaVersionfields for migration tracking - Unknown fields preserved when loading files from future versions
- Migration system for upgrading old files to new formats
Plugin Architecture:
- Event bus for subscribing to application events
- Plugin registration API for third-party extensions
- View abstraction layer for alternative visualizations
Storage Flexibility:
- Multi-project IDs in data model
- Storage adapter pattern (can swap IndexedDB → Cloud Storage)
- Per-project auto-save and metadata
What we're doing RIGHT:
- ✅ Designing extensible data model from day one
- ✅ File format versioning and migration system
- ✅ Event-driven architecture for plugins
- ✅ View layer decoupled from data
- ✅ Unknown field preservation for forward compatibility
What we're avoiding:
- ❌ Tight coupling between data and UI that prevents alternative views
- ❌ Hard-coded task fields that can't be extended
- ❌ File format with no version tracking (breaks compatibility)
- ❌ Monolithic architecture that can't support plugins
- ❌ Single-project assumption baked into storage
| Phase | Extensibility Milestone | Features Unlocked |
|---|---|---|
| Phase 1 (MVP) | Data model includes all extensibility fields | Foundation ready |
| V1.1 | Custom fields UI, Multi-project UI | Users can extend tasks |
| V1.2 | Plugin API, CSV adapter | Community extensions |
| V1.5 | Alternative views (List, Calendar) | Multiple visualizations |
| V2.0 | Collaboration backend, Full plugin system | Real-time collaboration, marketplace |
- File Format Details: Should we support import from other formats (MS Project, CSV)? → Defer to V2.0
- Export Settings: What customization options for PDF/SVG/PNG exports? → ✓ Resolved: Multiple options (see FR-033)
- Collaboration: Should read-only sharing be in MVP or later? → Defer to future with login feature
- Templates: Should we include sample/starter templates? → Defer to V1.x
- Localization: Multi-language support priority? → Defer to V2.0
- Auto-backup: Frequency and management of browser-based auto-saves? → Default 30 seconds, configurable
- Group Summary Bar Display: Should summary bars be shown by default or user-toggleable? → User-toggleable setting
- Collapsed Dependencies: When should dependent tasks collapse automatically? → Manual collapse only, not automatic
- History Timeline: Shown by default or hidden? → Shown by default, user can hide via setting
- Export Date Range: Should we support exporting only a portion of the timeline? → Yes, include in export options
The product will be considered successful when:
- A non-technical user can create a presentable Gantt chart in under 5 minutes
- Users prefer the default styling over custom styling 70%+ of the time
- File format is stable and forward-compatible
- Export quality matches or exceeds commercial tools
- Zero critical bugs related to data loss
- Positive user feedback on simplicity and speed
See ROADMAP.md for detailed development phases.
Target Milestones:
- Concept completion: 2 weeks
- MVP development: 8-12 weeks
- Beta testing: 2-4 weeks
- V1.0 release: 3-4 months from start
Document Version: 1.3 Last Updated: 2025-12-23 Owner: Product Concept Team Status: Draft - Updated with competitive analysis insights
Recent Updates (v1.3):
- Added Section 11: Competitive Analysis Insights
- Enhanced data model with task types, hierarchy, and baselines
- Feature prioritization based on competitive analysis
- Strategic decision to build independently
- Updated technical constraints with performance targets
- Reference to COMPETITIVE_ANALYSIS.md for detailed findings
Previous Updates (v1.2):
- Added Section 10: Future Considerations & Extensibility
- Outlined architectural decisions for extensibility
- Mapped features enabled by extensible architecture
- Added implementation timeline for extensibility features
- Reference to EXTENSIBILITY_ARCHITECTURE.md for technical details
Previous Updates (v1.1):
- Updated with additional features (copy/paste, grouping, compactness, settings)