# Building a plugin system in an HTMX app

DevFeed: [Building a plugin system in an HTMX app](<https://devfeed.tech/articles/htmx-is-composable-33427.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2024/01/17/htmx>)

Published: 2024-01-17T09:00:00Z

Content type: opinion

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [htmx](<https://devfeed.tech/topics/htmx.md>), [Python](<https://devfeed.tech/topics/python.md>), [Mastodon](<https://devfeed.tech/topics/mastodon.md>), [Streamlit](<https://devfeed.tech/topics/streamlit.md>)

Tags: [htmx](<https://devfeed.tech/tags/htmx.md>), [mastodon](<https://devfeed.tech/tags/mastodon.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [python](<https://devfeed.tech/tags/python.md>)

## AI overview

The author describes rebuilding the Fossil Mastodon client in HTMX and designing a plugin system. Plugins can contribute UI elements, API endpoints, database tables, and AI algorithms.

## Source excerpt

I wrote an HTMX app and it was easy to develop a powerful plugin system within it. That surprised me. I had assumed that JSON-driven REST APIs were the only way to make composable web APIs. In my mind, HTMX blends the backend and frontend together into one monolithic component. It seemed counterintuitive.