Matt Pocock
banner
mattpocock.com
Matt Pocock
@mattpocock.com
Full-time TypeScript educator. Used to be a voice coach. He/him. Author of Total TypeScript 🧙 Hire me to teach your team TypeScript!
Pinned
I've been posting weekly TypeScript tips here for the past 15 weeks.

We're up to 42,000 of you on the list.

If you're not there, you're missing out.

www.totaltypescript.com/newsletter
Sign Up to Total TypeScript
Learn how to use TypeScript to level-up your applications as a web developer through exercise driven self-paced workshops and tutorials hosted by TypeScript wizard Matt Pocock.
www.totaltypescript.com
Some smoooooooth template literal types spotted in Vercel's Chat SDK

Gives you automatically typed error codes for multiple features at once.
May 27, 2025 at 2:16 PM
Damn, I really want to make a "UX Patterns For AI Applications" course

All the hard stuff like stream resuming, generative UI, properly streaming markdown, editable plans, showing LLM progress
May 26, 2025 at 2:16 PM
Hilarious use case for a mapped type:

Use it to rename an object key your backend developers consistently misspell

parms -> params
May 26, 2025 at 10:32 AM
Some days my brain doesn't work. Today is one of those days
May 12, 2025 at 5:43 PM
Spotted in the wild today: a Mutable<T> type.

Does the opposite of Readonly<T>. Weird that TS doesn't have this built-in.
April 8, 2025 at 1:50 PM
I've made a breakthrough today - come up with a new style of course that's ready for the AI-assisted developer era.

It's just unbelievably cool, can't wait to show you.
April 2, 2025 at 2:51 PM
Two cool things in this snippet:

1. You can use 'glob' from Node instead of a library! (still experimental, available in 22+)

But glob returns an async iterator, which can be annoying to work with. So...

2. Array.fromAsync lets you turn an async iterator into an array. Beautiful.
April 1, 2025 at 11:20 AM
Want to enter the world of AI, but don't know where to start?

I've built a roadmap on how to become an AI Engineer.

We cover:
- What AI engineers are
- What LLM's are used for
- Evals
- A directory of 17 techniques

It's the perfect way to get ahead of the curve.

www.aihero.dev/ai-engineer-...
AI Engineer Roadmap
Want to build AI-powered apps, but don't know where to start? You need a roadmap.
www.aihero.dev
March 28, 2025 at 1:17 PM
"The AI Engineer Roadmap" dropping soon.

Covering everything you need to enter the AI world:

- What LLM's are used for
- The AI engineer mindset
- Evals
- 17 techniques for improving your LLM-powered apps
March 26, 2025 at 10:36 AM
This is unbelievably cool

Just keep pressing 'space' to learn how an LLM works
LLM Visualization
A 3D animated visualization of an LLM with a walkthrough.
bbycroft.net
March 24, 2025 at 11:32 AM
I have worked with TypeScript for 7 years.

I have written a book, produced 5 courses, made countless videos and articles, and delivered workshops about TypeScript.

And today I learned that TS can do this:
March 23, 2025 at 12:28 PM
It's the evals, stupid
March 21, 2025 at 11:32 AM
Trying to define an agentic loop in the fewest amount of words.
March 21, 2025 at 10:33 AM
"In a world where folks are throwing LLMs at every problem, being able to sniff out when not to use them is a valuable skill."
When To Use LLM's, And When Not To
Discover when to use LLMs for data tasks like structuring and classification, and when to opt for deterministic systems.
www.aihero.dev
March 18, 2025 at 3:16 PM
LIVE NOW with Anders Hejlsberg:

www.youtube.com/watch?v=NrEW...
LIVE: Anders Hejlsberg on TypeScript’s Go Rewrite
YouTube video by Matt Pocock
www.youtube.com
March 14, 2025 at 4:04 PM
OK, Bluesky. Time for an early preview. (X hasn't seen this yet)

I've shipped a 9-lesson tutorial on the Model Context Protocol - the USB-C of AI.

It'll take you from "WTF is MCP" to shipping your own servers to the world.

And, it's free. Check it out:

www.aihero.dev/model-contex...
Model Context Protocol Tutorial
The Model Context Protocol is driving a new wave of innovation in the world of AI. In this tutorial, I'll break down everything you need to know to get started.
www.aihero.dev
March 13, 2025 at 12:59 PM
Nearly ready...
March 12, 2025 at 5:01 PM
Give me your favourite MCP client.

Claude Code is fine. Cursor is OK. I want to branch out.
March 12, 2025 at 1:49 PM
TypeScript announces rewrite to Go, with a 10x editor and CLI speedup.

It's the biggest TS announcement I can remember.

www.totaltypescript.com/typescript-a...
TypeScript Announces Go Rewrite, Achieves 10x Speedup
TypeScript announced a full rewrite of TypeScript in Go. In testing, this rewrite has achieved a 10x speedup in some repositories - and up to 15x in others.
www.totaltypescript.com
March 11, 2025 at 3:21 PM
Here's how to build an MCP server with a single TypeScript file, and connect it to Claude Code.

No build step. No bullshit. Totally transformative.
A Single-File MCP Server, In TypeScript
Set up an MCP server with a single TypeScript file; connect to Claude Code & run scripts seamlessly.
www.aihero.dev
March 7, 2025 at 2:45 PM
Next.js, do you even know who I am?
March 4, 2025 at 1:33 PM
Shower thought:

The system prompt is the LLM's UI. In an agentic loop, elements of the system prompt have state, as well as props - lists of failed attempts, external data, exemplars.

So, a React for system prompts makes sense.
March 3, 2025 at 2:22 PM
Jina's open source DeepSearch implementation is fascinating, but SUPER hard to read.

So, as a research project, I refactored the code to make the underlying logic clearer.
March 3, 2025 at 11:40 AM
Has anyone written a JSX -> system prompt library?

node-deepresearch would genuinely benefit so much from it. Endless string interpolation, impossible to grok what's going on.

A proper component model for system prompts would be pretty convenient.
February 28, 2025 at 1:18 PM
Folks who are building Deep Research, or Deep Research-type products... What do your evals look like?

Do you e2e the entire system?
Do you do any mocking?
Do you eval individual parts of the system? (query rewriter, etc)
February 28, 2025 at 9:32 AM