Building AI Apps with TypeScript
Build a real AI application end to end in TypeScript, no Python required.
About the Course
Almost every AI tutorial assumes you write Python. The frameworks, the starter repos, the job posts all reach for the same stack, and if you build for the web in TypeScript, the message is hard to miss: AI happens somewhere else. A separate service. A second language. A boundary bolted onto the app you actually ship.
You don't need any of that. You can build a real AI application in TypeScript today, and it has one thing a Python backend can't: the same type system from the browser all the way to the model's output. You'll prove it by building Triagedesk, a support-ticket console, across 16 sections and 65 text-based lessons. Its Express API and React console share one Zod contract, so when that shape changes, both sides have to agree or the build breaks in your editor, not in production.
The project grows from a single triage call into tool use, durable conversations, streaming, context compaction, model routing, and visible usage costs. You build it in full-stack slices: each backend capability is followed by the screen that consumes it. Because the course is text, you can copy code straight out, search a lesson for the part you half-remember, and return to it the week you hit that problem at work.
By the end, AI won't feel like a Python thing you integrate with. You'll know how to build and ship AI features in the stack you already work in. One language, from the first request to the rendered answer.
What You'll Build
You'll build Triagedesk, a support-ticket console using TypeScript, React, Vite, Express 5, Claude through the Vercel AI SDK, Zod, Drizzle, and PostgreSQL. It classifies tickets, calls account and order tools, stores versioned conversations, streams customer-facing drafts, compacts long threads, routes work across model tiers, and renders tool and usage evidence in the browser.
What You'll Learn
- Share one Zod contract for requests and responses across Express and React, without leaking server code into the browser
- Constrain the model to a validated set of decisions, then render every case in the UI so the compiler flags any you miss
- Run tool-calling loops with a hard step limit, and show an ordered trail of the model's steps without exposing its hidden reasoning
- Save multi-turn AI work in transactions that roll back cleanly on failure, and reject edits made against a stale version
- Stream replies to the browser as they're generated, while saving only complete customer, tool, and assistant turns
- Compact long threads to fit the context window while keeping the full original history
- Route each request to the right model tier by rule, and track the tokens and cost it runs up
- Turn timeouts, rate limits, conflicts, and broken streams into UI states that tell the truth
Prerequisites
- Comfortable with modern JavaScript, async/await, TypeScript fundamentals, React components, and HTTP APIs
- Understand model calls, tokens, context windows, and replayed chat history, or complete Build Your First AI-Powered App
- Able to run Node.js 22+, PostgreSQL, and terminal commands with pnpm
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 across browser, API, and model output
- Developers moving from AI demos toward persistent, observable, failure-aware product features
- Teams evaluating how streaming, tools, state, routing, and cost controls fit together

