In Development
iOS
Android

Life Help

FlutterBLoCNestJSMongoDBAgora RTCSocket.ioStripe ConnectFirebaseFCMDockerTraefik
Life Help

Life Help is a personal project connecting people with wellness advisors for live coaching, community support, and one-on-one guidance.

The core experience is a live 1:1 video session — users browse advisor profiles, book a session, and join a private Agora RTC room. Between sessions, they can message their advisor in a persistent chat powered by Socket.io.

The business model required building a full marketplace infrastructure: advisors are onboarded through Stripe Connect, complete identity verification via Stripe Identity, and receive automatic payouts after each session. A custom microservices split keeps the payment logic isolated from the main API — Stripe webhooks hit dedicated services that can be updated, scaled, or replaced independently.

The four-microservice architecture behind Traefik was a deliberate choice for isolation: a bug in the payout service cannot take down chat or video, and each service can be deployed independently without a full system restart.

Highlights

  • Live 1:1 video sessions between users and wellness advisors via Agora RTC
  • Real-time chat with Socket.io — persistent conversation history
  • Stripe Connect advisor payouts with full KYC identity verification
  • Microservices architecture: 4 independent NestJS services behind Traefik
  • Multi-flavor CI/CD pipeline shipping to iOS and Android simultaneously
Technical details

Architecture

Monorepo with a Flutter mobile app and four NestJS microservices (main API, Stripe Identity MS, Stripe Connect payout MS, deep-link MS) orchestrated by Docker Compose + Traefik v3. Services communicate over an internal Docker bridge network. Deployed on Hetzner.

**Backend:** Four NestJS 11 (TypeScript) microservices — each with its own responsibility boundary. The main API handles users, advisors, sessions, and chat. Stripe Identity MS processes KYC webhooks. Stripe Connect payout MS manages advisor earnings and payouts. Deep Link MS generates short links and deferred deep links.

**Infrastructure:** Docker Compose + Traefik v3.6.9. All services share a `cosmic-net` bridge network. TLS via Let's Encrypt (acme.json). Production on Hetzner; local dev mirrors prod architecture via `*.localhost` domains.

**Mobile:** Flutter 3 with BLoC/Cubit state management. Agora RTC for video, `socket_io_client` for chat. Firebase suite: Auth, FCM push, Crashlytics, Analytics.

**Payments:** Stripe Connect for advisor onboarding and payouts. Stripe Identity for user KYC — webhooks handled by the identity microservice.