Showing 3 Result(s)

Chat Love – a serverless real-time messaging app

Features and Tech Stack

Serverless

  • Utilized AWS Amplify Framework serverless architecture technologies.
  • Real-time messaging using AWS AppSync WebSockets.
  • No upfront costs using AWS DynamoDB’s automatic scaling.

UI

Pahina – a serverless digital goods e-commerce platform (in development)

Pahina is a digital goods e-commerce platform (not much I can share for now on what exactly it’s for, sort of confidentiality since the project is currently in development).

All of the e-commerce functionalities are provided by Shopify. There are three modules buyer mobile app, seller web app, and API.

Here, I’ll share the technology behind the platform and experiences during development.

Tech Stack

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.

Work Experience

UI

  • Used TypeScript for React Native and ReactJS project for static typings and better code IntelliSense.
  • Developed custom themed UI components using styled-components and react-native-elements libraries.
  • 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.

Serverless

  • 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! ✌️)

Vigos Care – Healthcare and E-commerce App

Vigos Care is a mobile application for company health benefits backed with a tenant-based user management system. The core features of the app are:

home page
  1. Managed and controlled employee registration and benefits using complimentary web app and configuration.
  2. Integrated consultation viewing of checkup records from partner clinics.
  3. A comprehensive list and map view of accredited doctors, accredited hospitals, and drugstores.
  4. In-app ordering of medicines with office address delivery.
  5. Order payment can be Cash-on-delivery, company health card, or GCash virtual wallet.




Project role

The development team responsible for bringing the project to fruition consists of two mobile developers, UI designer, and a back-end developer.

My primary role was to lead the React Native development. After the initial release, I took over the primary developer for back-end as well.

The primary tech stack is as follows:

  1. React Native – Android and iOS development.
  2. AWS Amplify – authentication and analytics.
  3. Python Django API – interface for openEHR, and e-commerce data.
  4. AWS Lambda and API Gateway – used for order notifications and GCash virtual payment processing.
find hospitals

Work experience

Front-end development

  • 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.

Back-end 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.
  • Mentored junior teammate on React Native, Javascript, and Scrum best practices and continuously help resolve task blockers.
  • 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.