A common need in web applications is to create a form that allows the user to enter a list of items, with the number of items not known in advance. This is a pattern often used when entering user information, specifically for phone numbers or addresses, but has a lot of other uses as well.

Implementing this with Flask is surprisingly tricky, as it requires a combination of back and front end techniques working together.