All projects

May 2026 · present · Cofounder and development lead

Techlithy CRM

Multi-tenant SaaS for sales teams that sell through WhatsApp and Instagram

A CRM that brings WhatsApp, Instagram and email conversations into one real-time screen, with a kanban pipeline, automated campaigns and AI agents with human approval. Used by 4 companies that together run more than 20 schools.

WhatsApp and Instagram conversations in one screen, with the lead's record one click away

The problem

Sales teams, such as school and course admissions teams, handle leads on WhatsApp, Instagram, email and ad forms at the same time. With conversations spread across apps and spreadsheets, leads get lost, nobody knows who is handling whom, and management has no reliable numbers.

The product

  • WhatsApp, Instagram and email in one screen, in real time, showing who is online and letting the team assign and transfer conversations.
  • Kanban pipeline where the card moves forward when the lead replies or books a visit, with automatic distribution among agents and reassignment of leads that stall.
  • Configurable triage bot that creates leads and follows each unit's opening hours and holidays.
  • WhatsApp and email campaigns by segment, automated sequences for each funnel stage, and visual editors for flows and emails.
  • AI Center with agents that diagnose each unit daily, review conversations and suggest the next message for stalled leads, always with human approval.
  • KPI dashboards by role, cost control by unit, training tracks and an audit log of access and downloads.

Architecture

The frontend is a React 19 SPA with TanStack Router and Query. The backend is a NestJS API organized in layers (domain, application, infrastructure and presentation), with architecture rules enforced by lint and tests.

A single deployment serves every client. Data is isolated per company in the database, and one person can belong to several companies and switch between them during a session without logging in again. BullMQ queues process messages, campaigns, imports and AI jobs, and Socket.IO delivers messages to the screen in real time.

  • PostgreSQL, Redis and S3-compatible storage (MinIO).
  • Observability with OpenTelemetry and self-hosted SigNoz.
  • Integrations with the WhatsApp Cloud API, Instagram, Meta Lead Ads, Gmail and AI providers, with encrypted keys and a monthly cost cap per company.
  • Compliance with the LGPD, Brazil's data protection law: lead anonymization, per-company retention and an audit trail.
Techlithy CRM architectureThe browser and the channel webhooks come in through Cloudflare and Nginx. The NestJS API and the BullMQ workers run in Docker on a VPS, with PostgreSQL, Redis, MinIO and SigNoz. The workers talk to Meta and to the AI providers. CI on GitHub Actions ships each release with a zero-downtime rollout.VPS · Docker ComposeExternal servicesBrowserReact 19 + TanStack SPAChannels and adsWhatsApp, Instagram, Lead AdsCloudflare + NginxTLS, static files, WebSocket and webhooksAPI NestJSREST · Socket.IO · layersWorkers BullMQmessage, campaign and AI queuesPostgreSQLmulti-tenantRedisqueues and cacheMinIOfiles (S3)SigNozOpenTelemetryMeta Graph APIWhatsApp and InstagramGmail APIAI providersOpenAI, Anthropic…CI/CDGitHub Actions → GitHub, AWS spot or VPS runners → zero-downtime rollout
Techlithy CRM architecture

Infrastructure and deployment

  • Zero-downtime deployment on a VPS without an orchestrator: the new version starts next to the old one, migrations run before the switch, and traffic only moves once the container is healthy. In a lab test, all 47,000 requests made during a rollout returned 200.
  • Three-tier CI with automatic failover: free GitHub minutes, ephemeral EC2 spot runners on AWS and self-hosted runners on the VPS.
  • AWS infrastructure in Terraform, with plan on the PR, apply on merge, and access through OIDC instead of static keys.
  • A central workflows repository keeps every company repository on the same CI, deployment and dependency update standards.

Quality

  • On every pull request: unit and integration tests on the backend, with real Postgres and Redis through Testcontainers, and every migration applied to an empty database.
  • Component and business rule tests on the frontend.
  • Demo mode that runs entirely in the browser, with mocks that follow the API contract, used in sales and to generate the training videos automatically.

Problems it solves

Screens

Next projectEnsina Mais e-commerce