Our Tech Stack

Milan Motavar
By Milan MotavarSeptember 20253 min read

We're building developer-first WhatsApp infrastructure. Our stack reflects three priorities: scalability, security, and developer experience. Here's a breakdown of what powers our platform.

Domains

We use AWS Route 53 to manage all our domains and DNS records. It gives us flexibility for subdomains (e.g., api.sendzen.io, app.sendzen.io) and works smoothly with our AWS infrastructure.

Auth

Authentication is handled by AWS Cognito. It supports email/password, multi-factor authentication, and OAuth providers.

We layer our own organization model on top, so accounts can support multiple members, roles, and white-label setups.

Infrastructure

Our backend runs in a serverless and container mix:

  • AWS Lambda → powers high-scale messaging APIs and webhook ingestion.
  • API Gateway → exposes our APIs under api.sendzen.io.
  • AWS App Runner → runs longer-lived workloads like dashboard, billing, and API key management.

This setup lets us scale messaging separately from account operations.

APIs

All APIs are written in .NET Core 8 (C#).

We prefer its performance and reliability for handling high-throughput messaging and structured data workflows.

Storage

We run a hybrid storage model:

  • SQL Server on RDS → relational data like accounts, billing, and roles.
  • DynamoDB → high-velocity message logs and webhook events.
  • S3 → object storage for exports, logs, and backups.

Queuing

Amazon SQS is our backbone for buffering.

It smooths spikes in traffic and prevents downstream systems from being overloaded during campaigns.

Messaging

We integrate with two channels:

Our value is in abstracting Meta's complexity into a simple, developer-friendly layer.

Monitoring

We use AWS CloudWatch for metrics, logging, and alarms.

It helps us spot issues early, track message delivery, and optimize performance.

Frontend

Both our marketing site and dashboard run on:

We aim for a clean, developer-focused design with a Stripe-like experience.

Workflow

We track engineering work in Linear.

Its simplicity and integrations help us stay focused without process overhead.

Documentation

We use Apidog to generate and publish API documentation.

It keeps our OpenAPI specs in sync and makes onboarding developers faster.

AI

For AI-assisted features and internal workflows, we use Gemini 2.5 Pro.

It powers documentation generation, code assistance, and intelligent routing in our product.

Closing Thoughts

Our stack is deliberately simple but scalable. We've chosen tools that balance developer speed with enterprise-grade reliability. Some areas will evolve — we're exploring more observability tools beyond CloudWatch, and we know UI tests are missing.

But the foundation is solid: a fast, reliable API layer that any developer can use to send their first WhatsApp message in under 5 minutes.

Our Tech Stack - SendZen Blog | SendZen