Dev Blog

Polishing and Progressing

Since the last update, development has continued across multiple areas as we shift into production readiness, focusing more on testing, onboarding additional testers, and resolving bugs and refinements.

The reminders feature, which was in progress in the last update, has now been completed and is currently out for testing.

We also made changes to how activities are tracked. Previously, long-running activities were only marked complete once the entire duration ended. This has now been updated so that progress is tracked per occurrence. For example, if a user is assigned to run every day for a month, each daily completion is now recorded individually, rather than waiting for the full month to complete. This effectively shifts the source of truth to daily completion status, which required updates across multiple areas, but now allows coaches to see activity completion more accurately in real time. This change came out of testing feedback.

We’ve now moved into a Phase 1 goals-complete stage and are focusing more heavily on refinement. With increased testing now in place, a number of bugs and UX improvements are being addressed, and good progress is being made overall.

Releasing new builds for iOS and Android weekly and working to increase that momentum.

That’s it for now – more to come!

– Megan

Reminders Development and iOS Release

Platform updates required to support a new iOS build release have now been completed! Following these updates, changes were needed to how notification device tokens are created and handled, but with everything now in place, the latest iOS build was released alongside a new Android build to keep both platforms aligned.

Work has also started on the reminders feature and is already nearing completion. Reminder creation and listing are now in place, with most of the UI also completed. The remaining work includes fetching reminders by date through the calendar view, which is fairly routine integration at this point.

The next step will be tying everything together with on-device testing before the feature is released.

More to come soon!

– Megan

Client Activity Detail View and Upcoming Reminders

Work has recently moved onto the detailed view of client activity progress on the coach side. This feature has now been implemented and released, allowing coaches to view a client’s progress in more detail. From within a specific category, coaches can now drill down to see all assigned activities and goals, regardless of completion status. The view also includes key indicators such as completion percentage and a progress graph to give a clear overview of performance.

This has been released on Android, with iOS to follow shortly. Work is currently underway on platform updates to support a new iOS build release.

The next focus will be implementing reminders for client use, essentially a more general form of activities.

Looking forward to sharing more progress in the next update!

– Megan

Messaging Takes Shape

This period has been focussed on refining the WebSocket implementation for the messaging feature. Improvements include handling smoother transitions when coaches switch between clients, ensuring proper disconnection on logout and closing the app, and only establishing a socket connection when a client has an assigned coach. Work has also included setting up the server-side support for WebSockets, as well as integrating and refining the messaging feature after merging the branch into the main app.

There has been extensive on-device testing, with particular attention given to handling the on-screen keyboard within the chat screen and the updated renderer.

As this all happens minor adjustments and fixes are done as needed too.

An Android build was released for testing with the messaging feature. On the iOS side, there is currently a blocker related to a component that is actively being developed. Once resolved, the next build can be released for testing.

That’s it for now -more to come!

Chat Development and Refinements

This period has been mainly focused on continuing to build out the messaging feature. The way the chat is rendered has been updated – moving from panels to HTML – which should be much more responsive. Work has also concentrated on fetching and loading chat history (as mentioned last time), implementing a solution for a scroll-up functionality for it, and refining the WebSocket implementation to ensure smooth real-time updates.

Here’s an updated look at the chat feature – still under refinement, but the core functionality is there now. Can now send and receive messages and scroll up to view older messages.

Work is ongoing to refine the experience further. Plan to release this soon!

– Megan

Updates on Messaging and App Refinements

Recent work has involved continuing to address bugs and UX issues as they come up through testing, with a big help from the UX team, alongside releasing updated builds as they become ready. Several builds have gone out recently as part of this ongoing refinement process. While many of the fixes have been small adjustments, some changes required more attention. One of these included replacing the timer component with one from a different library that should perform better for mobile devices, particularly when running in the background. It was being interrupted before but should run better now.

At the same time, progress has been made on the messaging feature. Basic chat between coach and client is now implemented, with the core functionality in place along with initial styling and dynamic UI. Much of this work is currently being developed in a local/desktop environment to establish the foundation, with further refinement and mobile-specific improvements planned next. More recently, work has focused on implementing chat history to support the conversation flow.

It’s been a balance between addressing bugs, refining existing features, and building out chat functionality, but progress is being made across all areas.

Here’s a look at the chat feature in action – still under refinement, but core functionality is working.

That’s it for now – more to come!

– Megan

Tracking Progress and Advancing Messaging

Development has continued with a focus on refining existing features while expanding progress tracking within the app.

The client on-track status indicator has now been implemented, showing whether a client is currently on track based on how consistently their activities are being completed. This provides coaches with a clearer view of their clients overall progress. Alongside this, updates were made to the activity completion flow and supporting backend logic to better handle recurring activities.

Following further discussions around goals – particularly with the expectation that there may be multiple goals within the same category – an option was added to link an activity to a specific goal. This allows progress to be tracked more accurately and ensures automatic progress tracking can continue as intended.

An empty state on the coach client activity information screen has also been added.

A new build containing all these updates went out for testing earlier this week.

While refinement continues across the app, development is now largely focused on building out the messaging feature, where good progress is already being made. The messaging feature has required a lot of research and testing of different components. We opted to develop our own solution. Ultimately, the component was created by Andre, and I am now testing and building on top of what he created.

Looking forward to sharing more updates soon!

– Megan

Refinement, Activity Editing, and Messaging Progress

The recent focus has remained on aligning the app more closely with the designs, while continuing to address any bugs raised through testing. This has included adding category-based styling to activity and goal listings, and just today introducing empty states as a new UX improvement, helping create a more complete and guided user experience.

Activities can now also be edited, and improvements to how activities are fetched have made the experience more accurate and reliable. Activity listings now correctly follow recurring rules. This was a bit challenging, as not all values are easily accessible with the end conditions, but a solution has been implemented.

Two app releases went out last week. The latest release includes all recent updates, with the empty states planned for the following release.

Alongside this, I’ve started looking into the messaging feature. Planning is underway, and initial implementation has begun.

Work continues!

– Megan

Recurring Activities and App Refinement

Local recurring notifications are now in place following recent progress. While editing activities is still to come, both coaches and clients can now create recurring and non-recurring activities, helping round out the overall scheduling functionality.

A major focus lately has been aligning the app more closely with the designs. This has involved reviewing the app in its entirety, focussing on flow – how it can be improved, and working through bugs and UX issues. It’s been a collaborative effort – the design and UI/UX team have been closely involved in reviews and testing, which has helped keep things moving efficiently.

We haven’t run into many blockers or sticking points. It’s been more a case of working through to-dos and making decisions, with plenty of ideas along the way. For example, panels weren’t resizing automatically based on their content, so I created a procedure yesterday to handle that. Another item on the list is deciding how to manage fonts consistently across platforms – not a blocker, but something that requires a clear decision and follow-through work once it’s in place.

A new build went out for testing this week with the latest changes. Since then, work has continued in a refinement phase: further styling adjustments for alignment, making panels responsive to their content, updating the activity-fetching queries to better support recurring activities, and making general improvements where needed and more.

Steady progress continues as the app becomes more polished and aligned across features and design.

– Megan

Refinement and Integration

Recurring push notifications have now been integrated and implemented. A coach can now create recurring notifications for their client and notifications will follow as expected.

There has also been several discussions to align on expected behaviour, as well as extensive testing to ensure reliability across platforms. As a result, a significant amount of testing, bug fixing, and refinement has taken place to help streamline the app and prepare it for a wider testing release. These adjustments have focused on improving stability, consistency, and overall user experience as we move into broader testing.

A release was shared last week with all these changes. Focus this week moves to recurring local notifications, making sure those notifications can be edited (both local and push), finalising any unclear design points and any further refinement where needed. Eager to clear up recurring notifications and work on messaging!

Looking ahead to the next phase.

– Megan

Kicking Off the New Year with Momentum

Happy new year!

With the festive season behind us, development is back in full swing with no interruptions. I took a short break over Christmas, but progress has continued steadily into the new year.

Since the last update, the updated activity view for coached clients has been completed. While this area will be expanded further over time to show more specific details, the foundation is in place and functioning as intended. Loaders have been added where needed to improve feedback across the app. In addition, the daily weather feature is now live on the landing screen!

This past week, focus has shifted to recurring notifications. There is now a working prototype in place, following some research into scheduling and how recurrence rules can be handled by a backend service. With that clarified and approval to move forward, implementation and integration are actively underway.

It’s been a solid start to the year, with features landing and more complex systems now moving into active development.

– Megan

Activity Completion Takes Shape

As mentioned in the last update, the next area of focus was activity completion, and that piece is now in place. A timer has been created and integrated, allowing users to actively run and complete an activity as intended. This turned out to be more challenging than expected, as the component I initially had in mind didn’t have all the functionality I thought it did. However, with a few workarounds, I was able to arrive at a result that meets our needs.

Alongside this, full run through testing, fixes, and refinement across the app to ensure all the recent changes and project updates run well across all platforms. Several builds have gone out for testing. Each iteration has brought improvements.

The next area of focus will be the client activity view, which I’ll be moving on to in the coming week. Development will pause briefly over the week of Christmas before picking up again thereafter.

More updates soon as we keep building and improving!

– Megan

Goals, Activities, and Progress Tracking

Goals can now be fetched and listed, with calendar integration allowing goals to be retrieved by date. Goals are also now linked to activities, following further discussions on how this connection should work and how progress is measured. While planning out the linking process, we identified a missing piece of data, which was promptly addressed. We’ve agreed on a plan for moving forward. This covers both the scenario of reaching a goal and completing individual activities.

On the tracking/coach insights side, the main client progress dashboard is in place, fetching and displaying data monthly based on activity completion and goals for that month. This shows a graph, along with data per category. This is an important step toward giving clients and coaches clear visibility of progress over time. Some shuffling was needed to integrate this, including adjusting where coaches access client profiles to make room for the dashboard.

Each of these updates strengthens the app’s functionality and lays the groundwork for more advanced tracking and insights. While the main client progress dashboard is the first implementation, designs are in place for additional insights. The next area of focus is activity completion, where users can start an activity, see a timer, and mark it as complete. This is the final step before sharing another build for internal testing, as it brings all the pieces we’ve been working on full circle.

Hoping for lots more to share next time!

– Megan

From Notifications to New Goals: Progress Continues

This past stretch has been a fairly productive one, with important systems now verified, tested, and expanding into new functionality.

We’ve successfully verified the Firebase setup and full integration across platforms, and sorted out token handling for notifications ahead of release testing. Testing has been ongoing, but this time test builds were released with push notifications! It has been a work in progress for a while – from research to now! The edit profile feature also went out with this release, along with various fixes and adjustments throughout the app.

On the development front, I’ve started working on the Goals feature this week – a natural next step of the app to develop and an important part of the apps use. The core structure is in place, including the screens for listing and creating goals, as well as the endpoint for goal creation. Goals can now be created at a basic level. My focus from tomorrow is on fetching existing goals, polishing the remaining details and linking up activities.

Another focus has been tracking and progress, which ties closely to goals but somewhat simply includes marking off completed activities. That simple check-off functionality is now in place, and I’ll soon be running data queries to confirm whether it provides the insights needed for client progress tracking.

There’s been a lot of planning behind the scenes, and I’m doing my best to stay on track with the schedule created – though, as always, unexpected obstacles can’t be planned for. Still, progress has been steady, and each update brings the app closer to full functionality.

More to come.
– Megan

Password, Profile, and Push Notifications

Progress continues steadily as the app moves closer to full functionality.

The forgot/reset password flow is now complete, providing a smoother experience for users who need to recover access. We may eventually make this an entire on app flow, but for now, the change is web-based. On the push notifications side, we’ve finalized key points, including setup on Firebase for both iOS and Android and code ready to use. I have updated the code recently to handle authentication, using the firebase-sdk directly. The next step is to verify the Firebase setup and integration across platforms.

I’ve also spent time this week working on edit profile functionality. While it’s mostly ready for testing, we’re making a few adjustments, such as adding a cancel button to improve usability. Aside from these minor changes and ongoing bug fixes, the feature is otherwise ready for the next release.

Speaking of releases, a new build went out for testing earlier this week, minor changes, but trying to keep up with frequent builds!

More updates to come soon!

– Megan

Connecting the Pieces: Calendar, Routines, and More

The app continues to take shape as more pieces come together and existing flows are refined.

The calendar has now been fully integrated wherever needed right now across the app – whether for journal entries or activities – along with all related functionality for each. New builds were recently released for testing on both platforms, continuing the steady testing cycle.

Both the morning and evening routine screens now connect through to the “category” screen, which in turn leads to the an activities screen. Here you can see activities filtered down accordingly and eventually we will add the tracking and goal here too. But for now this dynamically displays the correct set of activities depending on the selected category and time of day, helping bring the daily flow to life.

Over the past week, I’ve been focused on the forgot/reset password flow, finalizing the last details before I push the next app release out for testing. After I will focus on integrating push notifications. Finally implementing and getting in all that work and research I did a while ago! I have started the set up on the different platforms and planning.

Each update ties the app together more tightly – getting it closer to the full experience we’ve been aiming for.

More updates to come soon!
– Megan

From Routines to Releases: The Latest Progress

The app continues to move steadily toward full functionality, with several key updates completed since the last post.

Implementation of routines on the client landing screen is now complete, providing a clear and structured view of daily activities. This section of the screen displays scheduled activities grouped by morning, afternoon, and evening, giving clients an easy way to see their day at a glance. Coaches can also now set activity status, marking which activities are currently active for a client. On the journaling side, users can now edit and delete entries, giving them more flexibility and control.

Google Internal Testing has now been set up. Beta testing is now running on both iOS and Android, with test releases available for both platforms. Meanwhile, the design team has been busy filling in any gaps in app flow, ensuring a smoother and more cohesive user experience.

I’ve also finalized a solution for push notifications on both iOS and Android, bringing us much closer to full reminder functionality. It’s not in the app yet, but the approach is clear.

Currently, I’m focused on filling in the calendar wherever needed in the app, having just finished reviewing and updating it’s functionality. Each of these steps brings the app closer to a polished, fully functional release.

More progress is on the way!

– Megan

From Fixes to Testing and New Features

The past stretch has been all about refinement, testing, and pushing forward with new functionality. Here are some highlights from recent work:

I wrapped up addressing the bugs and UX suggestions from the last review, which cleared the way to release new builds for both internal AND external testing. A milestone on the road to release!

On the feature side, I added activity preview and delete functionality, giving users more control and flexibility in managing their activities. I’ve also created the styling for routines on the client landing screen, where activities will be listed and grouped by time of day to fit into a daily routine. Implementation of populating this listing is already underway.

Each of these steps brings the app closer to a polished, fully functional state. More progress updates to come soon!

– Megan

Refining Features and Adding Notifications

Development continues mostly in a refinement phase for the full functionality to create an activity, focusing on polishing existing features and preparing the app for the next release.

I’ve completed the logic for handling various recurrence types – daily, weekly, and monthly – in advanced scheduling activities, with the exception of the custom recurrence, which still requires additional work. Using the iOS Reminders model as a reference helped guide the implementation, though the custom recurrence needs some more specific details that weren’t initially incorporated. The design and styling need to be updated and made more dynamic, along with additional data collection added to better reflect the expected functionality of this selection.

On the notifications front, device notifications are now functional for non-recurring activity reminders, bringing us closer to full reminder support. I’m also addressing the bugs identified during the last review. Once I’ve worked through that list, I’m planning to get a build out with the functionality as it currently stands.

With these continued refinements and updates, the app is steadily approaching a release-ready state. Looking forward to sharing more progress in the next update.

– Megan

Smoothing Out the Edges

Since the last update, development of the full create activity process has shifted into more of a refinement phase – though a few areas still needed work. I’ve reviewed and refactored much of the existing code to improve stability and maintainability. Fetching existing activities is now implemented, and the UI has become even more dynamic and responsive to different selections and inputs.

I also wrapped up the custom styling for these screens for now and completed the dynamic time input functionality. Time frames can now be added via a pop-up and deleted at runtime, with full integration into the core logic. This change aligns it with the design and expected flow.

A key focus right now is implementing the specific logic for handling various recurrence types in scheduled activities – a complex feature with a lot of moving parts. Thankfully, with the dynamic UI foundation already in place, it’s mostly a matter of planning and layering in additional logic.

The app went through external review in preparation for TestFlight external testing. A bug surfaced during this process, but the problem has been addressed. I’ve also reviewed all the areas where this could happen again to help prevent a repeat issue. Aim is for a new build to be sent in for review soon, with the goal of getting it out for testing soon.

At this point, it’s all about refining the experience and finalizing logic before release for testing. We’re getting close!

More to come soon.

– Megan