All of the code is written with TypeScript except for a very few AWS Lambda which is managed by AWS Amplify Framework.
The authentication, analytics, and data storage are managed in AWS Amplify Framework. This allows me to use AWS Amplify JS library for both mobile and web.
The Shopify API is securely accessed using AWS Lambda and API Gateway authorizers or DynamoDB triggers. These AWS Lambda functions have controlled access to limited resources and retrieve secured keys from AWS Systems Manager Parameter Store, all of which are coded as Infrastructure as Code (IaC) using CloudFormation.
Used TypeScript for React Native and ReactJS project for static typings and better code IntelliSense.
Implemented custom React components for AWS Amplify JS authentication workflow complete with Multi-Factor Authentication (MFA) for Short Message Service (SMS) and Time-based One-time Password (TOTP).
Contributed minor bug fixes to various open-source libraries and used patched-package to locally fix dependencies that need immediate changes.
Managed app distribution using Fastlane and generated images using Sketch for Google Play and Apple App stores.
Written Infrastructure as Code (IaC) using AWS CloudFormation template that integrates multiple AWS resources with Web app, Mobile app, and Shopify API.
Added security best practices by adding specific IAM Policy to AWS CloudFormation resources and enabling AWS Cognito authorizer to API Gateway, and storing credentials to AWS parameter store.
Configured TypeScript on AWS SAM Lambda functions to build using ES2017 for readable artifacts and use a shared library among many functions for reduced code duplication. (Soon to change to use AWS Lambda Layers + TypeScript! ✌️)
Acted as React Native lead developer with a team of two mobile developers, UI designer, and back-end architect to create a Healthcare and E-commerce mobile app. Converted Sketch designs to code, decided on which libraries to use, managed compatibility issues with iOS and Android, enforced best practices, and configured multiple environment setups.
Integrated React Native deployment with Fastlane continuous deployment tool and bash scripts to manage app versioning for Apple App Store and Google Play Store. Deployed multiple app version for various stakeholders – test, stage/production, and bug trackers. Made laborious 1.5hrs manual deployment process to just 30mins automated upload.
Stepped-in to fix slow e-commerce module and applied Redux and React Native best practices resulting in greatly improved UI response time from 500ms to 100ms.
Implemented major mobile app modules such as authentication with biometrics login, text and location search, pagination, health/benefits breakdown, GCash payment, error/bug tracking, and analytics.
Used Test Driven Development (TDD) approach for Redux reducers. Used Jest and configured test code-coverage report and unit tests having 90% code coverage for new/modified code for the first 3 months of app development.
Developed, managed, and maintained multiple AWS Lambda functions and AWS API Gateway with the mobile app’s versioning.
Worked on Python Django API to add core features (pagination and Geodjango), patched bugs, updated server data, secured implementation against vulnerabilities, and deployed new versions to AWS Elastic Beanstalk.
Leadership and management
Documented various development checklist, to-do’s, how-to’s, product workflow for e-commerce ordering and payment without the prior requirement from management or team.
Encouraged colleagues innovation by creating “Tech Discussions” workplace group (internal) for sharing the best and latest articles that can be useful to the company. Proactively participated in brown-bag sessions.
Reported to Chief Digital Officer during weekly project meetings.
Setup team meetings with QA or domain experts for task breakdown, estimation, and test plans.