Quidax — Year 2, Day 1

Aremu Oluwagbamila (SMOG)
6 min readOct 2, 2023

--

A Very Rough Start

As you probably observed in Year 1, things were kind of smooth but it’s no news how tough things were generally in the crypto market towards the end of 2022 and unfortunately, business had to make some tough decisions which made everyone move around. I found myself in the Customer Experience team in Q1 and Q2, 2023.

Getting on a new team can be very tricky, learning new tools, and developing a working relationship with new people (luckily I had Justice and Abiodun who provided a soft landing), amongst other things.

Sadly, the team did not meet expectations in the first quarter and every single person on the team was affected.

Blessing in Disguise

In retrospect, I am grateful that happened; it wasn’t because we didn’t have the skills nor because we didn’t put in our best, it made me personally realize what to say ‘Yes’ to and when to put my feet down no matter who is asking. It has helped me to become more objective, and realistic and know how to scope work properly so that when I say I would do something and deliver it in a specific time period, I am able to do so.

What my Colleagues say About me

Feedback from my Team lead Q3, 2023
Feedback from my Teammates Q2, 2023
Feedback from colleagues in another team Q1, 2023

Project Based Experiences

1. Add to a Savings Plan

This was my re-introduction to the mobile app codebase, I hadn’t written React Native since late 2021 when I first joined Quidax so I decided to take a course to help solidify my knowledge.

Quidax Add to Flexible Savings Plan

2. Cards (Beta)

I think this is one of the most logic-intensive work I did in the past year and I also had to work on a lot of edge cases, that weren’t necessarily stated in the Product Requirement Document (PRD). For example if a user Clicks on the Fund USD wallet, and puts an amount less than the required amount, on the Swap screen, we are not necessarily able to determine if the amount is less than the card creation fee so I added a safety hatchet to check for this after a swap transaction successfully happens so that the user doesn’t go through the lengthy onboarding flow and the card creation process then fails. Due to the length of the entire onboarding process/flow, a GIF would be too lengthy, but you can experience things for yourself by downloading the quidax app on your iOS or Android device

3. Loving Quidax?

This particular project allowed me to write code that would be used in multiple touchpoints of the codebase. Essentially after a user has carried out a key action on the app in the period we are collecting the survey, we want to be able to trigger a request for a survey while also adding a buffer e.g. if they close the prompt the first time, show them at least one more time. This ‘buffer’ is also configurable by the Customer Success team just in case they want the trigger to show up more than twice.

This work took our net promoter score from 35 to 47. According to our VP of Engineering with more than 20 years of experience, he has never seen anything like this. This is also the highest jump ever since the NPS was launched. See demo below

Quidax NPS Survey Walkthrough

4. App Upgrade

While Expo allows us to push Over the Air(OTA) updates, there comes a time when we have to submit native builds to the app stores so that users can get the latest stable versions of our apps. This was one of those seemingly small tasks that ended up being a huge one. The actual code was implemented in about a day or two with support for soft upgrade (user can decide to skip the update) and forced upgrade (users can’t skip the upgrade).

But we had customers on various runtimeVersion s that dated as far back as when we first launched the app so I had to ‘hunt’ them all down, dig through commit histories and pinned branches to be able to serve them all. It also increased my understanding of mobile jargon like buildNumber , versionCode , versionNumber , runtimeVersion , and the differences in all of this values as it relates to an app and it’s bundle. See demos below

Quidax Force App Upgrade Preview
Quidax Soft App Upgrade

5. RIP Quidax Legacy

Goodbyes are hard but they must be said, I had the rare opportunity to retire the Quidax Legacy app and direct users to the new app. Seeing class-based components almost made me throw up, I guess that’s why it is legacy.

Aremu Smog

6. New Signup Flow

While I didn’t write any code in this project, I still played a very key role in getting things across in terms of brainstorming with the engineer working on the project, reaching out to Security and DevOps to help unblock anything that might be blocking the project, amongst other things.

7. Worthy of Mentioning

  • I fixed a six-month-old bug preventing preview images from showing up on the mobile app home screen in less than 30 minutes.
  • Queries and Mutations used to be mixed in the same file which might confuse new engineers contributing to the codebase. I led the process of separating queries and mutations with the least impact on the codebase to avoid any major disruption(s) then called the team’s attention to the drawbacks of taking the current approach we then went to take an incremental approach to migrating the remaining files while new features have their queries and mutations separated or else they would be bounced during code review.
  • Built a couple of new components including a dropdown component, an address input component integrated with Google Maps to ensure people enter valid addresses whenever we require it, etc. Most times, it wasn’t essential to go all out to build these new components but I just can’t but think about the next person and how life can be made easier for them when I write code.

Conclusion

I got promoted to Senior Frontend Engineer I in January and impostor syndrome has prevented me from updating or even saying it anywhere, I was either too scared of expectations but I guess it’s a reality I must embrace and also an opportunity to step up.

Like the cool kids say; it’s Day 1.

Aremu Smog — October 2, 2023

--

--