Senior Front End Developer at Zen Educate Ltd. (2024-06 – Present)
React native mobile & web app for Job matching in education (US & UK, 10K active users)
- Setup mobile release cycle & pipeline for both Android & iOS using Expo (Store release ad hoc) & OTA updates (weekly)
- Migrate to new architecture: Storage - from expo secure to MMKV, Redux to Zustand. Setup React Query for easier cache control and prefetch.
- Enabled React Native new architecture.
- Enhance native experience: implementation haptic feedback & animation to critical flow
- Create and maintain cross team documentations.
- Setup Sentry observability: setup tracing, use sentry-label for business critical flow & breadcrumbs for easier debugging. Monitor crash rates on new releases
- Setup simpler process for testers (across the globe)
- Setup data analytic dashboard (Mixpanel) for continuous monitoring for feature events data & Sentry for performance metrics.
- Leading mobile native forum for UI /UX suggestions, improvement plan & session replay study group to proactively identify areas of improvement in user journey.
- Identified architecture design that can be improved. Propose alternatives, migrate & setup plans to achieve performance in load time & UX ( region data migration, setting up feature flag system for 3rd party SDK, overhaul all modal flows )
- Setup Over The Air (OTA) update process including branching, testing & versioning strategy. An additional approach for immediate bug fix by not relying on App-Store approval processes. Changing deployment process to frequent OTA (weekly) & monthly Store native release.
Software Engineer at The Economist Group (2022-12 – 2024-05)
News mobile app (worldwide, 1.2M users)
- Manage full deployment cycle for both Android & iOS with React Native & Fastlane.
- Setup observability tool: Sentry to proactively improve crash-free rate & user experience, capture errors, set up transaction traces to monitor performance.
- Integrate Sourcepoint native SDK (Swift & Kotlin) to react native for TCF/GDPR compliance, Marketing SDKs such as: Appsflyer & Apptentive for campaigns deep-linking, analytic events and revenue reporting.
- Re-write in-app-purchase flow to reduce complexity and better performance.
- Migrate old shared architecture to reduce complexity and dependencies.
- Formulate initiative on projects across teams (planning and defining contracts outside of the mobile team).
- Take lead on sprint planning/quarterly roadmap, participate in priority 1 incident meeting to plan & act on risk mitigation. Refining QA process while not compromising on confidence level.
- Mentor and pair programme within and outside mobile team.
- Achieve GDPR & CCPA legal compliance for Economist & Espresso app to de-risk potential penalty for mobile.
- Overhaul in-app-purchase flow to reduce http requests and improve accurate revenue reporting.
Javascript Developer at Made.com Design Limited. (2019-07 – 2022-10)
iOS Mobile App (150K active users)
- Full iOS app deployment cycle - develop features, debug, refine architecture, tackle tech-debt, hotfixes for business critical issues, error trends monitoring - React Native, Redux, Redux-Saga, Zustand, GraphQL, Firebase, TypeScript, CodePush, CircleCI, Sentry
- Mentor new & junior staff - Javascript ES6, React lifecycle /hooks, utilitse various debugging tools
- Set up backend services with API & database from FireStore - Firebase
- Improve UI, UX, code performance, capture analytics - working closely with Designer & Product Owner
- Setup A/B testing to guide business decision with Firebase
- Unit testing & E2E testing- Jest, Enzyme, React-testing library, Detox
- Overhaul translation system - Replace react-intl with react-i18next. For easier agile development from splitting translation strings into a standalone object, loaded on render vs big JSON object in git-submodule that requires PR merges across teams just to update small amounts of strings.
- Optimise app performance - achieved faster rendering time by refactoring how data is requested, cached and consumed. Restructuring CMS data for simpler data processing. Improves better error handling and reduces unnecessary retries with failed requests. Improved areas: homepage, product search, product listing page.
- Setup account deletion API & database - use Firebase Cloud Functions & Firestore to handle App Store policy for users' ability to delete their account with just one button click. While fast prototyping, security and vulnerability is not compromised for sensitive user data handling.
Junior Full-Stack Developer at MySense Limited (2018-12 – 2019-06)
Health Analytic & Monitoring Platform Android App
- Add features to UI & UX - Material UI, React Native
- Integrate IoTs (sensors, switches) to app
- Configure API for Authentication - AWS
- Data visualization - Victory Charts
- Contribute to data structure architecture
- Create style system to reuse throughout -Storybook
- Introduce offline UI handling - To avoid Janky UI, only handles changes offline, only refresh and reconcile data before or after user's action in case of network error.
- Interactive gesture guided data visualization - Introduce a user interactive way to refine scope of data to show, recalculate data in the selected range on swipe while not throttle the JS thread.