Claim Tax Benefits — paul craigSkip to main contentSkip to main navigation

Claim Tax Benefits

Simple filing for quicker benefits

Screenshot of the Claim Tax Benefits prototype

Between November 2018 and January 2020, I was Technical Lead on a moonshot Canadian Digital Service (CDS) project to improve the way Canadians file tax returns. Moving from an organizational discovery to prototyping to testing with citizens, the service trialled expedited filing for low-confidence tax-filers in Ontario.

As the lead technologist on the team, I was responsible for delivering a resilient and accessible service to test with Real Canadians™, for setting up longer-term practices (CI/CD, our sweet suite of tests), and for integrating with the legacy infrastructure at the Canada Revenue Agency (CRA). It was a big role, though the day-to-day depended on the phase of the project.

During the Discovery, my focus was on the archeology of our partner department: who are we working with? how do they plan their work? what systems are implicated? What are the constraints? The reports I wrote elaborated the context and made the case to move forward.

In the Alpha phase, myself and the CRA Service Owner came up with the initial concept, which we then refined with our Service Designer. I built various initial prototypes using different technology stacks to find a balance between the preferences of our modern dev shop and CRA’s legacy environment.

While working towards a live Beta, I led a small but capable team of inter-departmental developers as we built a snappy and accessible Node app that was continuously tested and deployed inside of CRA’s Azure cloud lab.

The technical challenge was to define a stack whose citizen-facing side could accommodate quick changes on top of a mainframe system that absolutely could not. To resolve this tension, I designed a quick-to-iterate containerized JS frontend and a Java API backend that could translate our data into the format expected by CRA — an architecture that remained intact despite many other changes to the project.

Unfortunately, the service was not launched due to conflicting priorities between our two organizations. At CDS, we wanted to quickly roll out the service on a small scale, whereas CRA preferred to pause the work until such time as Canada's Governor General would ask them to prioritize it in her Speech from the Thone, using almost literally the tagline of our project:

“The Government will also work to introduce free, automatic tax filing for simple returns to ensure citizens receive the benefits they need.”

Julie Payette, (former) Governor General of Canada

Claim Tax Benefits was an ambitious project aiming to redefine how an important government service could be built and delivered: quickly and incrementally, using real citizens to guide the process. While it didn’t achieve its ends in the short term, much of the work we did is publicly-available — including our documentation and our code repository — laying an important foundation for whatever comes next.

No biggie though, not everything works all of the time, and the CRA project involved coordination, responsibility, and areas to grow. Plus, ending the project freed me up to work on the COVID Alert Portal: the hippest “made-in-Ontario” exposure notification app this side of the Rideau river.