Hi!
We’re currently testing different frameworks to see what fits our setup best. Our MVP was built entirely with Convex — covering the backend, agent components, and frontend. The nice thing about Convex is how easy it is to manage everything while keeping the frontend reactive. For example, we store threads, messages, logs, and tool call results directly in Convex, which lets us display them in a chat-like UI.
Now that we’re experimenting with Mastra, we’re running into a few architectural decisions — one of them being where and how to store and display messages, tool call statuses, and results. One idea I’m considering is connecting a Convex HTTP endpoint (if possible) to Mastra’s workflow run stream endpoint. This way, we could listen to the stream, save the run results and steps into a Convex table, and automatically persist and display everything in the UI.
Would that be a fine idea or am I missing something? One thing I try to prevent is to have data coming in from multiple places