Tech stack

How we build on AWS

We're tool-agnostic but opinionated. Every choice here is driven by real production experience — we recommend what works, not what's trendy.

Backend / API

We design backend systems around the specific traffic shape, team size, and operational model of each client. There's no one-size-fits-all.

API Gateway + Lambda

Recommended

Best for event-driven, spiky, or latency-tolerant workloads. Minimal ops overhead. Our default for greenfield serverless APIs.

Serverless
AWS native

ALB + ECS Fargate

Recommended

Container-based workloads without the complexity of Kubernetes. Excellent for long-running processes, websockets, and steady-traffic APIs.

Containers
Managed

ALB + Autoscaling EC2

When you need maximum control or have specific CPU/memory requirements. Higher ops overhead — we use this when Fargate isn't the right fit.

EC2
Self-managed

AppSync (GraphQL) + Lambda

Real-time subscriptions, flexible data fetching, and tight Cognito integration. Strong fit for mobile-first and multi-client products.

GraphQL
Real-time

EKS (Kubernetes)

When you need Kubernetes specifically — multi-cloud portability, a large existing K8s ecosystem, or advanced scheduling. We discourage over-adoption.

Kubernetes
Complex

Data & Storage

Storage decisions compound over time. We pick based on access patterns, consistency requirements, and operational cost — not hype.

RDS (PostgreSQL / Aurora)

Recommended

Relational data with ACID guarantees. Aurora Serverless v2 for variable workloads. Our default for most application databases.

Relational
ACID

DynamoDB

Single-digit millisecond latency at any scale. Best when you know your access patterns up front. Excellent for session stores, leaderboards, and event logs.

NoSQL
Serverless

S3 + CloudFront

Recommended

Object storage and CDN distribution. Static assets, user uploads, data lakes, and backups. Nearly always part of the stack in some capacity.

Object storage
CDN

ElastiCache (Redis)

Caching, pub/sub, and rate limiting. We add this when latency data shows clear cache-hit opportunities.

Cache
Redis

OpenSearch

Full-text search, log aggregation, and analytics. We prefer it over RDS-based search for anything at scale.

Search
Analytics

Async & Event-Driven

Decoupling services with events and queues dramatically improves resilience and scalability. These are our go-to patterns.

SQS + Lambda

Recommended

Reliable message processing with built-in retry logic, dead-letter queues, and concurrency controls. Our default async pattern.

Queue
Serverless

EventBridge

Recommended

Event routing and schema registry across services and AWS accounts. Excellent for microservice choreography and third-party integrations.

Event bus
Routing

SNS

Fan-out notifications to multiple subscribers. We use it when the same event needs to reach multiple downstream systems.

Pub/Sub
Fan-out

Step Functions

Complex workflows with branching, retries, and parallel execution. Better than hand-coded orchestration for multi-step processes.

Orchestration
Workflows

Kinesis

High-throughput streaming data at scale. We use this for real-time analytics, log ingestion, and clickstream data.

Streaming
High-volume

Networking & Edge

Getting networking right early prevents painful migrations later. We design VPCs, routing, and edge layers that scale with you.

VPC + Subnets + NAT Gateway

Recommended

Proper multi-AZ network isolation with public, private, and isolated subnet tiers. The foundation of any production environment.

Foundational

CloudFront + WAF

Recommended

Global CDN with managed rule groups for DDoS and OWASP threat protection. We add WAF to every customer-facing endpoint.

CDN
Security

Route 53

DNS management with health-check-based routing and failover. Handles multi-region and blue/green deployments cleanly.

DNS
Routing

PrivateLink / Transit Gateway

Private connectivity between VPCs and on-premises networks without traversing the public internet.

Private networking

Security & Identity

Security isn't a layer you add — it's designed in. These are the services we use to build defense-in-depth on every engagement.

IAM (roles, policies, boundaries)

Recommended

Least-privilege access across every resource. We design IAM architectures that are auditable, maintainable, and secure.

Foundational
Critical

AWS Organizations + SCPs

Multi-account governance and guardrails. Service Control Policies prevent privilege escalation and enforce security baselines.

Multi-account
Governance

Secrets Manager + KMS

Recommended

Encrypted secrets with automatic rotation. We migrate away from environment variables for all sensitive configuration.

Secrets
Encryption

GuardDuty + Security Hub

Recommended

Continuous threat detection and centralized security findings. We enable these on day one of every engagement.

Threat detection
Monitoring

CloudTrail + Config

Immutable audit logs and configuration drift detection. Required for SOC 2 and HIPAA. We implement these as immutable S3 buckets.

Audit
Compliance

Cognito

Managed user pools with MFA, social login, and OIDC federation. We use it for most customer-facing auth needs.

Auth
User management

Frontend

We build frontend applications and help clients choose the right hosting strategy for their performance and operational goals.

React + TypeScript + Vite

Recommended

Our primary frontend stack for new applications. Fast builds, excellent tooling, and a massive ecosystem.

Primary stack

S3 + CloudFront (static hosting)

Recommended

The right choice for SPAs and static sites. Global CDN, near-zero cost at scale, and zero ops overhead.

Hosting
Serverless

Next.js on Lambda@Edge / App Runner

SSR when SEO or time-to-first-byte requirements demand it. We pair this with CloudFront for edge rendering.

SSR
SEO

Mantine / Shadcn/ui / Tailwind

We work with whatever component library or design system the client has. Mantine is our default for new projects.

UI

Infrastructure as Code

All infrastructure we build is version-controlled, reproducible, and deployable without manual steps.

AWS CDK (TypeScript)

Recommended

Our preferred IaC tool. Type-safe, composable, and produces CloudFormation under the hood. Excellent for complex, multi-account environments.

Primary IaC

Terraform

When clients have existing Terraform infrastructure or multi-cloud requirements. We write idiomatic HCL with proper state management.

Multi-cloud

CloudFormation

We work with raw CloudFormation when required (existing stacks, specific tooling requirements). We prefer CDK for new development.

AWS native

CI/CD & Containers

Automated pipelines, repeatable builds, and container infrastructure that keeps your team shipping confidently.

GitHub Actions

Recommended

Our default CI/CD platform. Fast, well-integrated with CDK and ECR, and easy to audit.

Primary CI/CD

AWS CodePipeline / CodeBuild

When everything needs to stay within AWS. Good for compliance environments with strict egress controls.

AWS native

ECR + Fargate

Recommended

Container registry and serverless container execution. Our default containerized compute stack.

Containers

Docker + BuildKit

Efficient multi-stage builds with layer caching. We optimize Dockerfiles for both build speed and image size.

Containers

Observability & Operations

You can't fix what you can't see. We instrument everything — traces, metrics, and structured logs from day one.

CloudWatch (Metrics, Logs, Alarms)

Recommended

AWS-native observability. We set up dashboards, anomaly detection, and actionable alarms — not noise alarms.

AWS native

OpenTelemetry + AWS X-Ray

Recommended

Distributed tracing across services. We instrument services with OTel and use X-Ray for end-to-end trace visibility.

Tracing

Datadog / Grafana

When clients need richer dashboards or multi-cloud observability. We integrate with whatever the team already uses.

Third-party

Platforms we support (but don't default to)

We help clients maintain or migrate off these platforms when AWS is the right long-term direction.

AWS Amplify

Useful for simple frontends. We support clients using it and help those who have outgrown it migrate to a more flexible setup.

Limited use

Elastic Beanstalk / Lightsail

We help clients maintain these environments. For new workloads, we recommend Fargate or Lambda instead.

Legacy migration

Heroku / Railway / Render

Valid choices for early-stage products. We help clients migrate to AWS when the cost/control tradeoff tips.

Migration target

Vercel / Netlify

Excellent for frontend teams. We integrate these with AWS backends and help clients migrate when they need more control.

Frontend PaaS

Have questions about our approach?

Every engagement is different. Tell us what you're building and we'll explain how we'd approach it.

Get in touch