# Gabriel Koo > Personal site and technical writing by Gabriel Koo, a Hong Kong-based security, cloud, DevOps, automation, and AI platform engineer. This file is the machine-readable directory for https://gabrielkoo.com. Links ending in `index.md` return Markdown; the corresponding directory URL returns HTML. ## Primary resources - [Complete site corpus](https://gabrielkoo.com/llms-full.txt): Key pages and every blog post in one Markdown document. - [Public Knowledge MCP](https://gabrielkoo.com/mcp/docs/): Read-only, evidence-backed search across articles, projects, talks, and anime. - [MCP Server Card](https://gabrielkoo.com/mcp/server-card): Connection metadata for the Streamable HTTP endpoint. - [Agent Skill](https://gabrielkoo.com/.well-known/agent-skills/gabrielkoo-public-knowledge/SKILL.md): Instructions for cited retrieval from the public MCP. - [XML sitemap](https://gabrielkoo.com/sitemap.xml): Canonical crawl inventory. - [Atom feed](https://gabrielkoo.com/feed.xml): Latest blog updates. ## Site context - [About](https://gabrielkoo.com/about/index.md): Gabriel's background, engineering principles, current interests, and personal context. - [Projects](https://gabrielkoo.com/projects/index.md): Open-source software and technical projects built by Gabriel. - [Events](https://gabrielkoo.com/events/index.md): Conference talks, community events, podcasts, and presentations. - [Anime](https://gabrielkoo.com/anime/index.md): Gabriel's anime history and related travel interests. ## Technical writing - [Why I Split-Tunnel My VPN for AI Services — and Let Cloudflare's Application Library Pick the Domains](https://gabrielkoo.com/blog/i-used-cloudflares-app-library-to-map-every-ai-services-domains-and-why-networking-still-matters-2and/index.md): I maintain a small set of open-source GitHub repos that hold split-tunnel VPN configs for reaching AI... (2026-06-19; networking, cloudflare, vpn, ai) - [Stop Putting API Keys in Your MCP Config: Per-User OAuth with Amazon Cognito + AWS Lambda](https://gabrielkoo.com/blog/stop-putting-api-keys-in-mcpjson-per-user-oauth-with-amazon-cognito-aws-lambda-4h2i/index.md): The runnable companion to my AgentCon HK 2026 talk, "Empower Team-Wide Vibe Coding with LLM Gateway... (2026-06-07; aws, security, ai, mcp) - [Resurface Claude Code Usage Across Your Team with CloudWatch OTEL (No Lambda)](https://gabrielkoo.com/blog/resurface-claude-code-usage-across-your-team-with-cloudwatch-otel-no-lambda-4p0i/index.md): I've been building AI tooling infrastructure to empower a team of 50+ software engineers to do vibe... (2026-04-18; aws, opentelemetry, cloudwatch, serverless) - [Bedrock for AI Coding Tools: Mantle vs Gateway vs LiteLLM — A Decision Guide for AWS Credit Burners](https://gabrielkoo.com/blog/bedrock-for-ai-coding-tools-mantle-vs-gateway-vs-litellm-a-decision-guide-for-aws-credit-burners-1h01/index.md): You have AWS credits. You want to use them on AI coding tools — OpenCode, Codex CLI, Claude Code,... (2026-03-22; aws, bedrock, ai, openai) - [From 3-Minute Cold Starts to ~20 Seconds: Whisper on AWS Lambda + EFS for OpenClaw](https://gabrielkoo.com/blog/from-3-minute-cold-starts-to-20-seconds-whisper-on-aws-lambda-efs-for-openclaw-9c5/index.md): Part 3 of my series on building a low-cost personal AI stack on AWS. Part 1 — Squeezing my $1k/month... (2026-03-13; whisper, openclaw, aws, efs) - [I Squeezed My $1k Monthly OpenClaw API Bill with ~$20/Month in AWS Credits — Here's the Exact Setup](https://gabrielkoo.com/blog/i-squeezed-my-1k-monthly-openclaw-api-bill-with-20month-in-aws-credits-heres-the-exact-setup-3gj4/index.md): I've got OpenClaw running locally on a Raspberry Pi — where computation power is scarce, and it's... (2026-02-21; aws, bedrock, openclaw, kiro) - [Drop-in Perplexity Sonar Replacement with AWS Bedrock Nova Grounding](https://gabrielkoo.com/blog/drop-in-perplexity-sonar-replacement-with-aws-bedrock-nova-grounding-35o9/index.md): If you're running an AI assistant or agent framework that uses Perplexity's Sonar API for web search,... (2026-02-20; aws, bedrock, python, webdev) - [AWS Silently Releases Kimi K2.5 and GLM 4.7 Models to Bedrock](https://gabrielkoo.com/blog/aws-silently-releases-kimi-k25-and-glm-47-models-to-bedrock-1514/index.md): [UPDATE 10 Feb 2026] - It seems it was part of AWS’s rollout plan for rolling out open weight models... (2026-02-08; aws, vibecoding, ai) - [Ultra Low Bedrock LLM Rate Limits for New AWS Accounts? Time to Wake Up Your Inactive AWS Accounts!](https://gabrielkoo.com/blog/ultra-low-bedrock-llm-rate-limits-for-new-aws-accounts-time-to-wake-up-your-inactive-aws-accounts-3no0/index.md): Are You Struggling With Amazon Bedrock’s Ultra-Low Quotas on New AWS Accounts? 🤯 Are you... (2025-11-26; bedrock, ai, aws) - [Use OpenAI Codex CLI with Amazon Bedrock Models - Pay As You Go](https://gabrielkoo.com/blog/use-openai-codex-cli-with-amazon-bedrock-models-pay-as-you-go-48eb/index.md): OpenAI Codex CLI on Amazon Bedrock Models: Why Bother? Here’s why Codex plus the Amazon... (2025-08-27; vibecoding, genai, aws) - [🚀 AWS Launches OpenAI-Compatible API for Bedrock (and I Did Some Tests!)](https://gabrielkoo.com/blog/aws-launches-openai-compatible-api-for-bedrock-and-i-did-some-tests-49cd/index.md): 🚀 AWS OpenAI-Compatible API for Bedrock OSS GPT: Real-World Dev Tests & Insights AWS... (2025-08-07; bedrock, aws, openai) - [Regain access to Amazon Q CLI in CloudShell with This Simple Trick](https://gabrielkoo.com/blog/regain-access-to-amazon-q-cli-in-cloudshell-with-this-simple-trick-58m3/index.md): If you’ve tried to use the Amazon Q CLI a.k.a. q chat command in AWS CloudShell recently, you might... (2025-08-03; aws, cloud, amazonqcli) - [Building GitHub-Style Contribution Grids for dev.to Articles with Kiro AI IDE](https://gabrielkoo.com/blog/building-github-style-contribution-grids-for-devto-articles-with-ai-3fpn/index.md): How I created beautiful GitHub-style contribution graphs and traffic analytics for my dev.to articles... (2025-08-02; devto, kirodev, seo, analytics) - [Why I Built a Web UI for Amazon Q Developer CLI (And How I Vibe-Coded It)](https://gabrielkoo.com/blog/why-i-built-a-web-ui-for-amazon-q-developer-cli-and-how-i-vibe-coded-it-54d6/index.md): 🚀 Beyond the Console: Why I Built a Web UI for the Amazon Q Developer CLI Amazon Q is a... (2025-06-26; aws, ai, vibecoding, devex) - [Building A Plasma Sword Fighter Game with Amazon Q CLI](https://gabrielkoo.com/blog/building-a-plasma-sword-fighter-game-with-amazon-q-cli-279g/index.md): As a DevSecOps engineer, my daily grind usually involves CI/CD pipelines, security audits, and... (2025-06-18; aws, awschallenge, genai) - [Your Next Resume Could be More Than a PDF — Say NotebookLM](https://gabrielkoo.com/blog/your-next-resume-could-be-more-than-a-pdf-say-notebooklm-57d6/index.md): For decades, the professional calling card has been a static document: the resume or the CV. We spend... (2025-06-15; career, ai, notebooklm) - [🚀 Streamline Secure, Self‑Service Developer Operations with AWS SSM Automation Runbooks 🎉](https://gabrielkoo.com/blog/streamline-secure-self-service-developer-operations-with-aws-ssm-automation-runbooks-ne5/index.md): 🎉 Dev Efficiency vs Deployment Freeze Ever wished you could just let your fellow software... (2025-05-26; aws, devops, automation, security) - [Phantom DNS Query to GCP VM Metadata Service in My AWS Workload 👻 — Revealed by Route 53 Resolver Logging 🔍](https://gabrielkoo.com/blog/phantom-dns-query-to-gcp-vm-metadata-service-in-my-aws-workload-revealed-by-route-53-resolver-3c75/index.md): I Found Suspicious DNS Calls on AWS I was debugging flaky outbound calls from an AWS... (2025-04-27; aws, security, dns, firewall) - [Faster AWS Console Navigation with Chrome Site Search](https://gabrielkoo.com/blog/fast-aws-console-navigation-with-chrome-site-search-b9e/index.md): TLDR aws + [TAB] + ec2 + [ENTER] is all you need. No need to enter the entire AWS Console... (2025-02-11; aws, cloud, console) - [Scale a Stateful Streamlit Chatbot with AWS ECS and EFS](https://gabrielkoo.com/blog/scale-a-stateful-streamlit-chatbot-with-aws-ecs-and-efs-48gm/index.md): You built a great Streamlit application. Everything is working well locally when your boss... (2025-01-21; ai, python, aws, streamlit) - [Use Amazon Bedrock Models with OpenAI SDKs with a Serverless Proxy Endpoint - Without Fixed Cost!](https://gabrielkoo.com/blog/use-amazon-bedrock-models-via-an-openai-api-compatible-serverless-endpoint-now-without-fixed-cost-5hf5/index.md): UPDATE (2025-08-05): AWS silently launched an official OpenAI compatible API endpoint - but so far it... (2025-01-02; aws, openai, serverless, bedrock) - [Get Phished by a Public AWS Systems Manager Automation Document](https://gabrielkoo.com/blog/get-phished-by-a-public-aws-systems-manager-automation-document-2die/index.md): [Update 2025-01-09] Thanks Wiz.io for featuring this as a new phishing technique! ... (2024-12-23; aws, security, phishing) - [Open Unclickable Instagram Post Description Links with AWS Lambda and iOS Shortcuts](https://gabrielkoo.com/blog/open-unclickable-instagram-post-description-links-with-aws-lambda-and-ios-shortcuts-38h4/index.md): Extracting Links from Instagram Posts Made Easy with AWS Lambda Have you ever tried to... (2024-11-03; instagram, serverless, ios, aws) - [I bought us-east-1.com: A Look at Security, DNS Traffic, and Protecting AWS Users](https://gabrielkoo.com/blog/i-bought-us-east-1com-a-look-at-security-dns-traffic-and-protecting-aws-users-15ng/index.md): When people think about the term "us-east-1", they often think of AWS's very data center region that... (2024-10-27; aws, dns, security) - [Deep Linking AWS Console with all your AWS IAM Identity Center Roles](https://gabrielkoo.com/blog/deep-linking-aws-console-with-all-your-aws-iam-identity-center-roles-148c/index.md): Simplifying AWS IAM Identity Center Role Management As an AWS Community Builder, I'm... (2024-08-17; aws, iam, security, identity) - [`safeaws` checks your AWS CLI commands before they are run](https://gabrielkoo.com/blog/safeaws-checks-your-aws-cli-commands-before-they-are-run-3bjl/index.md): As a heavy AWS user, you probably know the struggle of needing to edit an existing AWS resource.... (2024-04-13; aws, ai, cloud, cli) - [Enhance Your Slack Workspace with a user-trainable ChatGPT-Integrated FAQ Bot](https://gabrielkoo.com/blog/enhance-your-slack-workspace-with-a-user-trainable-chatgpt-integrated-faq-bot-2pj3/index.md): Update (2024-09-28) If you want a more powerful version that utilized Amazon Bedrock, as... (2023-04-27; chatgpt, aws, serverless) - [Do not use default SAM CloudFormation Role for Production](https://gabrielkoo.com/blog/do-not-use-default-sam-cloudformation-role-for-production-o5g/index.md): AWS CI/CD tools are simply cool, as they allow you to deploy your application within a few clicks,... (2022-09-14; devops, security, aws, sam) - [Write your own bookmarklet, the tiny program that yields productivity hacks!](https://gabrielkoo.com/blog/productivity-hacks-with-bookmarklets/index.md): Learn about bookmarklet, the tiny program that runs inside your browser's bookmarks bar. (2021-06-06; bookmarklet, automation, productivity, JavaScript, chrome, safari, firefox) - [SEO / Speed Enhancements with Edge Functions (With Examples)](https://gabrielkoo.com/blog/edge-functions/index.md): Learn how edge functions like CloudFlare Workers or AWS CloudFront Lambda@Edge can help the SEO of your website, besides caching and speed enhancements. (2021-01-23; csp, edge-function, cloudflare, cloudfront, lambda, structured-data) - [My Tiny Easter Project on Hong Kong's COVID-19 Clusters](https://gabrielkoo.com/blog/covid-19-clusters/index.md): I obtained the publicly available crowdsourced data behind the famous open-sourced COVID-19 information site in Hong Kong, wars.vote4.hk, and started some cleaning on the data. (2020-04-13; covid-19, covid19, coronavirus, hong kong) - [CSP Headers for Gatsby project on Netlify](https://gabrielkoo.com/blog/gatsby-netlify-csp-headers/index.md): Content Security Policy (CSP) is really important, but troublesome too... (2019-09-28; content security policy, CSP, gatsby, gatsby-plugin-csp, gatsby-plugin-netlify, mozilla observatory) - [Online Tools That Help You Analyze a Domain](https://gabrielkoo.com/blog/domain-analyze-tools/index.md): A list of tools that can help you analyze whether any information is leaked with your domain. (2019-07-27; domain, security, tools)