Skip to content
All projects

Corporate communication

Corporate Chat

End-to-end encrypted team chat and the WhatsApp inbox in one app: the team talks to each other and serves customers without switching screens.

encrypted in the browser
E2E
people the system is sized for
150
Illustration of the Corporate Chat: the finance department window with mentions and an attachment, a pending-mentions card, and a WhatsApp message forwarded to Sales.
Internal conversations, mentions as tasks and the customer's WhatsApp in one place

Architecture

WhatsApp APIReact appVercel APISupabasePush
  • React
  • TweetNaCl
  • ffmpeg

Features

  • 1:1 and group conversations encrypted in the browser, end to end: each room has its own key, sealed for every member — not even the database admin can read them.
  • Single WhatsApp inbox: on first contact a menu asks for the department, and the conversation reaches only the right team, always answered by a human.
  • Mentions as a to-do list: tag someone with @ and it stays pending in that person's "Mentions" space until they mark it done.
  • Reactions, pinned messages, favorites, editing, quoted replies, per-member read receipts and forwarding between internal chats and WhatsApp contacts.
  • Encrypted attachments in private storage — documents, photos, audio, video, voice and screen recordings — downloaded through short-lived signed links.
  • Push notifications with the app closed, never carrying the message text; online presence, typing indicator and unread counts in real time. Installable as an app.
  • PIN or passphrase vault to recover the private key on another device; accounts only by invitation from the department manager.

Infrastructure

  • React 19, Vite and Tailwind on the front end; Node serverless functions on Vercel, with a daily cron that collects orphaned files.
  • Supabase: Postgres with RLS on every table, Realtime, private Storage, Auth and an Edge Function for push.
  • WhatsApp Cloud API (Meta) with signature-verified webhook and the 24-hour window respected; audio and video transcoded with ffmpeg into formats WhatsApp accepts.
  • Turnstile, rate limiting, CSP and HSTS; Sentry with minimal telemetry; CI with lint, typecheck, tests, Playwright e2e and a load test.

What it solves

  • Cuts three or four open apps down to one.
  • Customers on WhatsApp get answered faster, because the message already lands in the right department.
  • A request made mid-conversation doesn't get lost: it becomes a mention and stays pending until done.
  • Internal conversations nobody outside can read — not even the database provider.
  • One place for the whole team, which shortens onboarding for newcomers.

Want something similar?

Tell me how your process works today. In a quick call I get to know the problem and send a proposal with scope, timeline and price.