Our Tech Stack
Domains
We use AWS Route 53 & Vercel to manage all our domains and DNS records.
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:
- Amazon SES for transactional email (e.g., verifications, alerts).
- WhatsApp Cloud API for all WhatsApp messaging.
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:
- Next.js hosted on Vercel
- Tailwind CSS for styling
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 the latest version of Google
Gemini.
It powers documentation generation, code assistance, and intelligent routing in our
product.