Skip to content

Instantly share code, notes, and snippets.

@DollarAkshay
Last active September 22, 2021 20:12
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DollarAkshay/2933e54efc84763fc30cb5035d400163 to your computer and use it in GitHub Desktop.
Save DollarAkshay/2933e54efc84763fc30cb5035d400163 to your computer and use it in GitHub Desktop.
Work and Responsibilities at Gokion

List of Cloud Infrastructure Responsibilities:


  • Overall AWS architecture design
  • Domain Nameservers (DNS) configuration
  • DNS rule configuration Cloudflare
  • Site Reliability Monitoring on Cloudflare
  • AWS Billing and monitoring
  • Checking and monitoring CloudWatch and its logs every week.
  • AWS IAM management
  • IAM user permission configuration
  • AWS Elastic Compute (EC2)
    • EC2 custom AMI for quick instance creation in the future.
    • Setting up proper EC2 security groups for HTTP/HTTPS applications
    • Setting up proper EC2 target groups to make it scalable in the future.
    • Set up a load balancer for the EC2 target groups (Refer to the ABL section)
    • Nginx setup inside the EC2 to redirect to the proper port based on host headers. This allowed us to cram everything into one single EC2 instance and save costs.
  • AWS Application Load Balancer (ALB)
    • Setting up a proper HTTP/HTTPS load balancer
    • Setting up a static IP address for the ALB (aka. Global Accelerator). I removed it later on, to save costs.
    • ALB rule configuration with automatic HTTPS redirects. Used Cloudflare later on to achieve the same effect.
    • ALB health check endpoint setup
    • Associating the right SSL certificates to the ALB. Certificates were generated using ACM.
    • Occasional ALB monitoring and tweaking
  • AWS Certificate Manager (ACM)
    • Generating and verifying SSL certificates using ACM. (Saved costs on SSL certificates)
    • Linking ACM certificates to the ALB
  • DynamoDB
    • DynamoDB table setup and configuration (including GSI and LSI config)
    • DynamoDB manual scaling (Cost Optimization)
    • Writing consumers for DynamoDB streams using AWS Lambda
    • DynamoDB table wide field remapping scripts
    • Various scripts to upload and download DynamoDB in JSON and CSV format
    • Setup continuous backups and Point-in-Time Recovery for DynamoDB
    • Frequent DynamoDB monitoring and tweaking
  • ElasticSearch (ES)
    • ES index setup and configuration
    • ES index schema design
    • ES zero downtime index switching with no lost data (Usually needed to do this when there was a schema change)
    • AWS Lambda function to read from DynamoDB stream and write it to ES
    • ES & dynamodb sync script
    • ES load testing
    • Frequent ES monitoring and management
  • ElasticSearch - Kibana
    • Setup beautiful dashboard on Kibana for various metrics
    • Setup read-only users for ES and Kibana, so that non-tech team members can access the dashboard
    • Various other small things on Kibana
  • AWS Simple Could Storage (S3)
    • S3 bucket config and setup
    • S3 bucket policy management
  • AWS Simple Notification Service (SNS)
    • Setting up a proper SNS SMS service over local routes rather than international routes (Saved our SMS costs by a factor of 10)
    • Registering out DLT information with AWS, though customer support
    • Checking SNS error logs in case of failures
    • Frequent SNS monitoring to make sure OTP login is working properly
  • AWS Kinesis Streams
    • AWS Kinesis Stream setup and configuration
    • Writing Kinesis stream consumers for various services
    • AWS Kinesis Stream monitoring
    • Ended up scrapping it, since it was not available in the free tier and was quite expensive.
  • Probably countless other small things on AWS which I am not listing here.

List of Backend Responsibilities:


  • Extensive research on the best frameworks before starting the project. Ended up choosing Node.js and Express with typescript.
  • Setting up proper folder and file structure for the project
  • Typescript build configuration and setup
  • Writing API controllers and routes
  • Local testing, production testing, and documenting of each and every API upon completion.
  • Beautiful API documentation in Postman with examples and comments for some of the JSON parameters.
  • Wrote postman scripts to automatically refresh auth tokens to make testing API's a breeze
  • Setting up the Google play console
  • Google Play store, store listing configuration.
  • Google Play Console dashboard setup. Basically choosing the right metrics to track for our app.
  • Generating and safeguarding various private keys, required for app deployment on the play store.
  • Deployment of Android app to Google Play Store.
  • Deployment of iOS app and Apple App Store configuration
  • Deployment of Backend API
  • Deployment of all Frontend Webapps
  • Scraping data from third-party website's API for various reasons.
  • Scraping data from Google Maps using Selenium to generate leads for the sales team. Divided Bangalore into small 16 sq. km grids and ran a google map search for each grid.
  • Can't comment on the scale of data scraping due to the grey nature of it.
  • Data analysis using python juptyer notebook
  • Visualization of various data sets collected.

List of Frontend Responsibilities:


  • Extensive research on the best frameworks before starting the project. Ended up choosing React, Redux, Material UI with Typescript.
  • Setting up proper folder and file structure for the project
  • Typescript build configuration and setup.
  • UI/UX design for all webapps.
  • Writing components, layouts and styling using React and Material UI.
  • Properly setting up Redux toolkit for the project keeping best practices in mind.
  • Writing Redux actions and reducers for the project.
  • Writing HTTP middlewares with Axios to handle automatic token refreshes.
  • Vernacular support for all major Indian languages on our landing page using i18n
  • Thorough testing of page layouts and responsiveness of various components.
  • Running Chrome lighthouse audits to ensure a decent score across all its metrics.

List of Miscellaneous and Managerial Responsibilities:


  • Registering SMS headers on a DLT platform. Chose Jio true connect as our DLT platfrom as it was free.
  • Registering SMS templates on a DLT platform
  • Managing user roles and access across AWS, GCP, Firebase, Postman, Discord, LinkedIn, Github, Internal Dashboard, etc.
  • Github code reviews on the pull request made by interns.
  • Working closely with 1 flutter developer, 1 frontend developer and 1 frontend intern.
  • Keeping track of project specs, features, bugs, completed and to-do tasks on a Trello Board.
  • Setting up and configuring our primary communication channel which was Discord. Added some nice custom emojis and bots to make it fun and interactive.
  • Various company-wide announcements and updates.
  • General motivation and pep talks with the team. Helping my team members be the best versions of themselves.
@akshay1027
Copy link

It was nice working with you, learnt a lot technically and Personally!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment