We live in an era in which code has suddenly become extremely cheap. One person with an LLM can output an amount of code in 11 minutes that would normally take a couple of weeks.
Why invest in a component library when you can prompt one into existence yourself? Well, partially because you have my promise that these components are not simply AI slop. I have a set of principles I've followed in developing this library:
Where AI is used
I am, in general, fairly pro-AI, and I have used AI freely in developing this website, the server that hosts it, setting up the private hex repo, and a number of other things needed to make Dizzy an actual product.
Where AI is not used or used sparingly
The components themselves are completely human-made, by me. There is some amount of AI involved in sketching out a new component, and it is occasionally used by me to say "reference this other component and give me some Tailwind styling similar to it" or other menial tasks like that, but the components themselves are not simply the result of 11 minutes of prompting. A lot of careful thought has gone into them.
Secondly, I don't feel it's super ethical to create communication intended to be read by humans with AI. Things like the language on a landing page, a marketing email, a blog post, a changelog, etc. That being said, I don't consider myself much of a master marketer or copywriter. I use AI to help write these things, but I try to use it sparingly because I don't think it does a very great job at them. I use AI to help me sketch out these kinds of things and then refine them in my own language.
I also feel like AI isn't particularly great at writing documentation. Documentation is much more of a rote and menial thing though. I think it is less offensive when used for this purpose, but it's not great at doing it. Similar to copywriting, I will use it sparingly but try to express as much documentation in my own words as possible.
Trust
I think AI usage in this sort of thing is all a matter of trust. I try to be up-front and transparent with you about how and where I use AI, and I hope in return you give me a little trust back that you're getting a good product that's created primarily by a real human—a real human who just happens to love Elixir.
What if I hate AI?
As stated before, AI has not been used in a meaningful way in the development of the final versions of these components themselves, so if AI is a non-starter for you, I hope you find that the library itself is ethical enough for you to consider using it.
How do the components work with AI?
While I limit my AI usage while working on the library itself, in my normal day-to-day workflow I use AI quite heavily, and one of my goals is to make Dizzy work extremely well with AI workflows. I am planning to release some specialized skills for Codex and Claude Code to make working with Dizzy components even easier when using an AI agent. I'll also be adding in some bits you can add to your AGENTS.md file to make your agent implicitly know how to work with Dizzy components.