This thing is packaging components from MUI and Recharts, any React dev would know how to bring these in if needed in a project. Also why a time series chart but not <i>every other</i> chart?<p>I think there is a case for a chat UI library, but this doesn’t look like a well-designed solution. A better approach would be to bring in the absolute minimum primitives needed for chat and let the dev bring everything else (eg, charts).<p>Also agree with others that the styling doesn’t look good at all. It looks to be in a strange middle-ground between unopinionated and opinionated, satisfying neither. There are problems with design rudiments too - the spacing generally and the vertical rhythm particularly are very poor, for example.
I thought this was about doing UI in rust, but it's just Javascript/react.<p>Also, in the demo screenshot, the margins of the agent/you labels feel off.
As someone building an app that has AI chat as a feature, this library is too coarse grained. This might be useful if someone's trying to quickly build a low quality canned AI app, but my hand rolled UI is much nicer.<p>You wanna know what would be a useful component? A simple <Text> component that takes a streaming character generator wrapping output from a LLM and can render the stream progressively without any any additional config by the user, and that provides hooks for animating the appearance of the text so the user can easily create beautiful experiences.
Obligatory shot of a page professing to be about UX totally ruining the UX.<p><a href="https://ibb.co/Mk34N7s" rel="nofollow">https://ibb.co/Mk34N7s</a><p>Suffice to say I didn’t bother reading the article.
I like the idea, frankly. A rapid prototyping tool to make chat-driven UIs (like, "the bootstrap of chat UIs") seems like a useful addition to the ecosystem.<p>I see that MarkedStreamingMarkdown is mentioned, but I'd like to see a demo, and in particular I'm curious how it interacts with images and code blocks. Also, the interface (`updatedText` detects changes in value and appends them to the displayed text) appears to be a gross violation of React's model (e.g. you cannot stream "he had had enough" without streaming "had", undefined, "had").
I'm not sure if this is "rustic", it doesn't feel appealing at all.<p>Also, why it even needs to be packaged as a library - it would have been way more portable and easier to adopt/tweak if it comes as web components or just vanilla html/css snippets.