+ New Task

Tasks

Setup Swift Package Manager

Initialize the Feeding Timer project using Swift Package Manager for clean dependency handling and modular structure.

Done
ViewEdit
Implement FeedingLogEntry model

Create the FeedingLogEntry data structure to store start/end times, cues, and breast side information.

Pending
ViewEdit
Active Feed Timer UI

Design and implement the Active Feed Timer screen to track ongoing breastfeeding sessions with real-time updates.

Pending
ViewEdit
Add ChartView for feeding stats

Provide interactive charts to visualize daily, weekly, and custom feeding session patterns.

Done
ViewEdit
Implement SyncState handling

Handle and represent sync states to ensure logs remain consistent across devices.

Pending
ViewEdit
Setup Combine pipeline for timers

Integrate Combine publishers to update the feed timer UI reactively during active sessions.

Pending
ViewEdit
Create custom SectionHeaderView

Design a reusable section header component for lists such as feeds, stats, or categories.

Done
ViewEdit
Add @Published properties for feeds

Expose feeding session properties with @Published to enable live updates across views.

Done
ViewEdit
Unit tests for FeedLogService

Ensure FeedLogService reliably saves, updates, and retrieves feeding logs with comprehensive unit tests.

Pending
ViewEdit
UI tests for ActiveFeedView

Automate UI validation to confirm the Active Feed Timer screen works correctly under different scenarios.

Pending
ViewEdit
Refactor DashboardViewModel

Improve the DashboardViewModel structure for clarity, maintainability, and responsiveness.

Done
ViewEdit
Implement feeding cues tracking

Add functionality to log baby cues (e.g., rooting, crying) before and during feeds.

Pending
ViewEdit
Design Stats Overview cards

Create summary cards showing daily totals, averages, and next expected feed predictions.

Pending
ViewEdit
Add Settings screen

Provide a settings view where users can configure preferences, reminders, and localization.

Done
ViewEdit
Implement weight prediction view

Introduce a predictive chart estimating the baby’s weight based on feeding patterns and growth data.

Pending
ViewEdit
Refactor FeedingLogStore

Rework FeedingLogStore for better performance, data consistency, and easier extension.

Pending
ViewEdit
Improve error handling in sync

Enhance sync error handling with retries, logging, and user notifications when data fails to update.

Done
ViewEdit
Localize strings (EN/DE)

Translate all user-facing text to English and German, ensuring compatibility with iOS localization.

Done
ViewEdit
App icons & splash screens

Design and integrate professional icons and splash screens for both light and dark modes.

Pending
ViewEdit
Test on iOS 16.6 and above

Verify app compatibility, performance, and UI stability on iOS 16.6+ devices.

Pending
ViewEdit
Setup Watch app target

Create a dedicated Apple Watch app target to extend Feeding Timer functionality to watchOS.

Done
ViewEdit
Implement WCSession sync

Enable WCSession to synchronize feeding logs between iPhone and Apple Watch in real time.

Pending
ViewEdit
Add Start/Stop feed UI

Design a minimal Start/Stop button interface on the Watch for quick feed tracking.

Pending
ViewEdit
Haptic feedback on button press

Add subtle haptic taps to confirm user interactions when starting or stopping feeds.

Done
ViewEdit
Design minimal Watch UI

Create a lightweight interface optimized for small Watch screens with large tappable buttons.

Done
ViewEdit
Background task handling

Ensure the Watch app continues running timers accurately when in background mode.

Pending
ViewEdit
Watch connectivity unit tests

Write unit tests to verify WCSession reliably transmits and receives feed updates.

Pending
ViewEdit
Glance complication for quick access

Provide a complication shortcut so parents can quickly start or view a feed directly from the Watch face.

Done
ViewEdit
Testing on real Apple Watch device

Validate performance, UI responsiveness, and sync reliability on physical Apple Watch hardware.

Pending
ViewEdit
Battery usage profiling

Measure and optimize power consumption to ensure the Watch app does not drain the device battery.

Pending
ViewEdit
Optimize sync payload size

Reduce data transfer payloads to make syncing faster and more efficient between iPhone and Watch.

Done
ViewEdit
Refactor WatchViewModel

Simplify and clean up the WatchViewModel for better maintainability and reactive updates.

Pending
ViewEdit
Add unit tests for WCSessionManager

Create test coverage for WCSessionManager to ensure stability in message handling.

Pending
ViewEdit
Implement live session updates

Stream feeding session progress to the Watch in real time, keeping it in sync with the iPhone.

Done
ViewEdit
UI snapshot tests

Add snapshot tests to verify Watch UI layouts remain consistent during changes.

Pending
ViewEdit
Add dark mode support

Introduce dark mode theming for the Watch app to improve readability in low light.

Pending
ViewEdit
Internationalization for Watch UI

Translate Watch app UI into multiple languages to support international parents.

Done
ViewEdit
App Store Watch screenshots

Prepare polished screenshots of the Watch app for App Store submission.

Done
ViewEdit
Integrate with iOS Stats Overview

Link Watch session data with the iOS Stats Overview so users see consistent feeding insights.

Pending
ViewEdit
Release build config for Watch app

Configure release build settings to package the Watch app for production deployment.

Pending
ViewEdit
Define sync schema

Design the data schema for synchronizing feeding logs across devices, ensuring consistency and forward compatibility.

Done
ViewEdit
Implement IndexedDB storage

Store feeding logs locally in IndexedDB so the app can work offline and sync changes later.

Pending
ViewEdit
Conflict resolution logic

Handle conflicts when multiple devices edit the same feed entry, resolving with the most accurate data.

Pending
ViewEdit
Add service worker caching

Use service workers to cache app assets and recent feeding logs for reliable offline-first use.

Done
ViewEdit
Implement migration manager

Build a migration manager to handle schema updates without losing existing feeding log data.

Done
ViewEdit
Local backups support

Allow creation of local backup snapshots of feeding logs for recovery if sync fails.

Pending
ViewEdit
Peer-to-peer sync prototype

Prototype direct peer-to-peer syncing of feeding logs for households without cloud connectivity.

Pending
ViewEdit
Encryption for synced data

Encrypt all feeding logs before syncing or storing them to protect sensitive baby health data.

Done
ViewEdit
Offline-first architecture

Ensure the app is fully usable offline, syncing data only when connectivity is available.

Pending
ViewEdit
Unit tests for SyncService

Write unit tests for SyncService to verify feeding logs sync correctly in different scenarios.

Pending
ViewEdit
Stress test with 10k entries

Run large-scale tests to confirm IndexedDB and sync logic handle 10,000 feeding log entries efficiently.

Done
ViewEdit
Optimize query performance

Improve performance of fetching, sorting, and filtering large feeding log datasets.

Pending
ViewEdit
Add activity logs for sync

Create a visible log of sync attempts and results so parents know when feeding data is up to date.

Pending
ViewEdit
Build error handling strategy

Define clear error messages and fallback options for sync and storage failures.

Done
ViewEdit
Support multiple child devices

Enable multiple parent devices to log feeds for the same baby without overwriting each other’s data.

Pending
ViewEdit
Implement daily data pruning

Automatically prune old log metadata to keep the database lightweight while retaining essential records.

Pending
ViewEdit
Automated sync retries

Retry failed sync operations automatically to avoid losing feeding log updates.

Done
ViewEdit
IndexedDB migration tests

Test migration paths to ensure IndexedDB upgrades keep feeding logs safe and intact.

Done
ViewEdit
Add telemetry hooks

Integrate telemetry to track sync success, errors, and user activity for future optimization.

Pending
ViewEdit
Cloud integration setup

Prepare integration for syncing feeding logs with cloud services as a fallback option.

Pending
ViewEdit
Setup Next.js + Tailwind

Initialize the Feeding Timer marketing website with Next.js and Tailwind CSS for fast, styled static pages.

Done
ViewEdit
Landing page hero section

Design the hero banner to showcase Feeding Timer’s value with a striking headline, call to action, and background image.

Pending
ViewEdit
Add blog system with markdown

Implement a markdown-based blog system for publishing articles on baby feeding, parenting, and app updates.

Pending
ViewEdit
Configure SEO metadata

Set up SEO-friendly meta tags for title, description, Open Graph, and Twitter to promote Feeding Timer online.

Done
ViewEdit
Implement sitemap.xml

Generate a sitemap.xml to improve indexing of all Feeding Timer website pages by search engines.

Done
ViewEdit
Mobile-first responsive design

Ensure the site adapts perfectly across mobile, tablet, and desktop devices.

Pending
ViewEdit
Add Google Analytics

Integrate Google Analytics to track visitor interactions, traffic sources, and conversions.

Pending
ViewEdit
Implement blog list page

Build a blog index page displaying all published articles in reverse chronological order.

Done
ViewEdit
Implement blog detail page

Create the detail view for each blog post, with proper styling and social share features.

Pending
ViewEdit
Add robots.txt

Include a robots.txt file to control search engine crawling of Feeding Timer website content.

Pending
ViewEdit
Style blog with typography plugin

Enhance blog readability by applying Tailwind Typography for rich text styling.

Done
ViewEdit
Implement Contact page

Add a Contact page with a form and essential details for parents to reach out or provide feedback.

Pending
ViewEdit
Optimize lighthouse performance

Improve site speed, accessibility, and SEO scores based on Lighthouse audits.

Pending
ViewEdit
Add app showcase section

Highlight Feeding Timer app screenshots and key features in a dedicated showcase section.

Done
ViewEdit
Deploy to Digital Ocean

Set up deployment pipeline to host the Feeding Timer website on Digital Ocean servers.

Pending
ViewEdit
Setup nginx reverse proxy

Configure nginx to serve the static site, handle routing, and manage load balancing.

Pending
ViewEdit
Configure SSL certbot

Enable HTTPS by setting up Certbot SSL certificates for secure connections.

Done
ViewEdit
Optimize build for static export

Tune Next.js build settings for a fully static export that requires no backend server.

Done
ViewEdit
Write README with GPL v3 license

Document the project setup, development workflow, and license terms under GPL v3.

Pending
ViewEdit
Cross-browser testing

Test and fix site compatibility issues across Chrome, Safari, Firefox, and Edge.

Pending
ViewEdit
Define brand colors

Establish the official Feeding Timer color palette to ensure visual consistency across app and web.

Done
ViewEdit
Setup Tailwind theme

Configure Tailwind with Feeding Timer’s brand colors, typography, and spacing tokens.

Done
ViewEdit
Design reusable button components

Create consistent button styles (primary, secondary, destructive) used across the app and website.

Pending
ViewEdit
Typography system

Define font sizes, weights, and line heights for titles, subtitles, and body text.

Pending
ViewEdit
Create card components

Design reusable card layouts for feeds, stats, tasks, and project previews.

Done
ViewEdit
Implement dark mode

Ensure all UI elements support light and dark themes seamlessly.

Pending
ViewEdit
Iconography set

Define and standardize an icon set that matches Feeding Timer’s visual style.

Pending
ViewEdit
Update SectionHeader styles

Polish the design of section headers for better readability and brand alignment.

Done
ViewEdit
Grid layouts for lists

Introduce responsive grid systems for displaying tasks, projects, and categories.

Pending
ViewEdit
Accessibility checks

Audit components for accessibility compliance, ensuring proper ARIA labels and keyboard navigation.

Pending
ViewEdit
Color contrast testing

Verify all color combinations meet WCAG AA/AAA standards for readability.

Done
ViewEdit
Design empty state views

Provide engaging empty state illustrations and text for when no feeds or tasks exist.

Pending
ViewEdit
Notification banners

Create alert and info banners for reminders, sync errors, and app updates.

Pending
ViewEdit
Responsive spacing scale

Establish consistent spacing values for paddings and margins across breakpoints.

Done
ViewEdit
Design tab navigation

Build a consistent tab navigation bar for iOS and Android views.

Pending
ViewEdit
Update form components

Unify input fields, checkboxes, and selectors into a single design system standard.

Pending
ViewEdit
Prototype new layout system

Experiment with responsive layout approaches to simplify view composition.

Done
ViewEdit
Design chart components

Develop chart templates for feeding stats, intervals, and weight predictions.

Done
ViewEdit
Dark mode illustration styles

Adapt illustrations for dark mode to maintain clarity and visual appeal.

Pending
ViewEdit
Refine typography scale

Adjust font scaling and hierarchy for consistent readability across platforms.

Pending
ViewEdit
Write unit tests for FeedLogService

Ensure FeedLogService correctly saves, updates, and retrieves feeding logs with comprehensive unit tests.

Done
ViewEdit
Write UI tests for ActiveFeedView

Automate UI tests to confirm the Active Feed Timer screen behaves as expected in all user flows.

Pending
ViewEdit
Integration tests for sync

Verify that syncing feeding logs across devices works reliably by testing end-to-end scenarios.

Pending
ViewEdit
Accessibility tests

Run accessibility audits to ensure the Feeding Timer app meets WCAG standards for all users.

Done
ViewEdit
Snapshot tests for UI

Capture and validate UI snapshots to detect unexpected visual changes in the app.

Done
ViewEdit
Stress test with 1k entries

Insert 1,000 feeding log entries to test app performance and data handling under heavy load.

Pending
ViewEdit
Automated test suite CI

Integrate automated tests into CI/CD pipelines to ensure reliability on every commit.

Pending
ViewEdit
Manual QA checklist

Define a QA checklist for manual testers to validate key Feeding Timer features.

Done
ViewEdit
App Store TestFlight build

Distribute TestFlight builds for beta testers to gather early feedback before release.

Pending
ViewEdit
Performance profiling

Profile CPU, memory, and rendering to optimize Feeding Timer’s performance on older devices.

Pending
ViewEdit
Unit test FeedingStyleService

Verify FeedingStyleService correctly classifies feeding sessions (normal, snack, cluster).

Done
ViewEdit
Mock push notification tests

Simulate push notifications to ensure reminders are scheduled and displayed properly.

Pending
ViewEdit
End-to-end sync tests

Run full-stack sync tests to confirm logs update seamlessly between iPhone and Watch.

Pending
ViewEdit
Regression test runs

Execute regression tests to confirm no new bugs were introduced after feature changes.

Done
ViewEdit
Automated release QA

Automate QA checks for release candidates to streamline deployment readiness.

Pending
ViewEdit
Crash recovery scenarios

Test how the app recovers gracefully from crashes and preserves feeding data.

Pending
ViewEdit
Load testing feeding timer

Simulate thousands of users logging feeds at once to evaluate server load handling.

Done
ViewEdit
Security vulnerability scans

Scan for vulnerabilities to ensure Feeding Timer protects sensitive baby and parent data.

Done
ViewEdit
Device compatibility tests

Test app compatibility across iPhones, iPads, and different iOS versions.

Pending
ViewEdit
App Store submission checklist

Prepare the final checklist for App Store submission including assets, metadata, and compliance.

Pending
ViewEdit
Implement local push notifications for next feed

Trigger iOS push notifications to remind parents when the next feeding session is due, even if the app is closed.

Pending
ViewEdit
Add configurable reminder intervals (2h, 3h, custom)

Allow parents to set flexible reminder intervals between feeds, including custom durations to match baby routines.

Pending
ViewEdit
Show gentle reminder banner inside the app

Display an in-app banner reminding parents of an upcoming feed in a subtle, non-intrusive way.

Done
ViewEdit
Watch app haptic alert for overdue feed

Send haptic feedback on Apple Watch to notify parents discreetly when a feed is overdue.

Pending
ViewEdit
Sync reminder settings across devices

Ensure reminder and notification preferences are synced between iPhone, Watch, and other devices.

Pending
ViewEdit
Implement reminder preferences in Settings UI

Add a settings section where parents can enable, disable, and customize feeding reminders.

Done
ViewEdit
Design notification icons and sounds

Create custom icons and gentle sounds tailored for Feeding Timer reminders and alerts.

Pending
ViewEdit
Automated tests for notification scheduling

Develop automated tests to validate that notifications are triggered reliably at the correct times.

Pending
ViewEdit