Skip to main content
Truth or Dare (DareChat) logo
~40K monthly active users — live at darechat.me with Swagger-documented public REST API at darechat.me/apiClient project
Truth or Dare (DareChat)

Role: Tech Lead & Architect

Real-time multiplayer Truth or Dare game for Russian-speaking audiences, live at darechat.me. Built for founder Rustam Zaripov in 2022 with a backend-first architecture in one Nx monorepo: two NestJS APIs on Express (public REST + admin) using CQRS handlers, Swagger-documented at darechat.me/api, Socket.IO chat scaled across nodes via the Redis pub/sub adapter, Firebase auth + storage + FCM push notifications, Google Cloud Vision for user-uploaded image moderation, and Prisma on PostgreSQL with backup infrastructure on Postgres 18. JWT-bearer auth across both APIs, custom Nx libraries for shared command/query handlers, and MinIO-compatible media storage. The marketing site (SvelteKit) and an Angular web app consume the same public REST API that mobile clients do — iOS and Android apps live in the founder's separate repos.

Built for Rustam Zaripov

Technologies Used

Nest.jsExpress.jsNx monorepoCQRSMicroservicesPostgreSQLPrismaRedisSocket.IOWebSocketsSwaggerJWTTypeScriptFirebaseFCMGoogle Cloud VisionDocker

Screenshots