cloudless / log
The log
Field notes, written while building: what was tried, what was measured, and what turned out to be true.
56 posts · since 2025
latest 11 min read
One Request, One Price: x402 and the Payment Layer HTTP Never Shipped
x402 turns HTTP 402 into a working payment handshake: price one invocation, settle it on-chain, end the relationship. What I think it is for, what it is not, a live reference implementation for agents and humans, and a Terraform module that adds it to any CloudFront distribution.
Read →
2026
-
From Inference to Proof: Web Bot Auth in the Wild
User-agents are claims and fingerprints are inference. OpenAI, Cloudflare, and DuckDuckGo are already signing their requests — I captured them at the edge and verified the signatures against each signer's own published keys.
15 min · signals & automated access
-
Disposable Cloud Proxies in One Command
How terraform-aws-ec2-proxy gives you a fresh IP address with a single terraform apply -- and why you'd want one.
10 min · composable infrastructure
-
Building a Trust Layer: Ingestion-Time Enrichment for Web Traffic
Joining CloudFront logs with JA4 fingerprints at ingestion time to classify every request — verified bots, spoofed crawlers, suspicious scrapers — before it reaches the dashboard.
12 min · signals & automated access
-
Building a JA4 Fingerprint Pipeline on AWS
How to capture TLS fingerprints at the CloudFront edge, route them through a serverless pipeline, and query them in Athena — using a CloudFront Function, a bash Lambda, SNS, Firehose, and S3.
9 min · signals & automated access · composable infrastructure
-
Beyond the User-Agent: Catching Spoofed Bots with JA4 and ASN
User-Agent strings are trivially forged. TLS handshakes are not. How JA4 fingerprinting combined with ASN classification exposes distributed scraper clusters that look exactly like real browsers.
10 min · signals & automated access
-
Signals #8: Measuring Publication
Publication events as Grafana annotations — overlaying the moment content goes live onto crawler, retrieval, and search performance timelines.
4 min · signals & automated access
-
Signals #7: From Logs to Signals
Raw requests are interesting, but how do we distinguish crawlers, retrieval systems, previews and humans?
5 min · signals & automated access
-
Signals #6: Build a Visibility Layer
Building a Visibility Layer for a Static Website with CloudFront, Athena and Grafana
4 min · signals & automated access
-
Signals #5: Slicing CloudFront Logs
Analyze web traffic with composable shell functions and goaccess. Separate humans from bots, track search traffic, measure LLM consumption — then export to Grafana.
4 min · signals & automated access · shell on lambda
-
Signals #4: Mapping the Terraform Module Ecosystem
Crawl the entire Terraform AWS module registry, extract metadata, analyze composition patterns. Which modules get reused? Which namespaces ship continuously?
3 min · signals & automated access · shell on lambda · composable infrastructure
-
Signals #3: GitHub Commit History as a Queryable Dataset
Collect all your commits across orgs, users, and collaborator repos with gh + jq. Merge into a single JSON dataset. Visualize engineering cadence in Grafana.
4 min · signals & automated access · shell on lambda
-
Signals #2: Browser Events to S3 Data Lake in Bash
First-party web analytics with zero dependencies: browser fetch → bash Lambda → curl SigV4 → SNS → Firehose → partitioned S3 → Athena. Under $1/month.
5 min · signals & automated access
-
Signals #1: Build a Live API From AWS Documentation
Scrape AWS Lambda runtimes, cache at the edge, serve as JSON. A shell script, a CloudFront behavior, and a cron-free refresh strategy — the pattern, end to end.
3 min · signals & automated access · shell on lambda
-
Signals: Small Systems That Observe Larger Systems
A series on building lightweight data collection pipelines with shell scripts, AWS primitives, and Grafana.
4 min · signals & automated access · shell on lambda
-
A Terraform Module for Shell Functions on Lambda
A Terraform module that turns shell scripts into Lambda functions with sub-20ms cold starts. Deploy the runtime once as a layer, then ship pure shell scripts as function packages.
11 min · shell on lambda · composable infrastructure
-
SES Email Forwarding with Terraform
A Terraform module for receiving email on your domain and forwarding it to an existing inbox using Amazon SES, S3, and Lambda
4 min · composable infrastructure
-
Observability Without Kubernetes: Tempo on ECS
How we built a lightweight, cost-effective distributed tracing platform for our automation ecosystem using ECS Fargate, S3, and the OpenTelemetry standard.
4 min
-
Designing for Uncooperative Suppliers
How we designed a flight booking system that operates honestly under uncertainty — without a commercial agreement with the airline.
9 min · systems under uncertainty
-
The Blind Walk Model
Progress in a complex fulfillment system isn't measured by actions taken. It's measured by truths confirmed. Here's the mental model that changed how we think about execution.
5 min · systems under uncertainty
-
Shell-First Lambda Endpoints: $0.53/M Requests
A 50KB shell handler delivers production JSON endpoints 677% cheaper than Node.js + API Gateway. Here's how and when it makes sense.
4 min · shell on lambda
-
Shell on Lambda: The Journey to Sub-25ms Cold Starts
From pure Bash to optimized runtime layers: how systematic experimentation led to the perfect architecture for shell-based Lambda functions
8 min · shell on lambda
-
Lambda Container Images vs Zip: The UPX Trap
Real-world benchmarking reveals surprising Lambda performance insights: when container images beat ZIP packages and why raw TCP sockets halve cold start times
7 min · shell on lambda
2025
-
Test Lambda Functions Locally
How to run your Lambda functions locally in an environment identical to AWS using Docker and the Lambda Runtime Interface Emulator
7 min · shell on lambda
-
Bootstrapping Cloudless Infrastructure
A reusable Terraform foundation for consistent tagging, environments, and shared context across modules.
5 min · composable infrastructure
-
ECS Autoscaling: Target Tracking, Step, and Scheduled
7 min
-
Realtime Monitoring with `asciigraph`
Sometimes you just want to see what's happening without opening another browser tab.
2 min
-
Analytics Pipeline to Event Ingestion
How a simple browser automation project revealed the need for a direct API Gateway to SNS proxy module
7 min · composable infrastructure
-
Shell Runtime vs Go & Python in Serverless
Deep dive into Lambda runtime performance showing when shell's 20ms overhead becomes negligible and cold start performance dominates
5 min · shell on lambda
-
Serverless Analytics Pipelines with Terraform
How migrating a bespoke OpenSearch ingestion pipeline led to two reusable Terraform modules for event analytics
5 min · composable infrastructure
-
Cross-Account OpenSearch Snapshots
Learn how to set up cross-account OpenSearch snapshots using Terraform and CloudPosse modules for robust data migration and backup strategies.
6 min · composable infrastructure
-
Tiered Anti-Bot Defense for Headless Chrome
How we solved the browser automation performance problem with intelligent tier routing and achieved 10x performance improvements
3 min · systems under uncertainty
-
Makefile-Driven Lambda Development
How a well-crafted Makefile transforms Lambda development from a collection of manual steps into a seamless, parameterized workflow
6 min · shell on lambda · composable infrastructure
-
S3–Lambda Thumbnail Processing in Shell
Building a production-ready serverless image processing pipeline using shell scripts, AWS Lambda, and S3 event triggers - with composable layers, sub-25ms cold starts, and zero container image overhead.
7 min · shell on lambda · composable infrastructure
-
Cutting Email API Costs by 99 %
The story behind QM4IL - why we built our own email API when MailSlurp became too expensive for our booking bots
3 min
-
Shell vs Node.js: 50% Faster on Lambda
Real serverless performance comparison: shell scripts vs Node.js in AWS Lambda. 50% faster response times, 75% less memory, 90% faster cold starts.
3 min
-
Alexa, what's the WiFi password?
How turning your router into an API unlocks voice-controlled networking
4 min
-
Your Shell Script, Running in the Cloud
The foundational mechanics of turning local code into remote execution
5 min · shell on lambda · composable infrastructure
-
Turn Bash Scripts into Production APIs in 5 Minutes
Complete guide: bash script to production API with AWS Lambda. Authentication, monitoring, and scaling included - no frameworks required.
3 min
-
When Shell Scripts Meet Real-World
How I turned my router's web interface into a REST API using nothing but shell scripts and Lambda layers
4 min
-
The Lambda Runtime Spectrum
How to choose the right level of complexity for your serverless functions
4 min · systems under uncertainty
-
Choose Boring Technology (Even When It's Bash)
Why the most boring solution is often the most powerful
3 min
-
The Right Tool Fallacy
How choosing the 'wrong' tool gave me 2x performance and 90% less memory usage
3 min
-
Cloudless Computing Philosophy
The cloudless computing approach: shell-first infrastructure, composable tools, and local development that scales to production.
2 min
-
Composable Infrastructure
Building infrastructure like Lego blocks - each piece does one thing well
2 min
-
Lambda Layers Breakthrough
Pre-built Lambda layers with statically-linked binaries for shell-based functions
2 min
-
AWS Lambda Custom Runtime for Shell Scripts - Container Image Approach
Docker container images for running shell scripts on AWS Lambda. Three optimized variants from 132MB to 417MB with multi-platform support.
3 min · shell on lambda
-
Terraform Modules Best Practices: Building Composable Infrastructure
Learn terraform module design patterns for reusable, composable infrastructure. Real examples from production systems.
3 min · composable infrastructure
-
The 5-Minute Promise
5 minutes from idea to production API - removing friction between having an idea and seeing it work in production
2 min · composable infrastructure
-
Infrastructure as Commodity
Why treating cloud services like utilities changes everything
2 min
-
The Dumb Router
The full ql48 evolution story
3 min
-
Container Size Economics
How lambda-shell-runtime is 75% smaller than official runtimes
2 min
-
Lambda Cold Start Optimization: 90% Faster with Custom Runtimes
Complete guide to AWS Lambda cold start optimization using custom runtimes. Real benchmarks showing 90% improvement over standard runtimes.
4 min
-
Why Shell Scripts Over Serverless Framework
Comparing serverless frameworks vs shell-first approach. Performance benchmarks, cost analysis, and developer experience comparison.
3 min
-
Reverse Engineering as Architecture School
How working with black boxes teaches clean boundaries, and why chaos forces disciplined design
6 min · systems under uncertainty
-
Self-Managing ECS Tasks
How ECS Task Protection enables zero-downtime deployments and prevents message loss
4 min
No posts in this thread yet.