Getting started using AWS can be hard.
Here's a thread 🧵 with 5 things I wish I'd known before starting aws
More to come follow for more updates.
#aws#CloudComputing
@tannerlinsley@TkDodo have you considered a backend tanstack cache? I prototyped one — basically unkey/cache with a TanStack Query api (queryKey/queryFn, swr, tiered stores). eslint-plugin-query even works for linting the keys.
https://t.co/AzN3KCwPMy
I've started naming my ai agents after xmen and it makes it ever so slightly better to ensure the right agent is loading up the right version of the server when I check it's work
Karpathy is telling you something most product teams haven’t internalized yet.
The new distribution channel for software is agents. Agents don’t browse your marketing site, watch your demo video, or click through your onboarding flow. They call your CLI. They hit your MCP server. They read your docs programmatically. If none of those surface areas exist, your product is invisible to them.
Look at how fast this moved. MCP went from zero to 97 million monthly SDK downloads in twelve months. 10,000+ active servers. OpenAI, Google DeepMind, Microsoft, and Cloudflare all adopted it. By December 2025, Anthropic donated MCP to the Linux Foundation because the standard had already won. Running an MCP server is now compared to running a web server.
That’s the new baseline for product discovery.
85% of enterprises are expected to have AI agents deployed. Those agents need structured, programmatic access to your product. They need CLIs, MCP endpoints, and machine-readable documentation. A beautiful React dashboard is worthless to an agent trying to pull data into a workflow at 3am.
This tells you everything about why Karpathy’s framing of CLIs as “legacy” technology is so precise. Legacy means battle-tested, standardized, universally parseable. stdin/stdout, flags, JSON output. The entire Unix philosophy was accidentally designed for AI agents decades before they existed.
Your competitor ships an MCP server and suddenly every Claude Code user, every Cursor session, every autonomous workflow can discover and use their product. No human ever visits the website. No sales call. No onboarding email. The agent just finds the tool and starts using it.
The companies that win the next 24 months are the ones building agent-accessible surface area right now. The ones that lose are still optimizing their landing page above the fold.
@joelbourbon@ctatedev I wanted it too. I still need to improve it I was doing it per directory since I was usually unique per directory also this helps with multiple port types although at that point docker is more useful https://t.co/URfiMGVuwH
I've written up a skill to help me keep track of my cli preferences when generating shell scripts. https://t.co/3g9XivnXfC bash scripts are hard for llms too so choose your preferred language to be more maintainable.
We need some new terms for the ai world. Puroputo-wake - the melancholy farewell to 100k tokens of shared context, gone in an instant, leaving only the echo of conversations past
@rahulgs@chasekellison@rickasaurus This was the best explanation I found on agentic search being better. In reality hybrid is probably better but give a choice agentic with fuzzy. https://t.co/4ktNyXmpYq
yes things are changing fast, but also I see companies (even faang) way behind the frontier for no reason.
you are guaranteed to lose if you fall behind.
the no unforced-errors ai leader playbook:
For your team:
- use coding agents. give all engineers their pick of harnesses, models, background agents: Claude code, Cursor, Devin, with closed/open models. Hearing Meta engineers are forced to use Llama 4. Opus 4.5 is the baseline now.
- give your agents tools to ALL dev tooling: Linear, GitHub, Datadog, Sentry, any Internal tooling. If agents are being held back because of lack of context that’s your fault.
- invest in your codebase specific agent docs. stop saying “doesn’t do X well”. If that’s an issue, try better prompting, https://t.co/SOjpn47yxo, linting, and code rules. Tell it how you want things. Every manual edit you make is an opportunity for https://t.co/S1ZvtYQwta improvement
- invest in robust background agent infra - get a full development stack working on VM/sandboxes. yes it’s hard to set up but it will be worth it, your engineers can run multiple in parallel. Code review will be the bottleneck soon.
- figure out security issues. stop being risk averse and do what is needed to unblock access to tools.
in your product:
- always use the latest generation models in your features (move things off of last gen models asap, unless robust evals indicate otherwise). Requires changes every 1-2 weeks - eg: GitHub copilot mobile still offers code review with gpt 4.1 and Sonnet 3.5 @jaredpalmer. You are leaving money on the table by being on Sonnet 4, or gpt 4o
- Use embedding semantic search instead of fuzzy search. Any general embedding model will do better than Levenshtein / fuzzy heuristics.
- leave no form unfilled. use structured outputs and whatever context you have on the user to do a best-effort pre-fill
- allow unstructured inputs on all product surfaces - must accept freeform text and documents. Forms are dead.
- custom finetuning is dead. Stop wasting time on it. Frontier is moving too fast to invest 8 weeks into finetuning. Costs are dropping too quickly for price to matter. Better prompting will take you very far and this will only become more true as instruction following improves
- build evals to make quick model-upgrade decisions. they don’t need to be perfect but at least need to allow you to compare models relative to each other. most decisions become clear on a Pareto cost vs benchmark perf plot
- encourage all engineers to build with ai: build primitives to call models from all code bases / models: structured output, semantic similarity endpoints, sandbox code execution. etc
What else am I missing?
you can steal react components from any website without source code
most people screenshot UIs and ask AI to recreate them. but with react fiber, you can extract the exact component 1:1 - same styling, props, design system, component structure
Context Engineering is not about adding more context. It is about finding the minimal effective context required for the next step. Here is a short overview guide with the latest research:
1. Context Compaction and Summarization prevent Context Rot
2. Share Context by communicating, not communicate by sharing context
3. Keep the model's toolset small
4. Treat "Agent as Tool" with Structured Schemas
5. Best Practices & Implementation Tips
Note: Blog is based on @peakji (@ManusAI) and @RLanceMartin (@langchain) webinar a few weeks ago.
@hamptonism Memento Mori. Remind them that at some point they will die so survival is guaranteed to none in this world and to appreciate the time they have.
@ryanflorence Generally, out of order async transitions still seems like a challenge (ie search).Not here since there's no key, needed. However tanstack useQuery and useMutation manage this with keys and the lack of it in a transition could lead to out of order problems as promises resolve.
@rauchg@nextjs@leeerob Need to have a convention for a subfolder and then most of this disappears at least from root. One field in package json “configFolder”