1. I don't use the internal DB stuff, I've been using Peewee ORM instead because it is more declarative (less magical) and fits in my head better.
2. I use app.get/post/etc. because it is more declarative. I like to know without thinking what sort of message an endpoint is expecting.
3. Query params: I don't know how I feel about this. There's some ambiguity in my head still about URL params vs query params.
4. Leveraging return values for DB model creation: This is syntactic sugar. It looks nice, but I prefer to have my code broken out so I can parse it mentally one piece at a time.
5. Use .to() for URL Generation: This is pretty cool I'll have to give this a try.
6. PicoCSS: I've been using this exclusively and it comes out rather nicely with a minimal amount of custom CSS.
7. Smart Defaults: Again, I prefer more declarative code, so I don't like this and I don't use it.
8. FastHTML Handles Iterables: I don't use this. I prefer list comprehensions when building out lists of components. An extra function call reads as confusing to me. Potato tomato.
9. Minimal Code: This is growing on me. I like one-liners for very short components or endpoints. It means I can fit more code on the screen at any given point in the file.
10. Use POST for All Mutations: I do this exclusively. I know htmx has other tags, but I don't use them because they muddy my understanding.
11. Modern HTMX Event Syntax: I haven't made enough use of HTMX to have to use this.
---
In all I've been very pleased with FastHTML and the speed at which I can build out an app. I'm nearly ready to release my first project in all its glory. It isn't much, but I've learned a bunch about web stuff by putzing around with it in the in-between times.