Keep.✨SWE.🔥Soft.💩

Kevin Wang's blog on anything from cloud architecture, to serverless tech, to Kettle® Chips. Recently, I'm into Golang, the AWS CDK, and MIT 6.824.

Projects • Writing • Misc

I like tinkering

Writing code is like playing with LEGO® pieces. Here's a fun project where the ripples mark where users of Bloc Stats have been.

I try to write things

Heavy emphasis on the try part.

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