Mathalama Talk is a modern, secure, and fast platform for instant anonymous communication.
The service lets users find conversation partners based on gender and common interests in a fraction of a second. After a successful match, users can chat in private rooms or start a real-time voice call. All activity is completely private and requires no registration, email, or phone numbers. A session is created automatically based on a temporary device identifier.
The repository is a monorepo with the following structure:
apps/web/: Next.js frontend application.services/: Go microservices:api-gateway: Unified entry point routing API and WebSockets.user-service: User session and profile management.chat-service: Room management and WebRTC signaling.matchmaking-service: Fast matchmaking queue logic.moderation-service: Report handling and screening.notification-service: Dispatching internal events.
libs/: Shared Go libraries and generated Protobuf files.infrastructure/: Deployment configurations for Docker, Kubernetes, Ansible, Terraform, and monitoring (Prometheus, Grafana, Loki).docs/: Engineering wiki and technical documentation.
- docs/README.md : Engineering wiki home page
- docs/overview/vision.md : Product vision and goals
- docs/architecture/system-design.md : System architecture design
- docs/development/setup.md : Local development setup guide
- docs/infrastructure/docker.md : Container runtime configurations
- docs/security/secrets.md : Security guidelines and secrets management
- docs/runbooks/production-incident.md : Incident response instructions
Clone the repository and create your local configuration file:
cp .env.example .envRun the database, message broker, and routing infrastructure (Postgres, Redis, NATS, coturn):
# Using make utility:
make up-infra
# Or directly with Docker Compose:
docker compose up -d postgres redis nats coturnApply schemas to Postgres databases:
# Using make utility:
make migrate
# Or directly with Docker Compose:
docker compose run --rm migrate-user
docker compose run --rm migrate-chat
docker compose run --rm migrate-moderationBuild and start all backend services and the frontend client:
# Using make utility:
make up-services
# Or directly with Docker Compose:
docker compose up -d api-gateway user-service matchmaking-service chat-service moderation-service notification-service webThe web application will be accessible at: http://localhost:3002 (mapped to port 3000 inside the container).
This project is licensed under the MIT License. Check LICENSE for details.