---
type: video
yt_id: VVU2YVRMdUlfajQtMHdpRFN6bWFQY3RRLmpYeVRJUU9mVFRr
videoId: jXyTIQOfTTk
title: "The React, Bun & Hono Tutorial 2024 - Drizzle, Kinde, Tanstack, Tailwind, TypeScript, RPC, & more"
date: "2024-04-30T13:00:45Z"
slug: "the-react-bun-and-hono-tutorial-2024-drizzle-kinde-tanstack-tailwind-typescript-rpc-and-more"
image: 
  name: "the-react-bun-and-hono-tutorial-2024-drizzle-kinde-tanstack-tailwind-typescript-rpc-and-more.jpg"
  alt: "The React, Bun & Hono Tutorial 2024 - Drizzle, Kinde, Tanstack, Tailwind, TypeScript, RPC, & more"
  width: 1280
  height: 720
status: 'published'
description: "This is a modern full-stack tutorial for anyone that wants to learn how to make a modern react SPA that works seamlessly with a bun & hono server. It's using all my favorite libraries and frameworks this setup will only get better as more upgrades come in the future. "
tags: []
---

This is a modern full-stack tutorial for anyone that wants to learn how to make a modern react SPA that works seamlessly with a bun & hono server. It's using all my favorite libraries and frameworks this setup will only get better as more upgrades come in the future. 

Features:
✅ Complete expense tracker app built from scratch using react 18/19, bun, and hono
✅ 100% backend and frontend TypeScript with validation using Zod
✅ Hono Typescript RPC for type safe HTTP requests
✅ User auth managed by Kinde Auth
✅ Tanstack Router, Query, and Form for the best UX and DX in an SPA
✅ Drizzle ORM for all interactions with a SQL Database
✅ Hosted on fly.io VPS
✅ Clean, modern UI using tailwind & shadcn-ui


Code, links, and other information: [https://app.eraser.io/workspace/EsxbsS4v2g7Otkihy95b](https://app.eraser.io/workspace/EsxbsS4v2g7Otkihy95b)


Help support me make videos: [https://ko-fi.com/meechward](https://ko-fi.com/meechward)

## Chapters:

* 0:00:00 - Intro
* 0:02:45 - Setup Bun and Hono
* 0:07:54 - Adding Routes
* 0:12:21 - Zod HTTP Validation
* 0:15:18 - Hono Zod Validator
* 0:16:52 - Dynamic Path Params
* 0:20:01 - Zod Improvements
* 0:21:35 - Setup React App with Vite
* 0:24:32 - Install Tailwind
* 0:25:35 - Why Tailwind?
* 0:29:12 - Shadcn
* 0:36:21 - HTTP Requests
* 0:38:29 - React Proxy
* 0:45:10 - Building the App
* 0:48:21 - Deploying the App (fly.io)
* 0:52:51 - Hono RPC
* 0:59:56 - Tanstack React Query
* 1:06:29 - Tanstack Router
* 1:16:12 - Get All Expenses
* 1:22:50 - Create New Expense
* 1:25:04 - Tanstack Form
* 1:35:01 - Kinde Auth
* 1:49:58 - Auth Middleware
* 1:53:38 - Authorized Routes
* 2:07:05 - Deploy Kinde
* 2:10:38 - Database
* 2:15:28 - Drizzle ORM
* 2:25:30 - Setup Neon
* 2:38:49 - Tanstack Form Zod
* 2:45:26 - Drizzle Zod
* 2:51:54 - Created At & Calendar
* 3:00:30 - UI Update
* 3:05:28 - Caching and Optimistic Update
* 3:28:20 - Delete Expense
