Skip to main content
Comparison progress
intermediatePage 3 of 7

Stack, Architecture, and Hosting

Languages, frameworks, databases, hosting, and infrastructure compared across solo / small / large company scales.

Stack, Architecture, and Hosting

In one line: A solo dev runs one Next.js app on Vercel free tier; a startup runs a modular monolith plus a few SaaS pieces; an enterprise runs hundreds of polyglot services on self-managed Kubernetes across multiple regions.

In plain English

You can predict an org's scale from a one-minute look at its stack diagram. One service + managed DB + free CDN = solo. Modular monolith + a few SaaS pieces (Clerk, Resend, PostHog) = startup. Microservices + service mesh + multi-region Kubernetes + custom CDN = enterprise.

Each step adds capability and cost. The question is never "which is best?" — it's "which is right for your scale?"

Stack and Architecture

LayerPersonalSmall CompanyLarge Company
ArchitectureMonolithModular monolithMicroservices / SOA
LanguageTypeScriptTypeScript (mostly)Polyglot (TS, Python, Go, Java, Rust, etc.)
FrontendNext.js or AstroNext.jsCustom frameworks + design system + micro-frontends
BackendNext.js Server ActionsNext.js + tRPC or HonoMany services in various languages
API styleServer ActionstRPC / RESTgRPC internal + REST/GraphQL external
DatabaseFree Postgres tierManaged Postgres ($25–500/mo)Sharded Postgres / Spanner / DynamoDB / multiple
CacheNoneRedis (Upstash) when neededDistributed cache fleet
Queue/jobsVercel cron + ad hocTrigger.dev / InngestKafka + dedicated job platform
AuthClerk / Better AuthClerk / Auth0Custom + Okta/WorkOS for SSO
EmailResendResend / PostmarkAWS SES at scale + ESP for marketing
FilesCloudflare R2R2 / S3S3 + custom CDN
SearchPostgres FTSTypesense / MeilisearchElasticsearch cluster (or custom)
ObservabilitySentry + VercelSentry + PostHog + Better StackDatadog / Honeycomb + custom
PaymentsStripeStripeStripe + custom + multi-PSP
Feature flagsNonePostHog / StatsigLaunchDarkly / Statsig / custom

A handful of patterns hold across every row:

  • Solo uses managed services and free tiers; the goal is to spend zero on infrastructure and zero engineering hours on plumbing.
  • Small company is mostly SaaS-glued-together; the goal is to never operate anything you can rent.
  • Large company runs internal versions of most of the above, customized for scale and compliance.

For the deep dive on enterprise architecture, see Phase 3: Architecture.

Hosting and Infrastructure

AspectPersonalSmall CompanyLarge Company
HostingVercel free tierVercel Pro / RailwaySelf-managed K8s on AWS/GCP/Azure
Compute modelServerlessServerless or containersKubernetes (often)
Multi-regionNoSingle region usuallyMulti-region active-active
Multi-AZN/AProvider handles itMandatory
CDNVercel built-inVercel / CloudflareMultiple CDNs (Cloudflare + Akamai + ...)
DNSVercel / CloudflareCloudflareRoute 53 / custom
Load balancerN/AProvider-managedCustom + Envoy / NGINX
Service meshNoneNoneIstio / Linkerd
IaCNone (manual)Light TerraformComprehensive Terraform/Pulumi
Secrets.env + Vercel UIDoppler / 1PasswordHashiCorp Vault / cloud-native
Highlight: Kubernetes is not a startup tool

The single most common stack mistake at small companies is adopting Kubernetes too early. Kubernetes is a fantastic answer to problems you have at 200+ engineers and 50+ services. At 5 engineers and 1 service, it's a permanent tax on every deploy.

The 2026 startup default is: Vercel/Render/Fly/Railway until you actually outgrow them. Most teams never need anything else.

Worked example: same product, three stacks

Imagine three versions of a small SaaS app — say, a project-management tool — at different scales:

  • Solo founder: Next.js + Postgres on Neon + Clerk + Stripe + Resend, all on Vercel. Total monthly bill: under $50. Architecture diagram fits on a napkin.
  • 30-engineer startup: Same Next.js app, now a modular monolith. Postgres on Supabase or RDS. Redis for sessions. PostHog for analytics. Trigger.dev for background jobs. Total monthly bill: ~$2K.
  • 2,000-engineer enterprise: Custom React frontend + design system + module federation across teams. Dozens of backend services (Go, Java, Python). Postgres sharded by tenant. Kafka for events. Custom auth + Okta SSO. Total monthly bill: ~$5M.

Same product, radically different stack. Each is correct for its scale; copying either of the others would be a mistake.

Common mistakes

Where people commonly trip up
  • Copying a FAANG architecture diagram into a 5-person startup. Microservices, service mesh, multi-region active-active, Kafka — none of that pays off until you have the team to run it. At your scale a single Next.js app on Vercel will outship the "proper" architecture every time.
  • Treating "modular monolith" as a stepping stone you must outgrow. Most products that reach $100M ARR are still modular monoliths. Plan to stay there. Splitting into services should be triggered by a concrete problem (team boundaries, scaling hot paths) — not by hitting an arbitrary revenue or headcount milestone.
  • Reading the polyglot enterprise column as aspirational. Five languages in your stack is a cost large companies absorb because they can't agree on one, not a feature. At small scale, TypeScript end-to-end is a competitive advantage — guard it.
  • Self-hosting to "save money" before counting engineering hours. A solo dev moving off Vercel to a $5 VPS saves $15/month and burns a weekend every quarter on patches and incidents. Until your hosting bill is a meaningful slice of payroll, managed wins. (See the Economics page.)
  • Picking tools from the enterprise column for resume credibility. Running Kubernetes, Kafka, and Istio on a 3-service product won't impress a serious interviewer — it'll raise flags about judgment. Use the tool that fits the problem and explain why in the interview.

Page checkpoint

Checkpoint Quiz

Did stack and hosting across scales stick?

Required

What's next

→ Continue to Development — how each scale actually builds, tests, and ships its code.