R

ReflexKR

Reflex Docs

Full-Stack Python Web Development with Reflex

·

Course overview

1

Meet Reflex and set up your environment

2

Drawing the screen with components

3

State and Vars: let data draw the screen

4

Events and forms: adding customers

5

Shaping data and charts

6

Wrap-up, debugging and next steps

·

Appendix

Full-Stack Python Web Development with Reflex

Course overview

A 4-hour beginner course: build a customer management app in a single Python file

4 hours6 lessonsReflex 0.10.0

In 4 hours, you'll build a web app with a customer list, an add form and a gender breakdown chart from start to finish, all in a single Python file (about 220 lines). You won't write a single line of HTML, CSS or JavaScript.

Who this is for

  • You know basic Python syntax (functions, lists, dictionaries, classes)
  • You're new to web development, or you want to build web apps without learning a separate frontend stack (React)
  • You want to put your data analysis or automation scripts behind a web UI

Learning goals

By the end of the course, you'll be able to:

  1. Create and run a Reflex project with uv.
  2. Compose components into a page and style them with keyword arguments.
  3. Keep data in rx.State and make the page update when that data changes.
  4. Handle button and form events and change state with Python code on the server.
  5. Transform state and visualize it as a chart.
  6. Explain the difference between "compile time vs. runtime" and fix the classic errors it causes.

What you'll build: Customer Data App

AreaWhat it doesReflex features used
HeaderTitle, customer count badge, Add User buttonrx.heading, rx.badge, State.users.length()
Customer tableLists customers and highlights a row on hoverrx.table, rx.foreach
Add dialogEnter a name, email and gender, then submitrx.dialog, rx.form, on_submit
Gender chartHorizontal bars showing customers per genderrx.recharts.bar_chart, on_load

What you need

  • Windows 10/11, macOS or Linux (WSL is recommended on Windows, but not required)
  • uv (manages Python and packages together)
  • Node.js 22.22.0 or later (the minimum version Reflex 0.10 requires)
  • A code editor such as VS Code, and a web browser
  • Versions used in this course: Reflex 0.10.0, Python 3.12

Schedule (240 minutes total)

TimeLessonTopicKey outcome
0:00–0:35Lesson 1Meet Reflex and set up your environmentThe default app opens in your browser
0:35–1:15Lesson 2Drawing the screen with componentsCard layout and header
1:15–1:25Break
1:25–2:10Lesson 3State and VarsCustomer table
2:10–2:55Lesson 4Events and formsAdd-customer dialog
2:55–3:05Break
3:05–3:45Lesson 5Shaping data and chartsGender bar chart
3:45–4:00Lesson 6Wrap-up, debugging and next stepsReview of the whole flow

How to use this course

  • Each lesson follows the same order: learning goals → concepts → code-along → exercises → checkpoint.
  • Instructor note blocks are talking points for video recordings or live classes. If you turn a lesson into a blog post, you can rewrite them as regular body text.
  • The code grows a little in each lesson until it's complete. The final code is in the appendix.

Next →

Lesson 1 · Meet Reflex and set up your environment

Get news about new lessons

We'll email you when this course gets new lessons or a follow-up course opens.

We collect: your email address · Purpose: news about new lessons or the launch of this course · Kept until: you ask us to remove it. We never use it for anything else or share it. Reply to any notice email and we'll delete it right away.

Questions & answers

Ask anything about this lesson. Questions from every language version of this page appear together.

Shown as plain text, without links or formatting.

R

ReflexKR

Learn Python and Reflex by doing. Every example was run and verified on Reflex 0.10.0.

ReflexKR is free, with no banner ads. If it helped you, you can support it with a coffee. ☕ Buy us a coffee

Affiliate disclosure
한국어English日本語简体中文EspañolDeutsch

© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0

Built with Reflex