Naradly is an anonymous chat application built around a React frontend and a Node.js backend using Express and MongoDB. The intended messaging flow uses Socket.IO or WebSockets to deliver conversation events over a persistent connection, while REST endpoints can handle supporting operations such as retrieving or managing application data. MongoDB stores message records so the application can work with conversation history rather than treating every message as temporary. The focus is a simple chat experience where users can communicate without making their real-world identity central to the interaction.
The problem
A chat application needs to do more than accept and store messages. People expect conversations to update without repeatedly refreshing a page, and the backend needs to keep messages associated with the right conversation as users join, leave, or return. Anonymous interaction also means the product should avoid asking users to reveal more personal information than the experience requires.
The solution
I worked on the backend using Node.js, Express, and MongoDB, with real-time messaging planned around Socket.IO or WebSockets. The API handles application requests and conversation-related data, while the real-time connection supports message events between connected clients. MongoDB stores message data, and the React interface provides the user-facing chat experience.
What it does
- Anonymous conversation experience
- Real-time messaging approach using Socket.IO or WebSockets
- Node.js and Express backend
- MongoDB persistence for message data
- React-based user interface
- API endpoints for supporting application operations
- Conversation-oriented message handling
What was hard
Real-time messaging introduces a different set of concerns from a standard request-and-response API. The server must handle connection events and message delivery, while the application needs a clear way to associate messages with the appropriate conversation. Persistent storage also needs to remain consistent with what clients see. For an anonymous chat product, privacy and abuse prevention matter as well: anonymity should not mean ignoring validation, access rules, or sensible handling of user-generated content. The exact production behaviour would need to be tested under realistic connection and traffic conditions before making claims about scale or delivery guarantees.
Results
Naradly explores the separation between ordinary API operations and real-time communication. The project helped me think through message flow, conversation organisation, persistent storage, and how a client and server coordinate events without relying entirely on repeated polling.

