Here are special rules you must follow: 1. All forms should use regular form url encoding. 2. All routes should return html. 3. Use htmx for all dynamic content, when possible. 4. Use alpinejs for other dynamic content. For example, hiding or showing an element. 5. Prefer using daisyui over raw tailwind where possible. 6. Prefer using alpinejs over raw javascript. Raw javascript should almost never be needed. 7. Always print unhandled exceptions to the console. 8. Follow best practices for jinja template partials. That is, separate out components where appropriate. 9. Ask the user when there is something unclear. 10. I always run the server locally on port 5000, so you can use curl to test. No need to start it yourself.