Often I am faced with a situation where I need my peers to upload files to my S3 bucket. The easiest solution was to create a pre-signed S3 URL and have my peers use it to upload the files. However, this creates 2 challenges.

First, the owner of the S3…

NOTE: This is a summary of https://aws.amazon.com/startups/modern-application-development/ that is written to help explain the concept to myself.


Modern applications are accelerating how startup build customer value. In order to compete in the new world, startup must be able to create better experience at a quicker pace. …

During my stay-home-notice, I wanted to build something using AWS. One day, my wife mentioned to me about a chat bot (created by Zing Zai@) to provide filtered listing information directly to your telegram and I decided to build upon it.


Open telegram and search for the bot : @llesc_bot

Setting up env variable in npm script is an easy way to run scripts with the proper env variable setup. This pattern allow us to abstract sensitive information from code and provide customization based on the individual needs.

A classical pattern use in npm script will look like this


So I have a web app that uses AWS Cognito for user management. Recently, I needed to retrieve a list of users from AWS Cognito User Pool. This is a simple task if you the luxury of a backend-server that could interact directly with AWS.

As I was building an…

I needed a lambda function and expose it through an api gateway for my web client. Surprisingly, this was easily done through amplify CLI. The interactive console makes creating the necessary assets easy. By answering a few questions and performing a simple.

> amplify init
> amplify add api
> amplify push…

As a developer, I want to have an autocomplete feature for aws cli. Luckily, I found https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-completion.html

However, simply adding this 2 line in ~/.zshrc did not work for me

autoload bashcompinit && bashcompinit
complete -C '/usr/local/bin/aws_completer' aws

and I got this error

complete:13: command not found: compdef

I found out that I need to activate the completion system in zsh using

autoload -Uz compinit

and I got this error

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

Now, we are talking. Fixing insecure directories can be done using this trick

compaudit | xargs chmod g-w

Finally, I have a working aws cli autocomplete feature

An example of autocomplete using aws s<tab>

Lesson 1 : Make it simple

Making things public requires things to be simple. Like teaching a little boy how to use his spoon to scoop up the food on the table. I imagine myself as the very same guy who would look into library codes to understand what the original creator was thinking. …

Dispatching an action in Redux is simple.

Looking at the documentation, the recommended property in an object is ‘type’

//Action creators are exactly that—functions that create actions
function addTodo(text) {
return {
type: ADD_TODO,
text: "Add this to todo list"

and we could simply pass the object to…

Moving to react has its quirks especially for SEO team.

2 main problem

  1. It only works with clients that has javascript enabled
  2. Not able to be crawled by Search Engine

Now we got problems, lets start our research

Times have changed. Today, as long as you’re not blocking Googlebot from crawling your JavaScript…


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