Projects

Project History

How the project evolved over the years

Version 4 (Jan 2026)

Shifted from a monolithic setup to a distributed and scalable architecture.

  • Re-engineered the backend from Nest.js to Golang and the frontend from Next.js (React) to Nuxt.js (Vue) to optimize for specific performance requirements, developer experience, and ecosystem benefits.
  • Decoupled the WebSocket server from the API layer, enabling independent scaling and reducing resource contention.
  • Integrated RabbitMQ as a message broker to synchronize state across multiple WebSocket nodes, allowing the system to scale horizontally.
  • Offloaded heavy database I/O from the real-time WebSocket thread to Background Workers.
  • Implemented Nginx as a Reverse Proxy for load balancing and TLS termination.
  • Dockerized the entire ecosystem (API, WebSockets, Workers, RabbitMQ, and Nginx) to ensure environment parity and seamless deployment.

Version 3 (Nov 2024)

Focused on expanding social functionality and optimizing client-side performance.

  • Developed group chat functionality and public channels.
  • Migrated from Zustand to Redux Toolkit (RTK) for more robust data handling.
  • Implemented RTK Query for intelligent client-side caching and automated cache invalidation.
  • Integrated skeleton loaders to enhance perceived performance during data fetching.

Version 2 (Aug 2024)

A maintenance-focused release centered on code health and design.

  • Performed a major refactor to improve modularity and long-term maintainability.
  • Re-architected schema relationships for better query performance.
  • Completely overhauled the UI for a more modern, professional aesthetic.

Version 1 (Nov 2023)

Establishment of core messaging features and user identity.

  • Implementation of one-to-one chats with read receipts.
  • Features for pinning, archiving, clearing, and deleting conversations.
  • Basic user search and contact list management.
  • Support for system-wide light and dark modes.