Show HN: Moneta – Conversation as the Engine of Application State
*Moneta is a conversation-as-code platform for building multiplayer AI-native applications in which the AI can reactively update the application based on interactions with users or other AI via CRDTs.*
The key idea is that rather than using a conversation to generate an application, in Moneta the conversation *is* the application. We call this idea 'conversation as the engine of application state' (CATEOAS).
This means that instead of saying “create a todo list that can do X, Y, and Z” you would instead be declarative and say in the conversation “please add x to my todo list”. The conversation serves both as a universal interface and the engine of state.
The state itself is managed via Yjs - we treat the AI and the users as collaborators on a shared Yjs document per each application.
Finally, every Moneta application is equipped with the ability to dynamically `fetch` its own hypermedia or the hypermedia of other applications (both Moneta and otherwise) as well as post messages to itself or other applications (assuming it has the correct access privileges). This means that it can introspect, self-message and communicate with other Moneta applications as well as external APIs both via the conversation as well as the UI.
Moneta and the concept of CATEOAS has continued to surprise us with emergent capabilities and I hope it will surprise you too. ---
As an example of Moneta in the wild, take a look at our Moneta generated landing page and note the multiplayer capabilities in the form of shared cursors and live user-count: https://moneta.studio/
NOTE: You can see the conversation for all Moneta apps by clicking the M tab on the right side of the page
Here’s Moneta’s take on Moneta and CATEOAS: https://thunder-hn-post-content.mnta.io/
Again note how Moneta can interact with comments in the UI or via the conversation.
And just for fun, here is a hacker news clone: https://thunder-multiplayer-hn.mnta.io/
Feel free to add comments in the above apps as well as review the conversations that generated it.
Please feel free to reach out at thunder (at) moneta dot studio.
4 comments
[ 3.4 ms ] story [ 13.1 ms ] threadThat's why I encourage people to not just treat the conversation as a way to make the app but actually try using the app declaratively through the conversation.