34 my default · 21 use when it fits · 3 watching · 11 skip · 10 never. Last reviewed

Every tool, by layer.

Solid is my default, outlined is use it when it fits, dashed is watching, dotted is skip, struck through is never. Every tile opens the full entry.

A to Z

Every tool with its verdict, what it is in one line, and what it costs.

  • Use when it fits Amazon CloudFront

    Fine in front of AWS origins. Egress was too expensive for big public sites, until the flat-rate plans.

    Pricing: Pay-as-you-go egress is expensive at volume. The flat-rate plans (for example Business: $200 a month for 50 TB) change the argument. Pay-as-you-go to Australia and New Zealand: first 1 TB a month free, then $0.114/GB for the next 9 TB, and $0.0125 per 10,000 HTTPS requests after 10M free. Flat-rate plans, per distribution, no overage charges: Free $0 (1M requests, 100 GB), Pro $15 (10M requests, 50 TB), Business $200 (125M requests, 50 TB, WAF, DDoS protection, VPC origins), Premium $1,000 (500M requests).

  • Good features. Keep it for the logs you watch live and alarm on; send the chatty bulk through Firehose to S3.

    Pricing: Sydney: Lambda logs $0.67/GB ingested (the first discount starts at 10 TB a month); Infrequent Access class $0.335/GB; storage $0.033/GB-month. Lambda's built-in delivery to S3 also costs $0.335/GB. Free tier: 5 GB a month.

  • My default Amazon Cognito

    The easiest pick for small apps, internal tools and admin panels. Everything works out of the box and it's free below 10,000 monthly users. For serious apps on Postgres, Better Auth comes first.

    Pricing: Lite and Essentials: 10,000 monthly active users free per account, then $0.015 per user on Essentials (Lite from $0.0055, without passkeys or email codes). Enterprise SSO users: 50 free, then $0.015 each.

  • The cheapest way to land a stream of records in S3. No servers, no consumers to write, and about $0.04/GB in Sydney.

    Pricing: Sydney, Direct PUT: $0.037/GB ingested (first 500 TB), billed per record in 5 KB steps. JSON to Parquet conversion $0.023/GB. Dynamic partitioning $0.025/GB plus per-object fees (avoidable). Then normal S3 storage.

  • I've never had a use case it fits better than Postgres with JSONB.

    Pricing: Sydney, on demand: $0.71 per million write request units (1 KB each), $0.1425 per million read request units (4 KB strongly consistent, or two 4 KB eventually consistent reads), storage $0.285/GB-month after 25 GB free. Transactional reads and writes cost double. Point-in-time recovery storage $0.228/GB-month.

    Instead: Postgres on Neon, with JSONB for the document-shaped data.

  • The event bus and scheduler I use all the time.

    Pricing: Classic bus: AWS management events are ingested free; custom events $1 per million (billed in 64 KB chunks). Scheduler: 14 million invocations a month free, then $1.20 per million in Sydney. Pipes: $0.40 per million requests. The new Custom Event Bus (September 2026) bills by data instead: in Sydney $0.19 per GB ingested (first 5 TB) and $0.058 per GB delivered to each subscriber.

  • Use when it fits Amazon Kinesis

    For genuinely huge streams. It gets expensive fast.

    Pricing: Sydney, on-demand: $0.049 per stream-hour (about $36 a month per stream, even idle), $0.098 per GB written, $0.049 per GB read. Provisioned: $0.0184 per shard-hour plus $0.0195 per million 25 KB put units. Extended retention and enhanced fan-out cost extra.

  • Overkill for most apps. Postgres full-text plus pgvector covers search.

    Pricing: Sydney, managed domains: $0.213 an hour per r7g.large.search node, so a three-node production domain is about $466 a month before storage ($0.1464/GB-month gp3). Serverless: $0.281 per OCU-hour; a classic collection bills at least 2 OCUs (about $410 a month, half in dev-test mode), while NextGen collections (May 2026) scale to zero after 10 idle minutes.

    Instead: Postgres full-text search plus pgvector, next to the data you already have.

  • Reaches end of support on 30 October 2026. Don't start anything on it.

    Pricing: Not open to new customers since 20 May 2025.

    Instead: Resend, for transactional and marketing email on one platform.

  • My default Amazon S3

    No complaints. Storage, data lake, archive.

    Pricing: Sydney: $0.025/GB-month (Standard). Internet egress $0.114/GB (first 10 TB): that's where it hurts. Requests: $5.50 per million PUT/LIST, $0.44 per million GET. Standard-IA $0.0138/GB, Glacier Instant Retrieval $0.005/GB. Transfer from S3 to CloudFront and to AWS compute in the same region is free.

  • Use when it fits Amazon S3 Vectors

    Vectors at S3 prices, for huge, cold or per-client collections where 100 ms is fine.

    Pricing: Sydney storage $0.066/GB-month; about $2.50 a month for 1M vectors, $15–154 for 10M, $76–473 for 100M (vs $2,000–12,000 to hold 100M in Postgres). No servers to size.

  • Use when it fits Amazon SES

    The cheapest email at volume, and the only one that keeps data in Sydney. The sandbox is a pain.

    Pricing: New accounts default to the Essentials plan at $0.16 per 1,000 emails (since 21 July 2026); the à la carte rate of $0.10 per 1,000 can still be selected. Same rates in Sydney. Attachments add $0.12/GB, a dedicated IP $24.95 a month.

  • Use when it fits Amazon SNS

    Fan-out from one publisher to many subscribers. Not my ingestion path at high volume.

    Pricing: Sydney: first 1M publishes a month free, then $0.50 per million (each 64 KB of payload counts as one). Deliveries to SQS and Lambda cost nothing; HTTPS deliveries $0.60 per million, email $2 per 100,000. Payload-based filtering $0.11/GB scanned; attribute-based filtering is free.

  • My default Amazon SQS

    The queue in front of Lambda. Natural back-pressure, nearly free when batched.

    Pricing: Sydney: $0.40 per million requests (Standard), $0.50 (FIFO). A request carries up to 10 messages, so batching cuts the bill tenfold: 50M messages ≈ $6 batched, $60 unbatched.

  • Too expensive for production features in client systems. OpenAI models give better cost per intelligence.

    Pricing: Per million tokens: Haiku 5.5 $0.10 / $0.50 (prompts up to 100,000 tokens; $0.50 / $2.50 above), Sonnet 5.5 $2 / $10, Opus 5.5 $4 / $20. The Batch API halves those, and cache reads cost 0.05x the input price on Sonnet and Opus 5.5. On Amazon Bedrock, the Australian (AU) regional endpoint adds 10% over global routing.

    Instead: OpenRouter, picking the model by cost per intelligence.

  • Use when it fits API Gateway

    Useful in a lot of cases, just not by default. Start on a function URL and add API Gateway the day you need what only it does.

    Pricing: Sydney: HTTP APIs $1.29 per million requests, REST APIs $3.50 per million, WebSocket messages $1.30 per million plus $0.325 per million connection-minutes.

  • The framework I'd pick for content sites that need server rendering. Static by default, server-rendered where a page needs it, and owned by Cloudflare, so Workers is its home.

    Pricing: Free (MIT). You pay Workers pricing for the pages rendered on request; static pages are free on Cloudflare.

  • Use when it fits Aurora PostgreSQL

    Peace of mind and scale, at a price. My choice when the client must stay all-AWS.

    Pricing: Serverless v2 kept at 0.5 ACU always-on ≈ $73 a month. RDS Proxy adds at least about $26 a month (provisioned) or about $146 (Serverless v2, minimum 8 ACU).

  • My default AWS Backup

    Central backup policies for AWS resources. Neon branches cover the Neon side.

    Pricing: Sydney: S3 and EFS backups $0.06/GB-month warm (EFS cold $0.012), DynamoDB $0.114/GB-month, EBS snapshots $0.055/GB-month; Aurora and RDS snapshots bill at their own backup storage rates. Copies out of Sydney $0.098/GB for most types ($0.16 for DynamoDB and EFS). Restore tests $1.80 per recovery point. Vault Lock is free.

  • I hate it. Pulumi does the same job with real code.

    Pricing: Free for AWS resource types. Third-party registry extensions and custom hooks bill per handler operation, after a free tier.

    Instead: Pulumi: real code, an S3 backend, and every other vendor through Terraform providers.

  • The only migration tool I use. It works.

    Pricing: Sydney: replication instances from $0.112 an hour (dms.t3.medium) or $0.25 (r6i.large), double for Multi-AZ, plus $0.138/GB-month of storage. DMS Serverless: $0.1155 per DCU-hour (1 DCU = 2 GB of memory), capped by the maximum you set. DMS Schema Conversion is free. Data into DMS, and between DMS and a database in the same Availability Zone, is free.

  • Use when it fits Proposed AWS IoT Core

    The cheapest AWS front door for device data, when the devices speak MQTT.

    Pricing: Sydney: $0.096 per million connection-minutes, $1.20 per million messages (metered in 5 KB steps), $0.18 per million rules triggered plus $0.18 per million actions. Basic Ingest messages carry no messaging charge. In my IoT example (5,000 devices, one message a minute), IoT Core → SQS → batched Lambda → Postgres ≈ $215–230 a month vs about $1,014–1,109 for API Gateway REST → SNS → Lambda.

  • My default AWS Lambda

    My default for event-driven work and heavy compute. Classic Lambda, zip-packaged, Node.js.

    Pricing: $0.20 per million requests + $0.0000133334/GB-s on Arm ($0.0000166667 on x86). Free tier: 1M requests and 400,000 GB-s a month, always.

  • Centralised accounts, billing and access. Every client gets this first.

    Pricing: No extra charge. Control Tower is free too, but you pay for the AWS Config and CloudTrail it turns on. Replicating Identity Center to a second Region adds only the KMS key.

  • Over-engineered. I've never seen the need in production.

    Pricing: Standard workflows: $25 per million state transitions. 1M four-step runs a month ≈ $110. The first 4,000 transitions a month are free, and every retry is billed as another transition. Express workflows (Sydney): $1 per million requests plus duration from $0.00001667 per GB-second.

    Instead: Plain code. SQS for simple async work; Lambda durable functions for multi-step jobs.

  • My default Better Auth

    My first pick for serious apps on Postgres. Your users live in your own database, it does more than Cognito, and it costs nothing per user.

    Pricing: Free (MIT), with no per-user fee. You pay only for the Lambda and the Postgres you already run. Optional hosted extras (Better Auth Infrastructure): Pro $20 a month with one self-serve SSO connection, then $50 a month per extra connection.

  • My default Claude Code

    My main tool. I haven't hand-written code in two years.

    Pricing: Included in Claude Pro ($20 a month, $17 billed annually), Max ($100 or $200 a month for 5x or 20x Pro's usage) and Team seats ($25 standard or $125 premium a month, $20 or $100 billed annually). Usage resets in five-hour windows, with weekly limits on top. Or pay API rates with a Console key or through Bedrock.

  • Watching Proposed Cloudflare AI Gateway

    Free caching, rate limits, spend caps and model fallback in front of OpenRouter. Works even from Lambda.

    Pricing: Core features free (analytics, caching, rate limiting). Logs: 20M events a month included on Workers Paid, then $0.60 per million, for accounts whose first gateway dates from 24 September 2026 or later; older accounts keep 10M stored logs per gateway (pricing changes 1 December 2026). Unified Billing credits carry a 5% fee; your own provider keys carry none.

  • The business case is thin, and there's no tooling to migrate thousands of databases. Durable Objects do per-tenant SQLite better.

    Pricing: $5 a month covers 50M reads, 2M writes and 2 GB. Workers Paid includes 25 billion rows read, 50 million rows written and 5 GB a month, then $0.001 per million rows read, $1 per million rows written and $0.75/GB-month. Rows read means rows scanned, not rows returned. No egress charge.

    Instead: Durable Objects for per-tenant SQLite; Neon for a normal database.

  • A tiny server with its own SQLite database, addressed by name. One referee for everyone connected to the same thing. Unbeatable for live, shared, short-lived state.

    Pricing: On Workers Paid: 1M requests included, then $0.15 per million. Duration: 400,000 GB-s included, then $12.50 per million GB-s (always billed at 128 MB, not billed while hibernating). Incoming WebSocket messages count 20:1; outgoing messages are free. Rows written: 50M included, then $1 per million. Storage: 5 GB included, then $0.20/GB-month.

  • A Postgres connection pool for Workers only. My business logic isn't on Workers, so I don't need it.

    Pricing: Included in Workers Paid. Unlimited queries, no charge for pooling, caching or egress; you pay for the Workers plan and the database. The Free plan allows 100,000 queries a day.

    Instead: Neon's HTTP driver, which works from Workers and Lambda alike.

  • Skip Proposed Cloudflare Queues

    Fine when producer and consumer are both Workers. Inside AWS, SQS wins.

    Pricing: $0.40 per million operations (each write, read and delete; about 3 per message), billed per message so batching saves nothing. 50M messages ≈ $60 vs about $6 on SQS batched. Workers Paid includes 1M operations a month; the Free plan gets 10,000 a day.

    Instead: SQS: FIFO, IAM and batched Lambda consumers, inside AWS where the work is.

  • Use when it fits Proposed Cloudflare R2

    Zero egress fees. The answer for public files served at volume. Keep data lakes in S3.

    Pricing: $0.015/GB-month, writes $4.50 per million, reads $0.36 per million, internet egress $0. Serving 20 TB a month from 2 TB stored: R2 ≈ $44 vs S3 + CloudFront ≈ $2,158 (or ≈ $228 on CloudFront's Business flat-rate plan). Free each month: 10 GB, 1M writes, 10M reads. Infrequent Access: $0.01/GB-month, $0.01/GB retrieved, 30-day minimum. Deletes are free.

  • Use when it fits Cloudflare Sandbox

    Where an AI product runs code nobody reviewed: an isolated container per session, started and driven from a Worker, billed only for the CPU it actually uses.

    Pricing: On Workers Paid ($5 a month): active CPU at $0.000020 per vCPU-second, with 375 vCPU-minutes, 25 GiB-hours of memory and 200 GB-hours of disk included each month. Egress from Oceania $0.05/GB after 500 GB.

  • Every website I run. Static builds deployed from GitHub on every push to main. Easy, reliable, nearly free.

    Pricing: Static asset requests are free and unlimited. Storing the files costs nothing. Only requests that run Worker code are billed, under Workers pricing (Workers Paid starts at $5 a month).

  • Expose a service on a private box through a custom domain, without opening a port.

    Pricing: Tunnel itself has no charge and is available on every Cloudflare plan. An Access login in front of it is free for up to 50 users on Zero Trust Free, then $7 per user a month (pay-as-you-go).

  • Anti-bot for every form: a CAPTCHA replacement most visitors never notice, free and unlimited. With a Worker and Resend, it's a contact form with no form service at all.

    Pricing: Free: unlimited challenges, up to 20 widgets per account, 10 hostnames per widget. Enterprise adds unlimited widgets and removes the branding.

  • The edge primitive. It sits between your users and your real backend, and it's very, very good at that.

    Pricing: $5 a month per account, including 10M requests and 30M CPU-ms. Then $0.30 per million requests and $0.02 per million CPU-ms. Billed on CPU time only: waiting is free. No egress charges.

  • Skip Proposed Cloudflare Workers AI

    Many of the same open models cost up to twice as much as on OpenRouter, and the newest frontier models are capped at 20 requests a minute.

    Pricing: $0.011 per 1,000 neurons, with 10,000 neurons a day free. DeepSeek V4 Pro: $1.32 / $3.96 per million tokens vs $0.66 / $1.98 on OpenRouter; DeepSeek V4.1 Flash (1017) costs the same on both, $0.30 / $1.20. Embeddings from $0.012 per million tokens (bge-m3); Whisper $0.0005 per audio minute.

    Instead: OpenRouter: the same open models, often for half the price, and far more of them.

  • Where every cost investigation starts. I let Claude Code read it and find the culprit.

    Pricing: The console is free. The API costs $0.01 per paginated request. Hourly data for the last 14 days is opt-in, at $0.01 per 1,000 usage records a month.

  • Use when it fits Dashlane

    Works, but glitchy. Looking for something more robust.

    Pricing: No free plan since 16 September 2025, and no monthly billing on any plan: personal plans (Premium, Friends & Family) and business plans are annual subscriptions. Business plans are priced per user per month, billed annually.

  • Use when it fits DuckDB

    SQL over Parquet that runs anywhere, from my laptop to a Lambda. Next to Athena, not instead of it.

    Pricing: Free and MIT-licensed. In Lambda you pay compute and S3 GETs: a query that reads 1 GB costs about $0.002, against $0.005 on Athena, with no 10 MB minimum per query.

  • Use when it fits Fargate scheduled tasks

    Containers that run only while the job runs. The answer for a two-hour nightly job.

    Pricing: Per second of vCPU and memory while the task runs (one-minute minimum). Nothing between runs. Fargate Spot is cheaper if the job can be interrupted. Sydney, ARM: $0.03885 per vCPU-hour and $0.00426 per GB-hour; x86: $0.04856 and $0.00532. A two-hour nightly run on 2 vCPU and 4 GB (ARM) is about $5.70 a month, against about $69 for the same task left running all month. 20 GB of disk is included.

  • My default GitHub

    Code, notes and docs. Everything integrates with it first.

    Pricing: Free: unlimited private repos and 2,000 Actions minutes a month. Team: $4 per user a month, with 3,000 minutes and protected branches on private repos. Secret push protection on private repos is an add-on (GitHub Secret Protection, $19 per active committer a month).

  • Use when it fits GitHub Actions

    The pipeline I'd pick if a project needs one. Today I deploy with Pulumi directly.

    Pricing: Free on public repositories. Private: 2,000 minutes a month on Free, 3,000 on Pro and Team, then Linux 2-core $0.006 a minute (macOS $0.062). Self-hosted runners are free; a $0.002-a-minute charge announced for them in December 2025 was postponed.

  • Mediocre. Never recommended.

    Pricing: GitLab Premium: $29 per user a month, billed annually (Free: 5 users per private group, 400 compute minutes). Bitbucket Cloud: Standard $3.65 and Premium $8 per user a month (Free: 5 users, 50 build minutes).

    Instead: GitHub, where agents, CI and every integration land first.

  • Good products, not enterprise-complete enough for my clients.

    Instead: AWS, which covers more of what enterprise clients need.

  • Over-engineering. Schema maintenance isn't worth it; plain web APIs are enough.

    Pricing: Sydney, GraphQL APIs: $4 per million queries and mutations, $2 per million real-time updates, $0.08 per million connection-minutes. AppSync Events: $1 per million operations (publish, delivery, connect, subscribe), $0.08 per million connection-minutes. Caching is an hourly instance on top (from $0.044 an hour).

    Instead: Plain HTTP APIs on Lambda function URLs, and Durable Objects for real-time.

  • My default Hostinger VPS

    Unbeatable price for an always-on box. CPU caps and no serious GPUs.

    Pricing: KVM plans from 1 vCPU / 4 GB (KVM 1) to 8 vCPU / 32 GB (KVM 8). Intro prices $6.49 to $25.99 a month paid upfront for the term, renewing at $11.99 to $49.99 a month. Weekly backups and a dedicated IP included.

  • A waste of time for a lean team.

    Pricing: All per seat, every month. monday.com work management, for example: $9 (Basic) to $19 (Pro) per seat billed annually, with a 3-seat minimum.

    Instead: A minimal Trello board, and notes as Markdown in GitHub.

  • Worse cold starts, and they break Cognito triggers. I stopped using them.

    Pricing: No extra Lambda charge: the same requests and compute as a zip function. The image lives in ECR at $0.10 per GB-month in Sydney.

    Instead: Zip-packaged Lambda functions, or Fargate when you really need a container.

  • Watching Proposed Lambda durable functions

    Per-step retries in plain code, inside Lambda. A candidate fix for hand-tuned SQS retry pain.

    Pricing: Example: 1M runs a month of receive → enrich via a flaky API → write Postgres → notify ≈ $47, vs ~$10 for SQS + one Lambda (where a failure reruns every step) and ~$110 for Step Functions Standard. Sydney rates: $8.70 per million durable operations (each start, completed step, wait and step retry), $0.28 per GB written, $0.17 per GB-month retained, plus normal Lambda requests and compute, replays included.

  • My favourite way to put Lambda on the internet. Every MVP starts here.

    Pricing: Free. You pay only for the Lambda invocation.

  • A real Node.js web server on Lambda, billed on CPU used, 64 to 128 requests per environment. The future of HTTP business logic on AWS. Not in Sydney yet.

    Pricing: $0.30 per million requests + $0.0000279955 per active vCPU-second + $0.0000037065 per GB-second of memory consumed while the environment lives (Sydney price-list rates; not launched there yet). Free tier: not stated.

  • Years as a certified .NET developer taught me enough: a black box that puts dollars ahead of transparency and developer experience. Only worth a mention if it's 10–100x better.

    Instead: AWS, with Cloudflare at the edge.

  • My go-to Postgres. Scales to zero, branches like git, and talks HTTP so Lambda needs no VPC or proxy.

    Pricing: Launch plan $0.106 per compute-unit hour, Scale $0.222; storage $0.35/GB-month; no minimum. Available in Sydney.

  • Skip Netlify

    An excellent platform, built around one workflow (push, preview, ship, roll back), and where many AI-built sites already live. I skip it because my clients are enterprises and need far more backend than a web platform covers.

    Pricing: Pro $20 a month for the whole team, with unlimited members and 3,000 credits. Production deploys, bandwidth, compute and AI usage all draw on credits.

    Instead: Cloudflare static hosting for the front end, Lambda or Cloudflare Workers for the API, Neon for the data, all provisioned with Pulumi.

  • Server-rendered Next.js without Vercel. The OpenNext adapter runs a normal Next.js build on Workers: SSR, ISR, server actions, middleware and image optimisation.

    Pricing: Workers pricing: Workers Paid is $5 a month with 10M requests and 30M CPU milliseconds included. ISR pages cache in R2.

  • My default language. Best fit for the problem wins, but it's usually this.

    Pricing: Free and open source.

  • My default OpenAI Codex

    For computer control, images, and as an end-to-end test orchestrator.

    Pricing: Included in ChatGPT Plus ($20 a month), Pro (from $100), Business ($25 a user a month, $20 billed annually) and Enterprise. Five-hour and weekly limits apply, and image generation uses them 3–5x faster. Or pay API rates with an OpenAI key.

  • My default OpenRouter

    One SDK, one key, every model. Usually cheaper than running the same open models elsewhere.

    Pricing: Model prices pass through; OpenRouter adds 5.5% on credit purchases. Example: DeepSeek V4 Pro at $0.66 / $1.98 per million tokens vs $1.32 / $3.96 on Cloudflare Workers AI. The Business plan's fee is 8%. Bring your own provider key (BYOK): the first $25,000 of list-price usage a month carries no fee, then 5%.

  • My default pgvector

    Embeddings next to the data they describe, for when a user is waiting for the answer.

    Pricing: Mostly the storage on a Postgres you already pay for: about $5 a month for 1M vectors on an existing Neon database.

  • End-to-end and unit tests that agents can run and fix on their own.

    Pricing: Free.

  • My default PostHog

    Product analytics, feature flags and session replay in one tool.

    Pricing: Free every month: 1M analytics events, 5,000 session recordings, 1M feature-flag requests, 100,000 exceptions and 1,500 survey responses. Then usage-based, falling with volume: $0.00005 per event and $0.005 per recording at the first paid tier. Events tied to a person profile cost extra. Optional platform add-ons from $250 a month.

  • The best deliverability reputation, but no marketing platform, no idempotency and unsigned webhooks. I picked Resend.

    Pricing: $15 a month for 10k emails, $115 for 100k, $775 for 1M. Those are Basic tiers (the $775 tier covers up to 1.5M); Pro, with inbound processing and longer retention, costs about 10% more. Dedicated IPs from $50 a month, only above 300k emails a month.

    Instead: Resend: transactional and marketing on one platform, with idempotency keys and signed webhooks.

  • My default Pulumi

    Infrastructure as real code. And it can use any Terraform provider, so nearly everything is provisionable from one codebase.

    Pricing: Free and open source with a self-managed S3 backend (no Pulumi Cloud fees).

  • My default Resend

    My email service. Transactional and marketing on one platform, built for developers and agents.

    Pricing: Transactional: $20 a month for 10k emails, $35 for 100k, $650 for 1M. Marketing: $40 a month for 5k contacts, $180 for 25k, $450 for 100k.

  • Whichever platform hosts the app.

    Pricing: Route 53: $0.50 per hosted zone a month for the first 25 (not prorated), $0.40 per million standard queries; alias queries to AWS resources are free. Cloudflare DNS: no charge for queries on Free, Pro or Business; a Free zone created since September 2024 holds 200 records.

  • Use when it fits S3 + Glue + Athena

    The data lake that works. Not amazing. Pair it with DuckDB.

    Pricing: Sydney: Athena $5 per TB scanned, 10 MB minimum per query. S3 Standard $0.025/GB-month. Glue Data Catalog free for the first million objects.

  • My main lever on AWS cost. AWS margins are high; commitments bring them down.

    Pricing: Sydney, on-demand to committed: Aurora PostgreSQL db.r7g.large $0.333/h to $0.256/h (1-year Reserved Instance, no upfront) or about $0.176/h (3-year, all upfront). Fargate $0.0486 per vCPU-hour to $0.0413 (1-year Compute Savings Plan, no upfront) or $0.0257 (3-year, all upfront). Lambda duration only 12 to 17% off; requests not at all.

  • Use when it fits Self-hosted MCP servers

    Give agents safe, scoped access to client systems. I've started hosting my own.

    Pricing: The protocol is free. You pay for whatever hosts the server: a Worker or a Lambda function, like any other small API.

  • Never Slack

    A distraction. Email and WhatsApp are enough.

    Pricing: Free: 90 days of searchable history, and data older than a year is deleted. Pro $7.25 per user a month billed annually ($8.75 monthly); Business+ $15 ($18 monthly); Enterprise+ on quote.

    Instead: Email and WhatsApp for clients; notes and docs as Markdown in GitHub.

  • My default Stripe

    Payments, mine and my clients'.

    Pricing: Australian cards: 1.65% + A$0.30 domestic, 3.5% + A$0.30 international, plus 2% when currency conversion applies. No setup or monthly fee. Disputes A$25 each. Billing (subscriptions) adds 0.7% of billing volume on pay-as-you-go; Managed Payments (Stripe as merchant of record) adds 3.5% per transaction.

  • Tests for your tests. It mutates the code and checks your suite notices.

    Pricing: Free.

  • My default Tailscale

    Love it. Easy, secure access from my machines to private AWS resources.

    Pricing: Personal: free for non-commercial use (6 users). Standard: $8 per user a month; Premium: $18. Plans include 50 tagged resources (servers, subnet routers), then $1 each a month. For comparison, AWS Client VPN in Sydney is $0.15 per subnet association an hour (about $110 a month) plus $0.05 per connection-hour.

  • Use when it fits Terraform / OpenTofu

    Fine, and its providers power half of Pulumi's ecosystem. I prefer Pulumi.

    Pricing: Both CLIs are free. HCP Terraform's free tier covers 500 managed resources (the old free plan ended on 31 March 2026). An S3 backend needs no HCP account at all.

  • Use when it fits Trello

    Acceptable, if the cards stay minimal.

    Pricing: Free: up to 10 collaborators and 10 boards per workspace, 250 automation runs a month, 10 MB per file. Standard $5 per user a month billed annually ($6 monthly), Premium $10 ($12.50 monthly).

  • I don't use it. Plain JavaScript and strong tests.

    Pricing: Free and open source.

    Instead: Plain JavaScript on Node.js, with strong tests.

  • Skip Vercel

    An excellent platform, and its one workflow (push, preview, ship, roll back) is the real product. I skip it because my clients are enterprises: most of their work happens in the backend, and I need all of AWS behind it.

    Pricing: Pro $20 per seat a month, including $20 of usage. Then metered: bandwidth $0.15/GB after the first 1 TB and Active CPU $0.128 an hour (US rates).

    Instead: Cloudflare static hosting for the front end, Lambda or Cloudflare Workers for the API, Neon for the data, all provisioned with Pulumi.

Want this stack in your AWS account?

Cloudless Labs is a Sydney consultancy. We migrate on-premises systems to AWS, build serverless apps on this stack, and coach teams to ship with Claude Code and Codex.

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: