2025 in Review

December 31st, 2025 — 12 min read

A scenic view of a mountain range with trees and mountains in the background
A scenic view of a mountain range with trees and mountains in the background
No translations available.Add translation

I like to write these reviews as a way to take stock, celebrate the wins, learn from the mistakes, and set direction for what comes next.

2025 was a big year for me professionally. I made a major pivot in focus from EpicReact/EpicWeb toward EpicAI and the Model Context Protocol (MCP). This year was exhilarating, exhausting, and (in a few ways) heartbreaking.

And personally? We welcomed our 6th child, which has been a huge blessing and a huge time commitment (newborn season is real).

The pivot: from "websites" to "Jarvis"

I told this story in a talk I gave at Remix Jam, and it really captures how I got here.

Last year, my friend Ryan Florence and I drove together to React Conf 2024. It was one of those long drives where you solve the world's problems between snacks and bathroom breaks. We talked a lot about React, what the future of Remix/React Router might be, and (more broadly) the future of user interaction.

At React Conf, Evan Bacon gave a demo that lodged itself in my brain. Asking questions to AI and getting text back is neat, but the better user experience is when the response is interactive. Native UI, not just paragraphs. (I made an article/video about this later: The Future of AI Interaction: Beyond Just Text).

Fast forward a few months. I'd just finished Epic Web Conf 2025 and my head was full of web/React/React Router thoughts. Ryan was supposed to speak, but he got sick, so I brought all his swag to his house the next day and we chatted. That conversation went straight back to the "future of interaction" topic and we basically reduced it down to one word: Jarvis.

Jarvis (Iron Man's assistant) isn't "a chatbot." Jarvis is the interface. Jarvis knows you, keeps context across your life, and can do things.

And in that conversation, Ryan told me about the Model Context Protocol (MCP). That weekend flipped a switch for me. Everything before was React and Remix and React Router and then suddenly I was like: "This is it. We can actually do this now. We can make a huge leap into a new way users interact with software."

For the last couple years, the industry message has been: "Add a chatbot to your app." I think we're leaving that era. The next era is: Add your app to the chatbot.

Users don't want to visit five different apps and re-explain themselves five different times. They want one assistant that can coordinate across services. And for that to work, we need a standard protocol that lets all of us plug in, not just the biggest companies with bespoke integrations.

That's the core idea that pulled me toward EpicAI and MCP.

EpicAI: a new home for the MCP era

In March, I launched EpicAI.pro.

This year felt like going from "I think this is important" to "oh wow, this is definitely important" in real time.

Some highlights:

This whole effort has been about helping people build real MCP servers (things that can stand up in production) and helping them catch the vision for what MCP unlocks when combined with great UI.

Things just keep happening to confirm this is the direction people are going. There are plenty of nay-sayers and skeptics outside of the MCP community, but all the right players are participating and in 2026 we're going to see an explosion of MCP-powered apps (mostly thanks to ChatGPT's adoption of MCP Apps I think).

Epic Workshop App improvements (and the new CLI experience)

A huge part of making EpicAI (and Epic Web) content actually usable is the Epic Workshop App (a.k.a. epicshop). We (me, contributors, Copilot, and Cursor) made a bunch of improvements throughout 2025, but the biggest win (in my opinion) was the new CLI experience.

Over the year, the CLI got dramatically smoother and more capable: it was renamed to epicshop, the commands were flattened/simplified, and a lot of the workflow became interactive (picking workshops/subcommands, opening the workshop in your editor, choosing custom clone destinations, better guidance messages, and a bunch of cross-platform polish (especially on Windows).

You can now manage your workshops by simply running npx epicshop and I think that's cool.

On top of that, the app itself kept leveling up too. Things like improved error handling, better update flows, quality-of-life shortcuts, richer "presence" information, and even MCP-related upgrades (including MCP server improvements).

If you're curious about the details, the full release notes live in the epicshop repo, but the headline is: it's becoming a real product-quality experience for running workshops locally (and that matters a lot when you're teaching people to build real things).

Epic Stack updates

Even with my focus shifting hard toward EpicAI, the Epic Stack kept moving forward in a big way this year (huge thanks to everyone who helped).

Some highlights from the 2025 releases:

  • We moved the stack forward with React Router v7 and the surrounding improvements to keep things modern and maintainable.
  • We added passkeys, made a bunch of security/performance improvements, and shipped a pile of quality-of-life fixes.
  • We made some meaningful infrastructure/tooling changes, like moving image storage to Tigris and adding image optimization via openimg.
  • We upgraded to Tailwind v4.
  • Later in the year we migrated from remix-flat-routes to react-router-auto-routes and added react-router-devtools.

If you want the full blow-by-blow, the release notes are all here: Epic Stack releases.

Seriously: thank you to everyone who opened issues, submitted PRs, reviewed, and helped keep the stack healthy. The Epic Stack is better because of your contributions.

Epic Web Conf 2025 (and why it hurts)

In March we ran Epic Web Conf 2025 in Salt Lake City. We did a workshop day and a conference day, and (as always) the people made it special.

Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
I'm excited to announce the talks and photos are now available for #EpicWebConf 2025! Talks: Epic Dev Talks Photos: Epic Web 2025
Tweet mediaTweet media

(Also, here's last year's photos, because I forgot to write a year in review for 2024 😅).

I also lost money on this event. I'm gutted that I can't run it again for the foreseeable future.

There are a lot of reasons for that, but the simplest is: I can't afford to keep splitting my focus and I can't afford to keep losing money. I love running events, but I need to be responsible about what I commit to.

Epic Web Camp (2024 + the cancelled 2025)

Epic Web Camp happened in 2024 and it was a beyond special experience:

We were going to do it again in 2025 (the video even had dates!), but I had to cancel for the same reasons I'm not running the conference: I need to avoid splitting my focus and I need to avoid losing money.

Honestly between this and the conference, I'm more gutted about the camp. It was just such a great experience. I hope to bring it back one day.

On another note, I did actually run an unofficial Epic Web Family Camp thing this year. The venue for Epic Web Camp is the Aspen Grove Family Camp and during the summer they run week-long camps for families to come up and do things together so I did this:

Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
Ok, I've put together a form to gauge actual interest and get emails for specific individuals to reach out to if I decide to do this. If you'd like to have the coolest summer vacations (basically a cruise in the mountains), let me know your interest here: EpicWebCamp 2025 interest sign up
Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
#EpicWebCamp hasn't even happened yet, and I'm thinking about next year already. I'm thinking about doing it during the regular family camp that Aspen Grove runs in the summertime. I'm trying to decide if we could get people there. Please reply to the details below:

We had a couple families join us and we had an amazing time and I even made some new life-long friends as well.

We'll see what we can do in the future here.

Talks, travel, and a whole lot of planes

I can't say I "didn't travel a ton" this year 😅

Here are my TripIt stats for 2025:

  • Distance traveled: 58,698 miles
  • Total days: 60
  • Total trips: 16
  • Countries/regions visited: 7
  • Cities visited: 18

For talks, I keep an updated list on my talks page, but a few 2025 highlights were:

Podcasting, interviews, and my own shows

I did a bunch of podcast appearances this year. The canonical list lives on my appearances page, but here are a few 2025 standouts:

And here are the other 2025 episodes (linked from the appearances page):

Also, two fun personal milestones for my own podcasts:

My most engaged-with posts

I've had some posts this year get a surprising amount of engagement. A few of my favorites.

MCP was definitely a standout topic and things kept happening all year to confirm my pivot was the right direction.

Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
OpenAI just dropped the Apps SDK, built on MCP. This is the future of how users will interact with your apps. You won’t need to build a chatbot anymore. OpenAI is the chatbot. You just expose your tools through MCP. Exciting progress toward Jarvis!
Tweet media

I announced the arrival of our 6th child:

I also made a couple jokes about "starting at Microsoft" (I was actually just visiting for Microsoft MCP Dev Day / VS Code Summit):

And here are the rest. I'm not going to annotate every one here, but if you want to browse what resonated most this year, this is a fun little time capsule:

Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
Is it just me or is it kinda funny that OpenAI bought Windsurf for $3B and then Microsoft just open source Copilot 🤭
Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
What if instead of fighting with Oracle over the JavaScript trademark, we just all stop calling it JavaScript and just call it TypeScript instead?
Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
In my new house, I didn't even have them run a gas line to the house at all. I think we'll look back on this time and think it was crazy that we piped this stuff straight into our homes.
Kent C. Dodds ⚡ avatar
Kent C. Dodds ⚡ @kentcdodds
All running on a $5 VPS
tobi lutke avatar
tobi lutke @tobi
Congratulations to our merchants on another record breaking Black Friday. LFG → Merchants total Black Friday sales were $6.2 billion, up 25% YoY → Edge peaked at 489 million requests per minute. App servers handled a peak of 117 million requests per minute, up 40% from last

CodeTV: Web Dev Challenge (No Keyboards Allowed)

I made my second appearance on CodeTV's Web Dev Challenge: No Keyboards Allowed

It's a really fun format and I always enjoy seeing what gets built under pressure. Thanks Jason for having me!

Listening: Pocket Casts, audiobooks, podcasts, and scriptures

I listen to basically everything in one place: Pocket Casts.

I use custom-built software I made to turn my audiobooks into an RSS feed so I can listen to them in Pocket Casts alongside my podcasts. I even listen to my scriptures in the same app.

My Pocket Casts stats for the year:

  • Minutes listened: 62,518 (that's 1,042 hours of audio! 😱)
  • Episodes listened: 1,469

Most listened-to feeds:

Scripture listening highlights:

Personal

The biggest personal highlight of 2025 was welcoming our 6th child. I don't post pictures of my kids online, but I'll say (again): I'm incredibly grateful for my wife and kids.

The last couple months of 2025 required a ton of my time because of the new baby, and I expect early 2026 to be similar. That reality is going to shape what I say "yes" to for a bit (especially travel).

Looking ahead to 2026

I'm excited about 2026. I'm also trying to be realistic about time, energy, and focus.

Here are the big things I'm planning right now:

Intro to TypeScript Programming (local college)

I'm working with a local college to build out a curriculum for their "Intro to TypeScript Programming" class. With the arrangement, I get to keep 100% of the IP. Think of it like they're asking me to write a textbook which they will use in their class. They actually used EpicReact.dev in 2025 and it was a great success!

What this means is I'll be able to make this available to you and your friends as well!

Doing more truly-intro content is something I've wanted to do for a long time. I even mentioned it years ago as part of my "KCD EDU" dream:

For a long time now, I've wanted to create a place where I could help get someone from 0 to hero in software development...

(context here)

This will likely be 5 workshops, and I plan to make them available on EpicWeb.dev in the first half of 2026.

Free substantial updates to EpicAI (a new promise for me)

I also promised to update the self-paced workshop series on EpicAI.pro in the first half of 2026 for free.

I've never promised free substantial updates in the past, so this is a new kind of commitment for me. I don't like promising my future to anyone. But MCP is changing so fast that I felt like an exception was warranted.

So my first half of 2026 is going to be very busy!

Conclusion

Thanks for following along with me. I'm grateful for the people who cheer me on, the people who challenge my ideas, and the people who build alongside me.

Onward to 2026.

Illustration of a Rocket

Epic React

Get Really Good at React

Visit course
The EpicAI.pro logo

Epic AI

Learn to build AI-powered applications.

Visit course
Kent C. Dodds
Written by Kent C. Dodds

Kent C. Dodds is a JavaScript software engineer and teacher. Kent's taught hundreds of thousands of people how to make the world a better place with quality software development tools and practices. He lives with his wife and four kids in Utah.

Learn more about Kent

If you found this article helpful.

You will love these ones as well.