Application Tracking Manager: Re-imaging internal tracking for government apps
Our division at Environment and Climate Change Canada develop and maintain nearly one hundred software applications across several independent teams... and critical record-keeping for these apps were still being handled in a spreadsheet.
I was a part of the ambitious project to design and build a brand new internal webapp to efficiently track information across these software applications, reduces admin burden, and ultimately get buy-in from senior management.

The Resuable Application Division at Environment and Climate Change Canada (ECCC) is responsible for the development and maintenance of several software services and web-apps, including those for federal regulatory reporting, informational sites, data visualization and more.
A team of seven student dev and design interns, including myself, along with one full-time developer was formed to pilot an initiative to improve the way that critical information about these applications were tracked.
the challenge
Get users engaged in effective internal documentation
Our goal was to enable employees in our division to keep internal documentation and information tracking up-to-date effortlessly.
Our target users were engineering team leads and managers. We wanted to save our users time on the admin task of updating these app profiles, so that they can focus on what matters most to them: providing essential business value, ensuring legal compliance and upholding high standards in the development of government software.
Further, we needed to get users excited and invested in our solution. This pilot project would introduce the capabilities of a modern web techstack using Blazor and WebAssembly. It would determine if it should be used in modernizing higher stake public-facing government apps. We were determined to impress and get buy-in from senior management.
My role
I led the design and frontend development of the application, collaborating with 3 other frontend developers.
I was responsible for the interaction and visual design, as well as frontend development. In addition, I worked with our product manager to conduct user research and aid help in requirements gathering.
I continued to gather user feedback and refine the design throughout the implementation of the minimum viable product. This pilot project lasted between July 2021-December 2021.
the approach
Understanding points of friction
We conducted user interviews with team leads and managers to uncover pain points with the current workflow, which would reveal opportunities to differentiate our solution.

Insights
Version chaos meant no authoritative source
The spreadsheet originally used for tracking this data was circulated by email. There were no regular updates nor verification, hence no one knew if the information was up-to-date. "What is meant to be an authoritative source was simply not."
Time wasted on manual checks for accuracy
"Managers often need to get critical information across many or all the applications, that's all supposed to be in the spreadsheet, but you have look up & then email all the team leads to double or triple check that all the data is actually accurate & reliable."
Spreadsheet was getting bloated
Every time information is needed for even a subset of applications, a new column is added, despite it not applying to other applications. It became difficult to see what is relevant for an individuals team lead's project, and even harder for everyone to pick up updates from one version to the next.
the solution
Introducing ATM
We designed Application Tracking Manager (ATM) as an internal web-app with a delightful user experience focusing on:
- Relevancy: users can access individually relevant information quickly and with minimal distractions.
- Accuracy: keeping data up-to-date to build an authoritative source.
- Accountability: users can be held responsible for their changes.
Modularizing information enables relevancy
Each application record consist of a set of modules. Each module is a grouping of related information fields. Team leads may now select which modules are relevant for their application, and pin modules for viewers to highlight the most important at any point in time.

Fields within modules are editable. We define different data types (e.g. single-select, boolean, text, long text, dates) for fields to make data entry more intuitive and less prone to errors.
Further, we can track metadata for separate modules so that team members who are responsible for different aspects of an application can make changes without "stepping on each other's toes".

Keeping extensibility in mind, modules were designed so that they can be mandatory for all applications or optional. This enables managers to create new modules in the future and apply it to all applications quickly. At the same time, the flexibility of optional modules allows team leads to choose what is relevant to their application.

Reminders to encourage timely updates
Users can subscribe to modules, and edit the Next update required date. Reminder notifications are sent to all subscribers to the app. Now, users can set the update date, leave ATM and forget; they will get be notified by email automatically. This ensures regular up-keep of data without additional time wasted.

This design focuses on regular checks and updates, shifting the behaviour from neglecting to update due to forgetting until someone is urgently seeking the information, to regular data maintenance, When next update date is past, the module's status is auto-set to “Needs attention” so that others know that the information may be inaccurate.

In-app notifications aggregate in the user's notifications center. Users are unlikely to be spending time daily or weekly in ATM (which is what we're aiming for), hence when they do return, they should be able to quickly access their important alerts.

Accountability made simple
Each module contains metadata on who last update the module and when. This ensures that the editor verifies that all information within that module is correct before saving, as they are marked as responsible.
Editors must also required to edit the date of the next update, ensuring there is always accountability in the future for verifying the data.

Further, whenever any user edits information, subscribers of that module are informed. Updates are sent via a weekly email digest. Subscribers also receives in-app toast notifications, as well as in the notification (always accessible from the top bar). This keeps them informed on new information, but also keeps record of who is making changes to the data.

An initial ambitious design, involving comprehensive change tracking, was revised due to time restrictions. Working closely with developers to account for implementation effort, we modify the design to track when a change occurred. The revision provides just enough information such that it is still useful in maintaining a history and trail of responsibility.

the pilot launch
6 months later
I continued to be involved in refining the details of the design as we developed features, and gathered feedback from users. An MVP was ready in production in 6 months, and I led the demo to senior managers and engineering leads across the division in early December 2021
Outcomes
We received immense positive feedback. This would not only save developer time, but it would also extend to other divisions and user groups that use the data. Technical managers posed questions about developer tool features including data extraction and API features, demonstrating their enthusiasm for the potential of ATM.
We would continue to develop the application, introducing further features (case study coming soon) and resolving technical complications.
We launched ATM officially in June 2022, less than a year since the start of the intiative. I had built a launch plan for a smooth adoption of the product. Now, at the time of writing (1 year later) the app is actively tracking almost 100 software applications across the division, with over 100 users.
Further, the shift to using Blazor on several business critical applications has long begun. Our project showcased the capabilities of Blazor, generating interest to impact the development of government applications.