# Source: https://docs.streamlit.io/develop/concepts/design

# App design concepts and considerations

## Explore comprehensive guides about app design including animating elements, button behavior, custom styling, dataframe design, multithreading, and timezone handling.

### [Animate and update elements](/develop/concepts/design/animate)
Understand how to create dynamic, animated content or update elements without rerunning your app.

### [Button behavior and examples](/develop/concepts/design/buttons)
Understand how buttons work with explanations and examples to avoid common mistakes.

### [Dataframes](/develop/concepts/design/dataframes)
Dataframes are a great way to display and edit data in a tabular format. Understand the UI and options available in Streamlit.

### [Using custom Python classes in your Streamlit app](/develop/concepts/design/custom-classes)
Understand the impact of defining your own Python classes within Streamlit's rerun model.

### [Multithreading](/develop/concepts/design/multithreading)
Understand how to use multithreading within Streamlit apps.

### [Working with timezones](/develop/concepts/design/timezone-handling)
Understand how to localize time to your users.

[Previous: Multipage apps](/develop/concepts/multipage-apps) [Next: Animate and update elements](/develop/concepts/design/animate)