Arc’teryx mobile app

Cross-platform app for outdoor equipment stor

Maintenance and new features

  • app
  • front-end
  • devops
  • React
  • React Native
  • GraphQL
  • Typescript
  • Styled Components
  • multilingual
  • Apply

I was brought in to Apply Digital to help with maintenance and development of new features for the existing Arc’teryx mobile app.

It’s built with React Native but with no framework like Expo. There was some documentation but incomplete, outdated, and scattered, and as I got set up I did my best to update the documentation, hopefully meaning the next new developer on the project will have a head start.

Code linting was set up on this project but was not actually used by any of the developers, and not enforced at CI, because it had been neglected so long that there were hundreds of warnings and errors. After getting the project running, the first thing I did was to fix all of the trivial errors and warnings, then adjust the ruleset and add some “ignore” annotations so that it could pass, then enable it in CI. From there, I gradually fixed more and more of the issues, and tightened the ruleset back up. After this I felt much more confident making changes in this large codebase.

I was initially tasked with making changes to the product detail page, to match a newly refined set of designs. Some of this was completed, but before too long, I was asked to help the rest of the small team with the larger changes they were working on.

One was replacing their old customer engagement platform, which was changing from Leanplum to Braze.

Another was replacing their identity and access management platform, which was changing from Forgerock to Auth0.

Meanwhile, they had freshly changed build/CI platforms, from Appcenter to Bitrise, and there were still some issues.

That’s obviously a lot of changes to do at once, along with feature flagging, and I was able to help the team complete the changes. There were some hairy code merges from some long-running feature branches, but I was able to help with those too.

I also helped build a “brochure mode” feature, a “forced upgrade” feature, did a lot of refactoring, and provided various bugfixes.