Wyatt Johnson
@wyattjoh.ca
Software Engineer at @vercel.com working on @nextjs.org. Previously voxmedia.com, coralproject.net, foundation.mozilla.org. (he/him) proudly 🏳️🌈
https://wyattjoh.ca
https://wyattjoh.ca
Pinned
Wyatt Johnson
@wyattjoh.ca
· Nov 7
Optimizing LCP: Partial Prerendering deep dive (Wyatt Johnson)
YouTube video by Vercel
youtu.be
My talk from #nextjsconf is now available on YouTube!
Reposted by Wyatt Johnson
Next.js 16
• Cache Components
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-16
• Cache Components
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-16
October 22, 2025 at 12:37 AM
Next.js 16
• Cache Components
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-16
• Cache Components
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-16
Reposted by Wyatt Johnson
Next.js 16 (beta)
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-1...
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-1...
Next.js 16 (beta)
Next.js 16 beta includes stable Turbopack, file system caching, React Compiler support, smarter routing, new caching APIs, and React 19.2 features.
nextjs.org
October 10, 2025 at 3:30 AM
Next.js 16 (beta)
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-1...
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2
nextjs.org/blog/next-1...
As an exercise to learn Rust this holiday, I took time to rewrite a CLI tool I wrote initially in Deno into Rust using Claude Code. Had it annotate any Rust-isms in the code so it's easier to read and understand, learned a lot!
GitHub - wyattjoh/vercel-scripts: An interactive CLI tool for managing Vercel and Next.js development workflows through a collection of reusable scripts.
An interactive CLI tool for managing Vercel and Next.js development workflows through a collection of reusable scripts. - wyattjoh/vercel-scripts
github.com
September 2, 2025 at 3:34 AM
As an exercise to learn Rust this holiday, I took time to rewrite a CLI tool I wrote initially in Deno into Rust using Claude Code. Had it annotate any Rust-isms in the code so it's easier to read and understand, learned a lot!
I've been working with Claude Code a lot lately and built this status line project to track AI usage in real-time 📁🤖💰📈🌿
Shows model info, session costs, context usage %, git branch & more!
github.com/wyattjoh/cla...
#ClaudeCode #TypeScript #Deno
Shows model info, session costs, context usage %, git branch & more!
github.com/wyattjoh/cla...
#ClaudeCode #TypeScript #Deno
GitHub - wyattjoh/claude-status-line: A TypeScript/Deno-based status line for Claude Code that displays project information, git branch, model details, and session time remaining.
A TypeScript/Deno-based status line for Claude Code that displays project information, git branch, model details, and session time remaining. - wyattjoh/claude-status-line
github.com
August 15, 2025 at 3:28 PM
I've been working with Claude Code a lot lately and built this status line project to track AI usage in real-time 📁🤖💰📈🌿
Shows model info, session costs, context usage %, git branch & more!
github.com/wyattjoh/cla...
#ClaudeCode #TypeScript #Deno
Shows model info, session costs, context usage %, git branch & more!
github.com/wyattjoh/cla...
#ClaudeCode #TypeScript #Deno
Been spending so much time creating new packages on JSR and experimenting with @deno.land. Been such a nice experience 😍. Cranked out 6 new projects and ported some others to use Deno, publishing has never been so easy.
August 11, 2025 at 1:47 AM
Been spending so much time creating new packages on JSR and experimenting with @deno.land. Been such a nice experience 😍. Cranked out 6 new projects and ported some others to use Deno, publishing has never been so easy.
🚀 Just shipped @wyattjoh/jsr-mcp - an MCP server that gives LLMs full access to the JSR registry!
Search packages, analyze dependencies, check quality scores, and even publish new versions - all through natural language with Claude or GPT.
jsr.io/@wyattjoh/jsr-mcp
github.com/wyattjoh/jsr-mcp
Search packages, analyze dependencies, check quality scores, and even publish new versions - all through natural language with Claude or GPT.
jsr.io/@wyattjoh/jsr-mcp
github.com/wyattjoh/jsr-mcp
@wyattjoh/jsr-mcp - JSR
@wyattjoh/jsr-mcp on JSR: Model Context Protocol server for JSR (JavaScript Registry)
jsr.io
August 5, 2025 at 6:54 PM
🚀 Just shipped @wyattjoh/jsr-mcp - an MCP server that gives LLMs full access to the JSR registry!
Search packages, analyze dependencies, check quality scores, and even publish new versions - all through natural language with Claude or GPT.
jsr.io/@wyattjoh/jsr-mcp
github.com/wyattjoh/jsr-mcp
Search packages, analyze dependencies, check quality scores, and even publish new versions - all through natural language with Claude or GPT.
jsr.io/@wyattjoh/jsr-mcp
github.com/wyattjoh/jsr-mcp
🚀 Just published imessage-mcp to JSR!
Access your iMessage data programmatically with this MCP server for macOS. Search messages, browse chats, and query contacts - all through a clean API.
Built with @deno_land, ready to integrate with your LLM workflows.
jsr.io/@wyattjoh/imessage-mcp
Access your iMessage data programmatically with this MCP server for macOS. Search messages, browse chats, and query contacts - all through a clean API.
Built with @deno_land, ready to integrate with your LLM workflows.
jsr.io/@wyattjoh/imessage-mcp
@wyattjoh/imessage-mcp - JSR
@wyattjoh/imessage-mcp on JSR: MCP server for macOS iMessage database access
jsr.io
August 5, 2025 at 6:21 PM
🚀 Just published imessage-mcp to JSR!
Access your iMessage data programmatically with this MCP server for macOS. Search messages, browse chats, and query contacts - all through a clean API.
Built with @deno_land, ready to integrate with your LLM workflows.
jsr.io/@wyattjoh/imessage-mcp
Access your iMessage data programmatically with this MCP server for macOS. Search messages, browse chats, and query contacts - all through a clean API.
Built with @deno_land, ready to integrate with your LLM workflows.
jsr.io/@wyattjoh/imessage-mcp
I wish there was a way to statically analyze your Typescript code to make Node.js's `unhandledPromiseRejection` redundant. We know the kind of operations that create tasks, why can't Typescript (or a linter) tell you that you forgot to await/catch?
January 15, 2025 at 7:35 PM
I wish there was a way to statically analyze your Typescript code to make Node.js's `unhandledPromiseRejection` redundant. We know the kind of operations that create tasks, why can't Typescript (or a linter) tell you that you forgot to await/catch?
Spent most of my holidays creating and exploring making @raycast.com extensions. I wish developing on native was this easy 😍
December 31, 2024 at 4:21 AM
Spent most of my holidays creating and exploring making @raycast.com extensions. I wish developing on native was this easy 😍
Having poor performance with Partial Prerendering with @nextjs.org? Check your code if you're using revalidatePath. This is actually revalidating the entire static shell each time, making things really slow! Instead rely on router.refresh() to update your server component data.
November 12, 2024 at 4:43 PM
Having poor performance with Partial Prerendering with @nextjs.org? Check your code if you're using revalidatePath. This is actually revalidating the entire static shell each time, making things really slow! Instead rely on router.refresh() to update your server component data.
Reposted by Wyatt Johnson
views and opinions expressed by my employer do not express my views and opinions
November 6, 2024 at 7:06 PM
views and opinions expressed by my employer do not express my views and opinions
My talk from #nextjsconf is now available on YouTube!
Optimizing LCP: Partial Prerendering deep dive (Wyatt Johnson)
YouTube video by Vercel
youtu.be
November 7, 2024 at 5:12 PM
My talk from #nextjsconf is now available on YouTube!
@mattxiv.bsky.social said it best. Sad day for America.
November 7, 2024 at 5:30 AM
@mattxiv.bsky.social said it best. Sad day for America.