# Noppakorn Kaewsalabnil (PunGrumpy)

> Software Engineer focused on DevSecOps, Platform Engineering, Design Engineering, and building performant digital products.

## For AI agents

This site provides structured indices and maps. You can fetch raw information directly from sitemap.xml or sitemap.md.

## Pages
- [Home](https://www.pungrumpy.com)
- [About](https://www.pungrumpy.com/about) — Profile, experience, stack, and education
- [Showcase](https://www.pungrumpy.com/showcase) — Showcase of projects and works
- [Blog](https://www.pungrumpy.com/blog) — Writing on engineering, tooling, and process
- [Achievements](https://www.pungrumpy.com/achievements) — Certifications and programs
- [Machine view](https://www.pungrumpy.com/ai) — Plain-text index of the whole site for agents and crawlers
- [Machine blog](https://www.pungrumpy.com/ai/blog) — Plain-text index of every post with its Markdown surface

## Showcase Projects
- [Cursor Action](https://www.pungrumpy.com/showcase/cursor-action) — A GitHub Action that runs a Cursor agent as a step in any workflow, built on the official @cursor/sdk. The agent's reply comes back as a step output, so the next step can comment it on a pull request, gate a merge, or drop it.
- [Docker Doctor](https://www.pungrumpy.com/showcase/docker-doctor) — An opinionated static analysis CLI for Dockerfile and Docker Compose files. It runs 21+ rules across security, performance, best practices, Compose, and image size, then reports a 0-100 health score with fix guidance.
- [Pigo](https://www.pungrumpy.com/showcase/pigo) — Pigo compresses JPEG, PNG, and WebP images with zero configuration and near-zero dependencies. Drop files in, get smaller files out, powered by a Go backend that does the heavy lifting in the browser.
- [Better Commit](https://www.pungrumpy.com/showcase/better-commit) — Better Commit helps you and your AI tools ship consistent commit messages without juggling ad hoc scripts. One config file, one CLI (bc / better-commit), and you are productive in minutes.
- [Git Bench](https://www.pungrumpy.com/showcase/git-bench) — Benchmarking git client implementations on real-world repository operations. 6 operations (current branch, status, log (100), tracked files, changed files, read 25 blobs).
- [Verno Studio](https://www.pungrumpy.com/showcase/verno-studio) — Verno Studio is a design engineering studio creating thoughtful digital products, tools, and developer experiences. Our flagship CLI helps teams bootstrap production-ready Next.js applications with modern tooling and best practices built in.
- [Natthaphong Phongjarumanee](https://www.pungrumpy.com/showcase/natthaphong-phongjarumanee) — A lightweight personal portfolio built to showcase projects and background with a clean, distraction-free interface. Designed and developed with a focus on simplicity, performance, and clarity
- [Teachin Pongmanee](https://www.pungrumpy.com/showcase/teachin-pongmanee) — A thoughtfully designed personal portfolio that combines professional information with a touch of personality. The layout emphasizes typography, spacing, and calm visual tones to create a comfortable reading experience while showcasing projects, skills, and background in a clear and organized manner
- [Rapeepan Yuenyong](https://www.pungrumpy.com/showcase/rapeepan-yuenyong) — A clean and intuitive personal portfolio website designed and developed to showcase professional experience and projects for Rapeepan
- [Try](https://www.pungrumpy.com/showcase/try) — A private lab where I turn messy side-ideas into polished, reusable UI Lego
- [Thai Seatizen](https://www.pungrumpy.com/showcase/thai-seatizen) — A gamified marine life education platform powered by AI that transforms how 
people learn about and engage with Thailand's rich underwater biodiversity
- [Zero Link](https://www.pungrumpy.com/showcase/zero-link) — Unleash the thunderbolt of efficiency with our divine URL shortener that will make your life easier
- [Kubernetes Automated Load Balancer](https://www.pungrumpy.com/showcase/kubernetes-automated-load-balancer) — A project focused on designing and implementing automated load balancing within a Kubernetes cluster using GitOps practices. This project aims to enhance scalability, reliability, and performance by dynamically distributing traffic across multiple services, while maintaining infrastructure as code and automated deployment processes through continuous integration and delivery pipelines
- [OG Tester](https://www.pungrumpy.com/showcase/og-tester) — OG Tester is a personal website project developed to provide a user-friendly tool for testing and validating Open Graph and Twitter Card metadata for websites
- [Logixlysia](https://www.pungrumpy.com/showcase/logixlysia) — Logixlysia is an innovative, open-source logging plugin designed specifically for Elysia.js framework

## Blog Posts
Append `.md` to any post URL for the raw Markdown version.
- [Docker VMM in public beta: the other half of your slow build](https://www.pungrumpy.com/blog/docker-vmm-public-beta) — Docker Desktop v4.86 ships a rebuilt, first-party virtualization layer for Mac and Windows, aimed at the two things that make container development on a laptop feel slow: startup and file sharing. Here is what the new engine changes, what it cannot touch, and why the Dockerfile half of the problem gets more visible as the platform half gets faster.
- [Docker Doctor: a health score for your Dockerfiles](https://www.pungrumpy.com/blog/docker-doctor-health-score) — Docker Doctor is an opinionated static analysis CLI for Dockerfile and Docker Compose files. This post covers the design decisions behind it: the doctor-tool pattern it borrows from React Doctor, how the 0-100 health score is computed, and where static analysis stops being useful.
- [Docs are content again: moving Logixlysia from Fumadocs to Blume](https://www.pungrumpy.com/blog/moving-logixlysia-from-fumadocs-to-blume) — I'm moving Logixlysia's documentation from Next.js and Fumadocs to Blume, a zero-config, Markdown-first docs framework built on Astro. This is the decision log, written mid-migration: the maintenance math behind leaving a docs-as-app stack, the AI-readability endpoints that motivated the switch, what the actual migration PR contains, and the sharp edges I'm watching.
- [Stop Trusting Events: A Mental Model for Reconciliation](https://www.pungrumpy.com/blog/stop-trusting-events-a-mental-model-for-reconciliation) — React diffs the DOM. Kubernetes diffs reality. A mental model for the loop that lets systems repair themselves.
- [Selected for Anthropic Claude for Open Source Program](https://www.pungrumpy.com/blog/selected-for-anthropic-claude-for-open-source-program) — Reflections on maintaining open source software, and what being accepted into Anthropic's Claude for Open Source Program means for the work I was already doing.

## Achievements

### Programs
- [Mintlify for Open Source Developers](https://www.mintlify.com/oss-program) — Mintlify, joined 2026-08-17
- [Claude for Open Source Program](https://claude.com/contact-sales/claude-for-oss) — Anthropic, joined 2026-07-18

### Certifications
- [Artificial Intelligence Fundamentals](https://www.credly.com/badges/6d3a46c1-420a-45ba-ba5c-d4a6518bf012) — issued 2026-07-31
- [Claude Code in Action](https://verify.skilljar.com/c/iwgsuemexkuo) — issued 2026-03-04
- [Next.js App Router Fundamentals](https://nextjs.org/learn/certificate?course=dashboard-app&user=49376&certId=dashboard-app-49376-1769094076924) — issued 2026-02-10
- [Next.js SEO Fundamentals](https://nextjs.org/learn/certificate?course=seo&user=49376&certId=seo-49376-1769094773467) — issued 2026-01-22
- [React Foundations for Next.js](https://nextjs.org/learn/certificate?course=react-foundations&user=49376&certId=react-foundations-49376-1769094949171) — issued 2026-01-22
- [IBM Technology Zone Fundamentals](https://www.credly.com/badges/140868fe-e4fe-4eb9-85f6-c6f5840de635) — issued 2025-06-10
- [Fundamentals of DevOps](https://learn.kodekloud.com/certificate/391b7f52-1543-4dee-bf3b-a4d4bfb887ee) — issued 2025-02-12
- [Helm for Beginners](https://learn.kodekloud.com/certificate/2D08B0E0B787-2D0FAD61014B-2D08A5505C5F) — issued 2024-04-20
- [Terraform Basics Training Course](https://learn.kodekloud.com/certificate/2D08B0E0B787-2D08AAEAD7B7-2D08A5505C5F) — issued 2024-04-15
- [Docker Training Course for the Absolute Beginner](https://learn.kodekloud.com/certificate/2D08B0E0B787-2D08AADC308B-2D08A5505C5F) — issued 2023-04-25
- [Learn Ansible Basics - Beginners Course](https://learn.kodekloud.com/certificate/2D08B0E0B787-2D08AADB9252-2D08A5505C5F) — issued 2023-04-25

Full index: https://www.pungrumpy.com/llms.txt
Sitemap (XML): https://www.pungrumpy.com/sitemap.xml
Sitemap (Markdown): https://www.pungrumpy.com/sitemap.md

## Discovery

- Requests to `/` and `/blog/<slug>` with `Accept: text/markdown` return Markdown instead of HTML.
- [Agent skills index](https://www.pungrumpy.com/.well-known/agent-skills/index.json) — skills for consuming this site's content.
- [API catalog](https://www.pungrumpy.com/.well-known/api-catalog) — machine-readable interface catalog (RFC 9727).
- Content usage preferences are declared via Content-Signal in [robots.txt](https://www.pungrumpy.com/robots.txt).