- Product: Charflow iOS App (MVP)
- Version: 1.0
- Last Updated: February 8, 2026
- Status: Ready for Development
- Target Platform: iOS 26.0+
- Architecture: MVVM with SwiftUI + SwiftData
Charflow is a minimal daily task manager designed to combat task list bloat by organizing work into four time-of-day regions—Morning, Afternoon, Evening, and Backlog—using a 1–3–5 constraint structure. The app emphasizes focus, intentionality, and consistent task completion.
- Replace infinite backlogs with time-of-day planning
- Enforce the 1–3–5 rule to prevent overcommitment
- Automatically manage task lifecycle (creation → completion → rollover)
- Maintain a minimal, calm, modern interface focused on execution
If Charstack consistently helps users complete their region Must-Dos, it's working.
- Description: User can create a new task with a title and optional notes.
- Acceptance Criteria:
- Task creation requires a non-empty title
- Notes field is optional (text)
- Task appears in designated region immediately after creation
- Task receives a unique ID and creation timestamp
- Priority: Must Have
- Component: RegionFocusView, QuickAddBar
- Description: User can assign a task to one of four regions: Morning, Afternoon, Evening, or Backlog.
- Acceptance Criteria:
- Task displays in correct region view after assignment
- Region assignment can be changed after creation
- Tasks default to the current active region when created from that view
- Priority: Must Have
- Component: Task creation flow, TaskRow
- Description: User can assign a task to a bucket type: Must-Do, Complementary, or Misc (Backlog items use "none").
- Acceptance Criteria:
- Task displays with appropriate visual treatment based on bucket
- Bucket type affects UI prominence (Must-Do > Complementary > Misc)
- Bucket can be changed after creation
- Tasks in Backlog region default to "none" bucket
- Priority: Must Have
- Component: TaskRow, RegionFocusView
- Description: Each active region (Morning, Afternoon, Evening) enforces a strict 1–3–5 task limit structure.
- Acceptance Criteria:
- Maximum 1 Must-Do task per region
- Maximum 3 Complementary tasks per region
- Maximum 5 Misc tasks per region
- Backlog has no default limit (configurable per settings in Phase 2)
- UI prevents adding beyond limit or displays clear warning
- Cannot convert a task to a bucket type if it would exceed the limit
- Error message: "Morning region full (1 Must-Do, 3 Complementary, 5 Misc)"
- Priority: Must Have
- Component: TaskService, RegionFocusView
- Description: User can toggle a task between complete and incomplete states.
- Acceptance Criteria:
- Checkbox or swipe gesture marks task as done
- Task visual state changes (strikethrough, reduced opacity)
- Status persists immediately to SwiftData
- Can mark incomplete again before day rollover
- Completed tasks do NOT move to Backlog at day rollover (preserved in history)
- Priority: Must Have
- Component: TaskRow, TaskCheckbox
- Description: User can permanently delete a task from the app.
- Acceptance Criteria:
- Delete action available from task row (swipe or long-press menu)
- Task removed from all views and database immediately
- Optional: Undo within 5 seconds (Phase 2)
- Confirmation dialog recommended but optional
- Priority: Must Have
- Component: TaskRow, RegionFocusView
- Description: User can modify task title and notes after creation.
- Acceptance Criteria:
- Edit view accessible from task detail or long-press
- Changes persist immediately to SwiftData
- Title validation (cannot be empty)
- Notes can be cleared
- Priority: Must Have
- Component: Task detail/edit sheet
- Description: User can move a task from one region to another.
- Acceptance Criteria:
- Move action available via drag-and-drop or menu
- Destination region respects 1–3–5 constraints
- Task disappears from source, appears in destination
- Bucket type may need adjustment if constraints require it
- Error message if destination is full
- Priority: Must Have
- Component: RegionFocusView, TaskRow
- Description: User can manually reorder tasks within a bucket (Must-Do, Complementary, or Misc).
- Acceptance Criteria:
- Drag-and-drop or long-press reorder gesture
- Order persists across app restarts
- Can only reorder within same bucket/region pair
- Visual feedback during reorder (highlight, spacing)
- Priority: Should Have
- Component: TaskRow, RegionFocusView
- Description: At day transition (midnight or configured time), incomplete tasks automatically move from Morning/Afternoon/Evening to Backlog.
- Acceptance Criteria:
- Rollover runs at day boundary (configurable in Phase 2, default: midnight)
- Only incomplete tasks (status != done) move to Backlog
- Region and bucket assignment are cleared (moved to Backlog "none" bucket)
- Carries forward any task metadata (notes, created_date, carry_count)
- Completed tasks remain in history
- Rollover triggers on app launch if missed
- Priority: Must Have
- Component: DayRolloverService, AppDelegate/SceneDelegate
- Description: Tasks marked as complete are preserved and do not roll over to Backlog.
- Acceptance Criteria:
- Completed tasks remain in database with completion date/time
- User can view completed tasks by date (optional for MVP)
- Completed tasks do not clutter Backlog
- Completion timestamp recorded
- Priority: Should Have
- Component: TaskService, History view (Phase 2)
- Description: User receives an optional, configurable notification prompting end-of-day review.
- Acceptance Criteria:
- Notification appears at configured time (default: 6 PM)
- Tapping opens Backlog view or a review summary
- Can be disabled in Settings
- Gentle, non-intrusive language ("Time to review?")
- Priority: Should Have
- Component: NotificationService, SettingsView (Phase 2)
- Description: Backlog displays all unscheduled tasks grouped by age/source for quick scanning.
- Acceptance Criteria:
- Tasks grouped by: "Today", "Yesterday", "This Week", "Older"
- Each group shows task count
- Can collapse/expand groups (optional)
- Searching available (Phase 2)
- Backlog view accessible from Today dashboard
- Priority: Must Have
- Component: BacklogView, BacklogViewModel
- Description: User can quickly move a task from Backlog into Morning/Afternoon/Evening.
- Acceptance Criteria:
- Move action via long-press, menu, or gesture
- Destination region must be specified
- Bucket type (Must, Complementary, Misc) can be set or defaults
- Respects 1–3–5 constraints
- Task disappears from Backlog, appears in target region
- Error message if destination is full
- Priority: Must Have
- Component: BacklogView, TaskRow
- Description: User can permanently remove a task from Backlog.
- Acceptance Criteria:
- Delete action available from task row
- Task removed from database immediately
- Optional confirmation dialog
- Removed task does not reappear in future rollovers
- Priority: Must Have
- Component: BacklogView, TaskRow
- Description: Today view shows a card or section for each region: Morning, Afternoon, Evening, Backlog.
- Acceptance Criteria:
- Each card displays:
- Region name/icon
- Must-Do task title (if exists) or placeholder
- Count of Complementary tasks (e.g., "2/3")
- Count of Misc tasks (e.g., "4/5")
- Visual progress indicator (% complete or status)
- Cards are visually distinct and easy to scan
- Backlog card shows total unscheduled count
- Empty state for regions with no tasks
- Each card displays:
- Priority: Must Have
- Component: TodayView, RegionCard
- Description: Tapping a region card opens the detailed Region Focus view for that region.
- Acceptance Criteria:
- Navigation is instant and smooth
- Back button or swipe gesture returns to Today
- Region context is clear in Region Focus header
- Priority: Must Have
- Component: TodayView, NavigationStack
- Description: Today view displays an overall progress summary for the day.
- Acceptance Criteria:
- Total tasks across all regions visible
- Total completed tasks visible
- Optional: % completion across day regions
- Priority: Should Have
- Component: TodayView
- Description: Region Focus view displays all tasks in a region, organized by bucket (Must-Do, Complementary, Misc).
- Acceptance Criteria:
- Must-Do section at top, visually prominent
- Complementary section below
- Misc section at bottom
- Empty state if no tasks in a bucket
- Section headers clearly labeled
- Can scroll if many tasks
- Priority: Must Have
- Component: RegionFocusView, TaskRow, SectionHeader
- Description: User can add a task directly from the Region Focus view without leaving context.
- Acceptance Criteria:
- Quick add input bar at top or bottom of region view
- User enters task title, task is created immediately
- Bucket type can be selected (defaults to Misc if not specified)
- New task appears in appropriate bucket section
- Input clears after creation for rapid entry
- Priority: Must Have
- Component: QuickAddBar, RegionFocusView
- Description: User can mark tasks as complete with intuitive gestures.
- Acceptance Criteria:
- Checkbox at left of task row toggles done state
- Swipe-right gesture optional marks task done
- Visual feedback (strikethrough, opacity change, brief animation)
- Status persists immediately
- Completed task remains in view (Phase 2: can auto-hide option)
- Priority: Must Have
- Component: TaskRow, TaskCheckbox
- Description: User can edit or delete tasks directly from Region Focus view.
- Acceptance Criteria:
- Long-press or menu icon shows actions (Edit, Move, Delete, Add Note)
- Edit opens sheet with title/notes fields
- Delete removes task permanently
- Move allows reassigning to another region
- Priority: Must Have
- Component: TaskRow, ContextMenu
- Description: Provide in-app account deletion capability that fully removes user accounts and associated data.
- App Store Requirement: Mandatory since June 2022
- Acceptance Criteria:
- Account deletion accessible in Settings > Account > Delete Account
- Deletion must be full, not just deactivation
- All associated user data deleted from system
- If Sign in with Apple is used, tokens must be revoked via REST API
- User informed about active subscriptions before deletion completes
- Deletion confirmation dialog with clear language
- Priority: Must Have
- Phase: Phase 2+
- Component: SettingsView, AccountManager
- Description: If app offers any third-party login option (e.g., Google), must also offer Sign in with Apple.
- App Store Requirement: Mandatory
- Acceptance Criteria:
- Sign in with Apple available if any other third-party authentication exists
- Presented as equal or more prominent option than alternatives
- Login flow is smooth and uses Apple's authentication framework
- User identity properly managed via Apple's system
- Priority: Must Have
- Phase: Phase 3 (when BaaS integration added)
- Component: AuthenticationView, AccountManager
- Description: Maintain accessible privacy policy both in-app and in App Store Connect.
- App Store Requirement: Mandatory
- Acceptance Criteria:
- Privacy policy accessible in-app (Settings > Privacy Policy)
- Privacy policy URL also in App Store Connect metadata
- Policy discloses all data collected, usage, and third-party sharing
- Includes SDK privacy manifests for all third-party dependencies
- Updated when new SDKs or data collection methods added
- Priority: Must Have
- Phase: Phase 2+
- Component: SettingsView, Legal
- Description: Provide test credentials and documentation for App Store review process.
- App Store Requirement: Mandatory for apps with login
- Acceptance Criteria:
- Working test account credentials provided in App Review Notes
- Test account demonstrates all account-based features
- Demo account remains active throughout review period
- Clear instructions on how to access and use test account
- Priority: Must Have
- Phase: Phase 2+
- Component: Documentation, Test Infrastructure
- Description: Collect only strictly necessary information during registration and onboarding.
- App Store Requirement: Mandatory
- Acceptance Criteria:
- Registration form requests only essential fields
- No phone number, date of birth, or personal data unless genuinely required
- User can understand why each field is collected
- Optional fields clearly marked as optional
- Priority: Must Have
- Phase: Phase 2+
- Component: RegistrationView, UserProfile
- Description: Accurately declare all data types collected in App Store Connect privacy manifest.
- App Store Requirement: Mandatory
- Acceptance Criteria:
- All collected data types declared in App Store Connect
- Privacy labels match actual data collection practices
- Updated whenever new SDKs or data collection methods introduced
- Compliance verified before each release
- Priority: Must Have
- Phase: Phase 2+
- Component: Compliance, Release Management
- Specification: App launches in less than 2 seconds on iPhone 13 or newer.
- Measurement: Time from icon tap to first interactive screen (Today view).
- Testing: Measured on physical device, multiple runs averaged.
- Specification: Task list scrolling maintains 60 FPS with 100+ tasks in a view.
- Measurement: Frame rate monitoring in Xcode Instruments.
- Implementation: Lazy loading, @Query optimization, onAppear/onDisappear cleanup.
- Specification: Task creation, completion, or deletion reflects in UI within 100ms.
- Measurement: Time from user action (tap, swipe) to visual change.
- Implementation: Direct SwiftData writes, no network latency.
- Specification: App memory footprint under 200 MB in normal use (< 5 tasks per region).
- Measurement: Xcode Memory Debugger, long-running session.
- Implementation: Proper cleanup of observers, no retain cycles.
- Specification: All task data persists locally on device using SwiftData.
- Guarantee: No cloud storage, no network dependency for core functionality.
- Scope: Tasks, regions, status, timestamps, order, notes.
- Specification: No data loss on app termination, crash, or device reboot.
- Guarantee: All writes to SwiftData are synchronous; no data in flight.
- Testing: Force quit app, device restart, low-storage scenarios.
- Specification: Schema changes in future versions handled gracefully.
- Plan: SwiftData migration API for v1.1+ (add new properties, rename fields).
- Approach: Version model, provide migration closures in modelContainer setup.
- Example: If adding "priority" field to Task, provide default value in migration.
- Specification: User can optionally back up and restore tasks (Phase 2).
- Formats: JSON export, Charstack file format, or iCloud backup.
- Not MVP: Local-only persistence sufficient for v1.0.
- Specification: All interactive elements have clear accessibility labels.
- Examples:
- Button: "Mark task complete"
- Checkbox: "Complete {task title}"
- Region card: "Morning region, 1 Must-Do, 2 Complementary, 3 Misc, 50% complete"
- Add button: "Add new task to Misc"
- Testing: Xcode Accessibility Inspector, VoiceOver on device.
- Specification: App supports all Dynamic Type sizes (xSmall to xxxLarge).
- Measurement: Test at minimum and maximum sizes.
- Implementation: Use SwiftUI's
.font(.body),.font(.headline)modifiers, avoid fixed CGFloat sizes. - Guarantee: Text remains readable, layouts don't break.
- Specification: Core user workflows are fully navigable via VoiceOver.
- Core Workflows:
- Plan a task in Morning region
- Complete a task with checkbox
- Move incomplete task from Morning to Afternoon
- Pull a task from Backlog into today's plan
- Testing: Manual VoiceOver navigation on device.
- Specification: All text meets WCAG AA standard (4.5:1 for body text, 3:1 for large text).
- Testing: WebAIM contrast checker or Xcode Accessibility tools.
- Guarantee: No reliance on color alone to convey information (use icons + text).
- Requirement: iOS 26.0 minimum.
- Rationale: Enables SwiftData (no CoreData), latest SwiftUI features, Swift 6 support.
- Testing: Deploy to iOS 26.0 simulator and iPhone 17 Pro or newer device.
- Primary: iPhone (all current and prior-generation models).
- Not MVP: iPad-specific layouts deferred to v1.4.
- Orientation: Portrait primary; landscape optional.
- Required: SwiftData, SwiftUI 5.0+, EventKit (Phase 2), UserNotifications (Phase 2).
- Optional: Haptic Feedback (Phase 3), WidgetKit (v1.1).
- MVP: English only (US/UK).
- Future: Prepare string resources in
Localizable.stringsfor easy translation. - Post-MVP: Spanish, French, German, Japanese (no timeline yet).
- Guarantee: No data transmitted off-device, no analytics, no crash reporting (MVP).
- Permissions: Only request necessary permissions (notifications, calendar).
- User Control: User can disable notifications or calendar integration anytime.
- Specification: App requires no login, no stored passwords, no authentication.
- Implication: All data local to device, tied to device security.
The following features are intentionally excluded from v0.1 MVP to maintain focus and meet deadlines:
- CloudKit sync (Phase 2 - iCloud device sync)
- User accounts with Sign in with Apple (Phase 3 - BaaS integration)
- Google Sign-In (Phase 3)
- Account deletion flow (Phase 3 - App Store requirement)
- Cross-platform web interface (Future)
- Recurring tasks
- Task dependencies
- Subtasks or nested tasks
- Tags/labels beyond regions
- Task priority field
- Estimated duration / time blocking
- Task templates
- Calendar event creation (write access)
- Time block scheduling
- Calendar sync with tasks
- Conflict detection (Event Kit read-only in Phase 2)
- Custom themes or color schemes
- Layout customization
- Font selection
- Icon packs
- Morning summary notification
- End-of-day review notification
- Region transition nudges
- Overdue task alerts
- Today widget
- Lock screen widget
- Watch app
- Siri shortcuts
- Keyboard shortcuts
- PDF export of tasks
- JSON/CSV export
- Sharing to other apps
- Print support
- Completion statistics
- Streak tracking
- Weekly review summary
- Productivity graphs
- Anonymous usage data
- Shared tasks or Backlogs
- Team workspaces
- Comments or annotations
- Multi-user sync
- Offline-first sync
- Voice input ("Add task to Morning")
- Handwriting/drawing support
- Biometric authentication (not needed for MVP)
Title: Plan morning tasks to start the day with focus Actor: Daily user who wants to organize their morning Motivation: Begin the day with clear priorities and avoid decision fatigue
-
Given user opens Charstack app (7:00 AM)
-
When user lands on Today view
-
Then Morning card is empty and ready for planning
-
When user taps "Morning" card
-
Then RegionFocusView opens showing Morning region (empty state)
-
When user taps quick add bar and types "Finish project proposal"
-
Then task is created with title entered
-
When user assigns bucket type as "Must-Do"
-
Then task appears under Must-Do section (1/1 filled)
-
When user adds "Reply to emails" as Complementary
-
Then task appears in Complementary section (1/3 filled)
-
When user adds "Water plants" as Misc
-
Then task appears in Misc section (1/5 filled)
-
When user returns to Today view (back gesture or button)
-
Then Morning card shows "Finish project proposal" with 1 Complementary, 1 Misc
- Quick add creates task in selected bucket
- Bucket assignment is reflected in UI immediately
- Region card shows accurate counts
- No validation errors or crashes
Title: Complete high-priority work without distraction Actor: User during work session Motivation: Finish the Most Important Thing (Must-Do) before other tasks
-
Given user has planned Morning with Must-Do "Finish project proposal"
-
When user opens Morning region in afternoon (1:00 PM)
-
Then Must-Do is displayed prominently at top of view
-
When user starts working and checks the checkbox next to Must-Do
-
Then task is marked complete (visual feedback: strikethrough, dimming)
-
When Must-Do is checked as done
-
Then Complementary tasks "unlock" or highlight (configurable: optional lock feature)
-
When user taps checkbox on "Reply to emails"
-
Then task is marked complete, count updates to 0/3
-
When user continues completing remaining tasks
-
Then Must-Do section remains prominent, progress updates in real-time
- Must-Do is visually dominant
- Checkbox toggle works reliably
- Completion state persists on app restart
- No lag between tap and visual update (< 100ms)
Title: Start fresh tomorrow with unfinished tasks in Backlog Actor: User at end of workday Motivation: Clear today's regions, preserve unfinished work, prepare for next day
-
Given user has incomplete tasks in Morning ("Water plants") and Afternoon ("Finish report")
-
When midnight arrives (or configured rollover time)
-
Then app detects day boundary
-
When day rollover executes
-
Then incomplete tasks are moved to Backlog automatically
-
When user opens app next morning (or at night if checking)
-
Then Today view shows empty Morning/Afternoon/Evening regions (ready for new planning)
-
When user opens Backlog
-
Then Backlog shows "Water plants" and "Finish report" grouped under "Yesterday"
-
When user taps "Finish report" and selects "Move to Afternoon"
-
Then task moves back to Afternoon, can assign bucket type
- Rollover runs automatically at day boundary
- Incomplete tasks actually move to Backlog (not deleted)
- Completed tasks do NOT move to Backlog
- Regions are empty and ready for fresh planning
- Backlog shows accurate date grouping
Title: Manage accumulated tasks from previous days Actor: User during planning or review session Motivation: Prioritize and reschedule old work, stay on top of commitments
-
Given user has accumulated 8 tasks in Backlog from past 3 days
-
When user opens Today view and taps Backlog card
-
Then BacklogView shows all 8 tasks grouped by date ("Today", "Yesterday", "This Week")
-
When user sees "Finish report" from Yesterday
-
And user long-presses task
-
Then context menu appears with options: Move to Region, Delete, Edit
-
When user selects "Move to Afternoon"
-
Then destination region selector appears (Morning, Afternoon, Evening)
-
When user selects "Afternoon"
-
Then bucket type selector appears (Must, Complementary, Misc)
-
When user selects "Complementary" (already has Must-Do in Afternoon)
-
Then task is added to Afternoon's Complementary section (if space available)
-
When Afternoon is now full (1 Must, 3 Complementary, 5 Misc)
-
And user tries to add another task to Afternoon
-
Then error message: "Afternoon region is full"
-
When user deletes old task "Expired project research"
-
Then task is permanently removed from Backlog
- Backlog displays all unscheduled tasks grouped by age
- Move action respects 1–3–5 constraints
- Error message shown if destination is full
- Delete removes task permanently
- Backlog count updates in Today view
An MVP is considered complete when:
- User can plan tasks across Morning, Afternoon, Evening using 1–3–5 structure
- All four regions are functional and enforce constraints
- User can add, edit, complete, delete, and reorder tasks
- User can move tasks between regions and buckets
- Tasks automatically roll over to Backlog at day boundary
- User can pull tasks from Backlog back into regions
- No crashes during normal usage (create, complete, rollover, restart)
- Data persists across app restarts and force quit
- Performance meets targets (launch < 2s, scrolling 60 FPS)
- Interface is clean, minimal, and intuitive
- Navigation is smooth and context-aware
- Visual feedback is immediate and clear
- Empty states are friendly and informative
- Code comments on public APIs
- README with setup and feature overview
- ARCHITECTURE.md and REQUIREMENTS.md current
- Manual testing on real device (iPhone 13+)
- All core workflows tested
- Day rollover tested by changing device time
- Basic accessibility review (VoiceOver, Dynamic Type)
A single critical task per region. Completion unlocks Complementary tasks (optional lock feature in settings).
Up to three supporting tasks that unlock after Must-Do completion (configurable). Medium priority.
Up to five small, low-friction tasks. Can be completed in any order. Lowest priority.
Holding area for unfinished tasks from previous days and future ideas. No default 1–3–5 limit.
Automatic process at midnight (or configured time) that moves incomplete tasks from Morning/Afternoon/Evening to Backlog.
One of four time-of-day sections: Morning, Afternoon, Evening, Backlog.
Structure enforcing 1 Must-Do, up to 3 Complementary, up to 5 Misc per active region.
(Phase 2+) Task that stays in a region until explicitly marked done, even after day rollover.
(Phase 2+) Task-level override to automatically roll forward to same region next day.
- iOS 26.0+ only (no iOS 16 support)
- iPhone primary; iPad deferred
- SwiftUI 100%; no UIKit
- SwiftData for persistence (no CoreData)
- No third-party dependencies for MVP
- Single-user app (no collaboration)
- No cloud sync in MVP
- No monetization in v1.0
- Open source (MIT license)
- Users have consistent daily structure (morning, afternoon, evening)
- Users have device with reliable time/date (no manual sync)
- Users accept local-only data (no backup service)
- Users willing to receive optional notifications
- EventKit (Phase 2): Calendar access (iOS permission)
- UserNotifications (Phase 3): Notifications (iOS permission)
- WidgetKit (v1.1): Today widget
| Risk | Probability | Impact | Mitigation |
|---|---|---|---|
| SwiftData schema issues | Medium | High | Plan migration strategy early, test on sample data |
| Day rollover logic bugs | Medium | High | Extensive unit tests, manual testing with time changes |
| UI performance with 100+ tasks | Low | Medium | Use @Query filtering, pagination in Backlog, Instruments profiling |
| User confusion with 1–3–5 | Medium | Low | Clear onboarding, in-app hints, helpful empty states |
| Notification permission denied | Low | Low | Graceful fallback, no required permissions |
- Today widget showing regions + progress
- Task search in Backlog
- Undo delete within 5 seconds
- Dark mode refinements
- Completion animations
- Read-only EventKit integration (show calendar events)
- Free time detection per region
- Focus timer linked to Must-Do
- Morning summary notification
- Evening review notification
- Weekly review summary
- Completion statistics
- iPad optimized layout
- Mac Catalyst version
- Apple Watch complications (minimal)
- CloudKit sync
- Collaboration/shared Backlog
- Recurring tasks
- Task dependencies
- Siri shortcuts
- AI-powered suggestions
- Export/import (JSON, CSV, PDF)
| Role | Name | Date | Notes |
|---|---|---|---|
| Product Owner | Bahadir | Feb 8, 2026 | Approved for MVP development |
| Tech Lead | Bahadir | Feb 8, 2026 | Architecture reviewed, risks assessed |
| Designer | — | — | Design phase to follow if needed |
- Project Brief:
/docs/PROJECT_BRIEF.md - Architecture:
/docs/ARCHITECTURE.md - Roadmap:
/docs/ROADMAP.md - Development Checklist:
.claude/today.md
Document Version: 1.0 Last Modified: 2026-02-08 Status: Ready for Development Phase 1