HTML files with Jinja2 expressions, rendered with `render_template()` - **Template inheritance** — `base.html` defines shared structure; child templates extend it - **Forms** — HTML forms send POST requests; `request.form` gives you access to the data - **Static files** — CSS, JavaScript, and images