Robinson created React 2025 to help frontend developers build full-stack applications, including databases, payments, and deployment. The course followed a real product, Fast Feedback, using Next.js, Firebase, Stripe, and Vercel.
Revisiting my React course 3 years later
Lee Robinson of Vercel revisits his React 2025 course and explains what he would keep or change about its tools and development patterns.
Firebase has run the original app for years without maintenance, so Robinson is still happy with it, though he might compare other database options for a new project. He would likely use NextAuth, now called Auth.js, to make server-side authentication easier than managing sessions and cookies around client-side Firebase Auth.
Robinson shows how async Server Components can fetch data directly, while client components handle interactive controls. In his rebuilt app, the feedback table is rendered on the server with no extra client-side JavaScript, and loading UI can appear while data streams in. He says mutations and optimistic updates still need a clearer solution in the 2023 App Directory.
Robinson would still choose Next.js for a project that needs a mix of static marketing pages, dashboards, and server-rendered routes in one app. For styling, he favors Tailwind and Tremor for dashboard components, and would avoid runtime CSS-in-JS because it can add client JavaScript and complicate streaming.
Robinson says common tools such as ESLint, Prettier, and TypeScript have become steadier choices as churn in parts of the JavaScript ecosystem has slowed. He would use TypeScript from the start, adding types gradually rather than needing deep expertise upfront.
Takeaways
- Keep a stable database that is working; reassess options when starting a new project.
- Prefer server-side auth checks when routes need to protect data before rendering.
- Use server components for data that does not need browser interactivity.
- Choose a framework that lets marketing pages and application routes use different rendering strategies.
- Adopt TypeScript incrementally to gain editor support without mastering every type feature first.
Mentioned in this talk
Search inside this talk
What was claimed 10
- usesFast Feedback uses
Stripe
“subscription payments with Stripe”
YouTube Unverified1 source· Talk
- usesFast Feedback uses
Next.js
“building this SaaS application using Next.js”
YouTube Unverified1 source· Talk
- usesFast Feedback uses Firebase
“The choice I made at the time was Firebase.”
YouTube Unverified1 source· Talk
- uses
“What I ended up choosing for the course was Firebase Auth.”
YouTube Unverified1 source· Talk
- featureNextAuth: Supports authentication checks on the client, server, and middleware in Next.js.
“NextAuth makes it easy for me, as a Next.js developer, to do auth checks on the client side, server side, in middleware”
YouTube Unverified1 source· Talk
- feature
Next.js: App Directory supports server components that can await data and stream loading states.
“the default is now to fetch things on the server”
YouTube Unverified1 source· Talk
- feature
Next.js: Allows marketing pages and application pages with different rendering strategies in one app.
“all of this can still be in the same application”
YouTube Unverified1 source· Talk
- usesFast Feedback uses Tremor
“I'm able to import all these different table components from Tremor”
YouTube Unverified1 source· Talk
Related talks
1:21:37
1:57:48
1:20:10
12:33
4:21
9:28