Architecture diagram of implementation
Architecture diagram of implementation
Infrastructure diagram of a static website using AWS services, Github, and Cloudflare

I have created a Terraform module to provide the infrastructure for a static website or static application (HTML, CSS, Javascript, etc.), the infrastructure resources contain:

  • AWS CloudFront
  • AWS S3 Bucket
  • AWS Certificate Manager
  • AWS CodeBuild
  • Github Webhook
  • Cloudflare Record

There are several reasons why I decided to use the above resources to serve a static application or website and the main reason is that the operation cost of the above infrastructure is very cheap compared to any other options, even if you have 1 million access per months to your application you almost pay nothing or pay nearly to $0…

This is a Corona beer, and this is my picture, so no copyright violation

Please note that this is how I personally cope with this COVID-19 situation (psychologically/mentally) and the threatening things in it, and I believe that this is a basic thing that everyone should aware of

2020 is a very tough year for everyone, COVID-19 is a pandemic that affects world living habits and the most affected aspect is the economy, a few months since the beginning of this pandemic, many companies began laying off their employees, this makes people afraid and panicked about this very threatening situation, isn’t it?

This article aims to encourage you to keep on preparing for the…

Today I found a cool repository called StylishThemes/GitHub-Dark, this repository has a custom style (CSS) to make Github appearance to be dark mode here is an example of how it looks like to be dark mode:

And this is the feed looks like:

I used to work with PHP programming language and handling monolith system using PHP, due to high demand for traffic, we decided to make our monolith application into an auto-scaling group service, since PHP doesn’t support connection pooling this situation caused too many connections to our single monolith database.

I have been thinking the solution to make a proxy database since there are so many options for database proxy out there (paid service to open source service), but the implementation can be a bit tricky, there are so many questions that must be answered if we implement this solution by…

I was sitting on a bench at the office park with my friend and wondering why Github doesn’t provide CI/CD tools so that we can use that for free (hehe), and suddenly Google News popups in my pocket announcing about Github Actions! WTH is this a coincidence? Or Google just heard everything we said and make a recommendation based on what we are talking about!? haha anyway, this is a cool feature TBH, lets explore more about that!

I have experimenting with my own website, previously I used AWS CodeBuild to build my website using NodeJS and store the…

A cache is a component that stores frequently accessed and rarely updated data. By this work, the future request can access that data faster. The data stored in the cache component is a pre-computed data or copy of data stored elsewhere. This strategy causes the requester doesn’t need to wait for computation to get certain data.

From the static building, these guys move to a caravan, the more flexible for in and out

In, most of our information is a collection of data that rarely updated such as product detail page, category page, seller page, product catalog, and seller storehouse or shipping information. …

In this article, I would like to show you how to deploy your static website to Amazon S3 from the Github repository, to achieve this objective, we will use the services below:

  • Github Repository
  • Github Webhook
  • AWS S3 Bucket
  • AWS CloudFront
  • AWS CodeBuild
  • (optional) Custom Domain

Step 01: Setup Project Repository

We will use a simple project using Webpack to show you the use of CodeBuild in this project, you can fork my project here aashari/webpack-starter-basic into your private repository.

You may clone this project on your local machine using below command:

git clone

Then you need to install the dependencies by using below…

In this article, I will show you how to deploy your Github repository to your Lambda function using CodePipeline, CodeBuild, and CloudFormation.

Flow process:

  1. Github repository trigger CodePipeline by a specific branch
  2. CodePipeline will download the project source for a specific branch
  3. CodeBuild will install project dependencies
  4. CloudFormation will create a stack and define changeset from the template file
  5. CloudFormation will execute changeset to create Lambda function based on a template file

Initialize Repository

You can fork my repository from this link:


You can create your own repository with these files inside:

  • template.yaml
  • buildpec.yml

File: template.yaml
This file aims to define the Lambda…

Instead of burdening your application just to resize and optimize the image then save it in S3, it’s better using AWS Lambda which is triggered from S3 to resize and optimize the image, thus making your application only upload it to S3 and let the AWS Lambda resize and optimize every image uploaded.

In this article, we will use to resize and optimize our images, you can freely use 3rd party or using NodeJS image compression library like sharp, imagemin, or anything else.

Step 01: Flow Process

Process Flow of Resizing and Optimizing using Lambda and Kraken
  • Application upload image to S3 bucket
  • S3 triggered lambda function
  • Lambda function…

In this article, I will show you how to create a simple rectangle detector using OpenCV on native Android step by step.

Step 01: Initialize Android Application

  • Create new Android Project using Android Studio (File -> New -> New Project…)
  • Fill the form (Example):
    Application name: OpenCVRectangleDetection
    Company domain:
    Project location: /home/aashari/AndroidStudioProjects/OpenCVRectangleDetection
  • Click Next
  • Select the form minimum SDK, mine is API 22: Android 5.1 (Lollipop)
  • Click Next
  • Select Empty Activity
  • Click Next
  • Click Finish

Step 02: Add OpenCV Module to Android Project

  • Go to:
  • Download Android pack of newest version (I downloaded OpenCV 3.4.1)
  • Unzip downloaded file “”
  • Import OpenCV module to android project by clicking File -> New ->…

Andi Ashari

I am a Software and Cloud Infrastructure Engineer living in Jakarta. I spend a lot of my time with code, paper works, movies, and coffee.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store