Getting Started with Polytrak
Welcome to PolyTrak, your language learning activity-tracking app. This guide will walk you through the key features so you can be up and running in minutes. 1. Installation & Launch Download PolyTrak from the App Store. Launch the app. You’ll land on the Today tab, where you can see and record your activities for the day. 2. Creating & Configuring Activities Before you track events, define at least one language learning Activity: Tap the “+” button in the top-right of TodayView. Choose New Activity in the sheet: Name, Language, Icon, and Color uniquely identify each activity. For example, you could have “Duolingo, French” as an activity. Tap Save and your new activity appears in the list immediately. 3. Create a Tracked Event You can track your learning events either manually or with a timer. Tracking an Event time with the Timer Once you have activities defined: In TodayView, select an activity to start its timer. TimerManager begins counting seconds. Tap the same activity again to stop—this automatically saves an Event spanning that duration. Tip: As you track, the Running Activity section shows your live timer and creates an event when you switch or stop. B) Manually Create an Event Once you have an activity defined, you can manually create an Event for that Activity as described below. 4. Viewing Today’s Summary The Events Today bar chart at the top displays one colored slice per activity, sized by total duration. Beneath the chart: Running Activity (if any) shows your current timer. Activity List lets you tap an activity to manually add an event. 5. Manual Event Creation & Editing Adding an Event In TodayView, tap the “+” in the navigation bar. In the New Event sheet: Activity (or pre-selected if you came from the list) Date/Time (defaults to today or your chosen date) Duration (via hour/minute wheels) Comment (optional) Tap Save to persist (or Cancel to drop). Editing or Deleting Tap any blue bar segment in the Hourly Timeline (in the Calendar tab). The Edit Event sheet appears: change values or delete. Tap Save or swipe down to dismiss—your calendar view refreshes automatically. 6. Navigating the Calendar Switch to the Calendar tab to see a weekly overview of your Learning Events. Here, you can also directly edit or create Events. Week Header Swipe left/right across the weekdays to move by whole weeks. Tap any day to select it. Date Label Shows “Wednesday, May 6, 2025” (updates when you tap/swipe). Hourly Timeline Scroll vertically to see a 24-hour grid. Blue bars represent events; tap to edit. Swipe left/right on the timeline itself to move by single days. 7. Settings Tap the gear icon in TodayView or go to the Settings tab: Version Info at top. Help & Feedback, Changelog, External Links, Legal. 8. Tips & Troubleshooting Live Updates: As your timer runs or you add/edit/delete events, both Today and Calendar views refresh automatically. Swiping in Calendar: On the Week Header changes weeks. On the Timeline changes days. Tap Areas: Blue bars in the timeline are fully tappable via their transparent hit-test shapes. Resetting Forms: In New Event form, Reset stays disabled until you pick an activity, set a duration, or type a comment. 9. Next Steps Customize your activities with different icons/colors. Provide Feedback via the Help & Feedback section. Happy tracking! If you run into any issues or have feature requests, drop us a note through the Help & Feedback link.
Changelog
Version 1.4 Added Calendar timeline now automatically scrolls to the current hour when viewing today’s date for improved user experience Timer now maintains accurate elapsed time tracking even when phone is locked or app is backgrounded Comprehensive unit tests for timer background behavior and Dynamic Island synchronization Fixed Calendar display now properly adapts to the user’s locale settings without requiring an app restart Week start day calculation now updates automatically when the device locale changes Weekday header letters now align correctly with date columns across all locales Day swipe animations in timeline view now work properly with slide transitions Cross-day events now appear correctly on both affected days with proper visual clipping and continuation indicators Event overlap display issues resolved with column-based layout system for overlapping events Calendar data loading errors now display user-friendly messages with retry functionality instead of silent failures Timer accuracy issue when device is locked – timer now continues tracking time accurately using computed property approach Perfect synchronization between app timer, Dynamic Island, and Lock Screen widgets regardless of app state Calendar weekday headers now maintain proper horizontal alignment when event count badges are displayed Event count badges no longer disrupt the even spacing of day buttons in the week header The timer stop button now correctly saves event duration instead of losing it to race condition Timer stop functionality no longer suffers from race condition between state clearing and event saving Improved Enhanced calendar system responsiveness to locale changes for bea tter international user experience Timer implementation now uses a computed property for accurate time calculation instead of incremental counting Dynamic Island and Live Activity widgets maintain perfect synchronization with the app timer Enhanced badge positioning for cleaner layout behavior Increased event count badge size and improved text centering for better readability Optimized week header layout performance by removing conflicting spacer-based positioning Simplified timer architecture Enhanced build system tooling with improved success/failure detection and error reporting Version 1.3 Added Internal WebView implementation for in-app browsing Comprehensive UI test suite with navigation and feature testing Enhanced project documentation and architecture notes Changed/Improved Replaced all external Safari links with internal Web View in Settings Updated Help Feedback Improved duration functions Organized Calendar View Calendar architecture: components now self-manage their data fetching for better modularity Fixed Improved code organization by moving helper functions to the appropriate module Fixed internal browser navigation buttons (back, forward, refresh) functionality Fixed the share button in WebView with proper iPad compatibility Version 1.2 Version 1.1 Version 1.0 _