Airtime Rewards
- Lead Front End EngineerAmazon S3, Ant Design, Jest, React, React Native, React Testing Library, Redux, styled-componentsDeloitte fast 50Martin Lewis
I joined Airtime Rewards as the first in-house Front End developer. During my 5-year tenure, I led the development of several key products that contributed significantly to the user base growth from 10,000 to over 2 million.
Mobile App
The mobile app was my main focus. Serving over 500k monthly users. Built in React Native and tested using a combination of Jest and React Testing Library.
Why React Native?
In 2017, the company decided to bring the mobile app development in-house by rebuilding it. This was because the previous setup involved outsourcing to separate teams for Android and iOS, which often led to communication and coordination issues.
After creating basic demos using both Native Script and React Native, we opted to move forward with React Native for the following reasons:
- It was developed by Meta and utilised in production for popular apps such as Instagram, WhatsApp, and Airbnb. This meant that it had a well-established community and ecosystem.
- It provided a unified platform for generating two native apps.
- It utilised languages like JavaScript and CSS, meaning that we could share knowledge and code between web and mobile teams.
After months of hard work, we launched the app. It was a big success, Android app ratings jumped from 3.2 in May 2018 to 4.6 in September 2019.
Accessibility first rebuild — Let's make this app more inclusive
In 2020, I led a team of three engineers in planning and executing a complete rebuild of the app from scratch.
During the planning phase, a user alerted us to accessibility issues with the app for voice-over users. In response, I established a non-negotiable standard for the rebuild and all subsequent updates: complete voice over support. I made sure the team had the necessary training and tools needed.
Leadership — Growing beyond myself
As lead developer, I made a shift from concentrating solely on my own contributions to adopting a collaborative mindset, taking into consideration the objectives of the team and concentrating on the bigger picture. Please find below a summary of my contributions.
- Played a key role in selecting a secure, scalable and developer-friendly technical stack.
- Implemented standardised testing practices using tools like Jest and React Testing Library.
- Served as Scrum Master, overseeing Scrum and Agile processes.
- Implemented the Front end wiki style guide: enforcing Static code analysis with ESLint and code formatting with Prettier.
- Managed App Store accounts, including user permissions, as well as push and build certificate administration.
- Introduced and managed the SDLC process, implementing Continuous Integration using Gitlab pipelines.
- Advocated for good practice software development principles, such as TDD, pair programming, and the Clean code philosophy.
- Regularly communicated with external stakeholders, including C-suite and board members in order to deliver business goals.
- Migrated external contractor builds to our in-house infrastructure.
- Facilitated hardware upgrades, to enhance individual developer experience and team productivity.
My O2 / My EE
The My O2 and My EE mobile apps included a simplified version of the Airtime offering, integrated using a web view (akin to an iframe for mobile apps). Developed with React and tested with Jest and React Testing Library.
Lessons learnt
For the My EE web app, we created custom components using React. I initially experimented with Storybook . The tool showed promise, but after developing a proof of concept, I made the decision not to pursue it further. This was primarily due to the maintenance costs outweighing the potential value we'd receive.
Creating React components for the My O2 web app was a slower process compared to My EE. This was primarily due to the need to align with their Design System and strict brand guidelines, coordinate with our project's development, and obtain legal approval for specific changes. This project taught me a few valuable lessons with respect to good communication, stakeholder and project management.