Integrating CodePush into CircleCI and Fastlane to improve native app deployments

Over the past year at TotallyMoney I've been focussing on the native application for iOS and Android. It's a React Native application that was released in 2017 and has seen iterative improvements since. TotallyMoney has historically focussed mainly on their website but as apps have become an increasingly large part of the tech sphere, and we've seen from our data that TotallyMoney users who use the app are more engaged than those who use the website, the app has become more and more of an important part of the company.

However, we realised that we were being held back a little from faster iteration on the app, due to the nature of updating native apps. This post is about some stuff that I've learnt about improving deployments and enabling faster iteration within the native app.

1 month with the Dactyl-Manuform

Starting in about September, I started to build the dactyl-manuform as I had begun to experience RSI symptoms while at work. TotallyMoney had already very helpfully bought me a vertical mouse (the excellent Logitech MX Vertical).

Read on to find out more about the keyboard, the build process and some improvements I plan to make.

Composable SVGs in React

The modern web has taught us that using SVGs is a good idea; they scale well on all screen sizes, they have fairly small file sizes, and can be edited easily with CSS. However, using them in a modern single-page app is a bit of a pain. To be piped through Webpack, they need a special loader, and often custom SVG components for libraries like React. And while it’s still possible to change the style (colour, size, etc) of the imported SVGs, it’s a little cumbersome. There must be a better way.