Keep.✨SWE.🔥Soft.💩
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.
Build
I like tinkering
Here's a fun project where the ripples mark where users of Bloc Stats have been.
Reflect
I try to write things
Heavy emphasis on the try part.
My First Nomad Cluster
My own notes — not a guide — on standing up my first Nomad cluster on AWS.

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.

Deploy any Web App to Lambda in 60 seconds
If it listens on a port, it can be deployed to Lambda!

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.

Deploying a GraphQL Docker Container to AWS Lambda with Waypoint
I finally got around to ticking off a few items on my todo list.
- Shoving an express.js app into a lambda function.
- Deploying a Docker container to lambda.
- Using a new HashiCorp product.
...And it all required very little code. Sort of.

nextjs-components
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.

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

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.

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.

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

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 🦄.

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.

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.

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.
