My main motivation was to use the API since it is much cheaper than the premium plan and I only pay for usage. The main inspiration was ChatGPT-web by Niek [1], but I was lacking time to dig into the code base to make changes. Hence I went for a lightweight approach with Alpine.js and Open Props. There is no build step, the dependencies are fetched via CDN.
In general it was much fun to work with Alpine.js - being a parent means having very little time. So it was great to not have to invest 20h into learning a new framework. My main ask was something that gives me data binding and does not require a build step. Alpine.js was the perfect fit!
A hacky bit I'm proud of is the dynamic loading of languages for syntax highlighting with highlight.js :)
Feel free to fork, adapt and host for yourself!