Frontend:
  1. Angular 16+: A powerful framework for building highly interactive and scalable web applications.
  2. WebSockets: Enables real-time communication between the client and server, facilitating instant updates and seamless user experiences.
  3. Tailwind CSS: A utility-first CSS framework for rapid and efficient styling, promoting design consistency.
  4. Angular Material: A UI component library that offers pre-built, well-designed components, streamlining frontend development.
Backend:
  1. NestJS: A framework built on top of Node.js and TypeScript, providing a robust structure for building server-side applications.
  2. Prisma ORM: An object-relational mapper (ORM) that simplifies database interaction, making database operations more efficient and maintainable.
Database:
  1. MySQL InnoDB Cluster: A highly available and scalable database system, providing robust data storage and retrieval capabilities.
  2. Redis with Sentinels: A high-performance in-memory data store with a built-in failover mechanism (sentinels), enhancing reliability and resilience.
Monitoring and Observability:
  1. Sentry: A comprehensive error tracking platform that provides detailed insights into application errors, helping to quickly identify and resolve issues.
  2. Prometheus: A time-series monitoring system for collecting and storing metrics, enabling real-time performance analysis.
  3. Grafana: A data visualization and dashboarding tool that allows for easy interpretation of data collected by Prometheus.
  4. OpenReplay: A session replay tool for debugging user interactions, helping to understand user behavior and pinpoint issues within the application.
Deployment and Infrastructure:
  1. GitHub Actions: A continuous integration and continuous delivery (CI/CD) platform that automates the deployment process, ensuring smooth and frequent updates.
  2. Nginx Reverse Proxy: A high-performance web server that acts as a gateway, distributing requests across multiple servers and providing load balancing capabilities.
  3. Horizontal Scalability: The application's backend is designed to scale horizontally, adding additional servers to handle increasing workloads and ensure high availability.
  4. Multi-Location Servers: Servers are strategically deployed in multiple locations to ensure redundancy and minimize the impact of regional outages.
  5. Tailscale VPN: A secure and reliable VPN service that allows for secure direct connections between servers, facilitating communication and data exchange.
Microservices and Integrations:
  1. AI Translations: Leveraging AI models for translation services, enhancing user experience and global reach.
  2. NATS.io: A messaging system that enables decentralized communication between microservices, facilitating loose coupling and independent development.
  3. WebSockets through Redis: Enables efficient and scalable real-time communication across microservices, using Redis as a central message broker.
  4. Zoom, Google Calendar, Google Contacts, Google Id Provider, Stripe Checkout, Amazon S3 Storage: Pre-built integrations with popular third-party services, streamlining user workflows and enriching functionalities.
Testing and Quality Assurance:
  1. Playwright: We switched from Cypress to Playwright for its amazing features (see here the advantages), such as the ability to open multiple windows and test full app functionality, including payments. Using Playwright for user journeys offers confidence when we implement new features. We also used Playwright to test the security and integrity of the API.
  2. Jest: A widely used JavaScript testing framework employed for unit testing both frontend and backend code, ensuring code quality and stability.
NPM private Package
  1. Separate Private NPM Packages: A dedicated collection of reusable components and functionalities, promoting code reusability and maintainability across the application.