Kevin Wang's blog on anything from cloud architecture, to serverless tech, to Kettle® Chips. Recently, I'm into Waypoint, more AWS things, and transcribing Vercel's components.

Projects • Writing • Misc

I like tinkering

Here's a fun project where the ripples mark where users of Bloc Stats have been.


My public knowledge dump

👉 🧠 👈

I try to write things

Heavy emphasis on the try part.

Ok, Packer

After manually installing Nomad, Docker, Git, and ZSH on 3 EC2 instances, it was time to see if Packer could automate the process for me.

AvatarKevin WangDecember 04, 2022

My First Nomad Cluster

My own notes — not a guide — on standing up my first Nomad cluster on AWS.

AvatarKevin WangNovember 20, 2022

GitHub Actions Survival Skills

After close to a year of working with GitHub actions, I’ve compiled a list of handy “survival skills” that help to keep developer velocity high.

AvatarKevin WangJune 13, 2022

Deploy any Web App to Lambda in 60 seconds

If it listens on a port, it can be deployed to Lambda!

AvatarKevin WangApril 25, 2022

Serverless Brain Dump: Use Lambda with RDS Aurora Serverless

Part 1 of 3 in a serverless discovery brain dump. This portion focuses on the Lambda (compute) and Aurora (database) layers within the larger picture: FQDN → API Gateway → Lambda → Aurora.

AvatarKevin WangMarch 16, 2022

Deploying a GraphQL Docker Container to AWS Lambda with Waypoint

I finally got around to ticking off a few items on my todo list.

  1. Shoving an express.js app into a lambda function.
  2. Deploying a Docker container to lambda.
  3. Using a new HashiCorp product.

...And it all required very little code. Sort of.

AvatarKevin WangFebruary 14, 2022


Early last year, I began transcribing the react components from Vercel's component library site for use on my personal site. It was initially closed source but now in 2022, I decided to open source it. This is a reflection of how I tackled it and some thoughts and learnings I had along the way.

AvatarKevin WangJanuary 09, 2022

Tree CLI & Benchmarks

(Re)creating a CLI tool to print directory contents in a tree-like format. And then some benchmarking.

AvatarKevin WangNovember 01, 2021

Dynamic Matrices in GitHub Actions

...from JSON payloads that you send! — This was a recent rabbit hole 🐰🕳 that took me 2 days to figure out. I couldn't find a quick and clear answer on Google so I figured I'd write about it.

AvatarKevin WangSeptember 19, 2021

Next Stop, HashiCorp

Journal entry reflecting on past achievements and what's in store for the future. Self-assigning some Golang homework and some exploratory work into new territory.

AvatarKevin WangAugust 29, 2021

CloudFront Functions for an Efficient Cache Policy

Using CloudFront functions to apply some clever and sensible Cache-Control headers to a fully static Next.js app.

AvatarKevin WangJuly 26, 2021

Hexagonal Geospatial GPS Data Visualization App

Using Uber's H3, React Native, and DynamoDB to build a serverless system, end-to-end, to track and visualize my own GPS locations

AvatarKevin WangMay 17, 2021

CSV To DynamoDB

The AWS Python SDK (Boto3) provides a “batch writer”, not present in the other language SDKs, that makes batch writing data to DynamoDB extremely intuitive.

AvatarKevin WangApril 11, 2021

Micro Frontends in NextJS with Webpack 5

Webpack 5's Module Federation makes creating micro frontends straightforward. It is also available in NextJS 10+ via an experimental feature flag and it makes integrating micro frontends a breeze. You first build an external micro frontend and deploy it as a "federated module" to your destination of choice. Then you update some configs in your NextJS application and Webpack does the rest. It's kind of magic 🦄.

AvatarKevin WangMarch 26, 2021

25.33% Reduction in First Load JS with NextJS Dynamic Imports

A play by play in successfully reducing first load JS bundle size by 25% with code splitting via dynamic imports, and getting all NextJS pages into the green zone.

AvatarKevin WangMarch 15, 2021

JAMStack CI/CD with Lerna, NextJS, CDK, and Github Actions

Lerna, AWS CDK, and Github Actions make continuous integration and continuous delivery super easy. I figured out how to setup a CI/CD pipeline for my NextJS static apps backed by additional AWS infrastructure like Lambda functions, API Gateway, and Dynamo DB.

AvatarKevin WangMarch 06, 2021

Infrastructure as Code To Save Time

I found myself repeating some tedious tasks within the AWS console, week after week, and wanted to stop suffering. Infrasructure-as-code was the way to go but I knew I didn't want to learn Cloud Formation, and I was too lazy to pick up yet another 3rd party tool like Terraform.

AvatarKevin WangMarch 01, 2021