DOT Messenger: A Local Network Chat App for Real-Life Problems

The Problem

Picture this: a classroom full of students trying to collaborate, share files, and communicate during a group computer science project. The catch? The internet is either crawling or completely dead. Welcome to the pain of relying on school Wi-Fi. Forget Google Drive or Slack — even basic messaging becomes a nightmare.

What This Does

Enter Dot Messenger, a React-based front-end paired with an Express server backend, designed to bring back the classic Windows Live Messenger experience — only now it runs entirely on your local network. The project is split into two main directories: frontEnd/ and server/.

The frontEnd/ folder (80 files, mostly TSX) houses the React app, with components like ChatPage.tsx for messaging features, UserProfileDialog.tsx for profile management, and StickerDialog.tsx for sending GIFs and stickers. It's built on TypeScript and powered by Vite (vite.config.ts handles the build process).

On the backend, the server/server.js file sets up an Express server, with WebSocket integration for real-time messaging. The server/server/memory/ folder includes lightweight in-memory stores (chatStore.js, userStore.js) for handling messages and users without a database. Middleware like authMiddleware.js and rateLimiter.js provide basic security.

Real-World Use

Let’s say your class is working on a group project. The teacher sets up the server on their local computer. Students then connect via the local network and create accounts using the signupController.js. Now, you’re messaging classmates in real time (messageHandler.js), sharing PDFs for the project (PendingPdfDialog.tsx), and coordinating via the news panel (AddNewsDialog.tsx).

Want to send a funny GIF? The getgifController.js pulls from the Giphy API. Need to share a voice clip? Record it via the Web Audio API, validated server-side for size limits. It's simple, functional, and doesn’t care if the school forgot to pay the internet bill again.

The Bottom Line

This is a niche project with a clear use case: LAN-based communication where internet access is unreliable. It's not going to replace Slack or Discord, but that’s not the goal. The setup is straightforward, and the codebase is well-organized, though the lack of database integration limits scalability. If you’re looking for a fun weekend project or a practical school tool, DOT Messenger delivers. Just don’t expect this to power your startup.