Building Full-Stack AI Apps with TypeScript
Build a full-stack AI application with streaming and persistence in TypeScript. No Python required.
About the Course
Many AI tutorials reach for Python. Their frameworks and starter repos can leave TypeScript developers with the same impression: AI belongs somewhere else. In a separate service, written in a second language, bolted onto the application they actually ship.
It does not have to. You can build a full-stack AI application in TypeScript and carry one validated contract from model output, through Express, to React. You’ll do that by building Triagedesk, a support-ticket console, across 12 sections and 44 text-based lessons.
The project grows from a single triage call into structured output, typed tool use, durable conversations, streaming replies, and context compaction. You build it in full-stack slices, with each backend capability followed by the interface that consumes it. Because the course is text, you can copy the code, search for the part you half-remember, and return to a lesson when you meet the same problem at work.
By the end, you’ll know how to build complete AI features without introducing a separate Python service. One language carries the application from the first request to the rendered answer.
What You'll Build
You’ll build Triagedesk, a support-ticket console that classifies tickets into validated decisions and uses typed tools to retrieve customer and order data. It displays the evidence behind each decision, persists tickets and multi-turn conversations in PostgreSQL, streams customer-facing replies, and compacts long histories without losing the full database record.
You’ll build it with TypeScript, React 19, Vite, Express 5, AI SDK 7, OpenAI, Zod, Drizzle, and PostgreSQL.
What You'll Learn
- Share one runtime-validated Zod contract across Express and React
- Turn model output into a closed, typed application decision
- Give a model controlled access to customer, order, and account tools
- Bound multi-step tool use and render its observable trail
- Persist tickets, decisions, tool results, and replies atomically
- Stream replies without treating partial output as durable history
- Replay a persistent conversation and compact it before it outgrows the context budget
Prerequisites
- Comfortable with modern JavaScript, async/await, TypeScript fundamentals, React components, and HTTP APIs
- Familiar with model calls, tokens, context windows, and chat history, or have completed Build Your First AI-Powered App
- Able to run Node.js 22.12 or later, pnpm 11+, PostgreSQL, and terminal commands
Who This Course Is For
- TypeScript developers who can call a model and want to build the application around it
- React and backend developers who want one typed contract from model output to browser UI
- Developers moving from stateless AI demos to persistent product features
- Teams learning how tools, streaming, state, and context management fit together

