What is atproto built with?

atproto is a TypeScript repo built with Express, Expo, Vite, React, and TanStack. It reaches its data with kysely, signs people in with jose, com.nimbusds:nimbus-jose-jwt, and @hcaptcha/react-hcaptcha, stores files in AWS S3, uses AI through lande, makes its content with sharp, nodemailer, and file-type, validates its data with Zod, @hapi/address, disposable-email-domains-js, and @standard-schema/spec, is tested with Jest, Vitest, and Puppeteer, deploys with @opentelemetry/semantic-conventions, pino, pino-http, OpenTelemetry, prom-client, and 2 more, and uses @aws-sdk/lib-storage, Postgres, Redis, SQLite, lru-cache, and 2 more. It has 385,793 written lines, with 556 test files.

Read on November 14, 2026, at commit 9f605e0. Read it as markdown

The card says what it's built with. Its whole map opens it up: every part of the code and how it connects to the rest.

Frontend

Backend

Data 7

Services 1

The base 1

Data access 1

Sign-in 3

  • @hcaptcha/react-hcaptcha1 file
  • jose9 files
  • com.nimbusds:nimbus-jose-jwt2 files

AI 1

  • lande1 file

Support

Validation 4

Testing 4

  • Vitest297 files
  • Jest36 files
  • Puppeteer4 files
  • jose1 file

Content 3

Deploy 7

Tools 7

  • ts-morph7 files
  • Prettier3 files
  • yargs2 files
  • Rolldown1 file
  • get-port9 files
  • commander1 file
  • import-in-the-middle1 file

Other 40

  • lingui93 files
  • connectrpc51 files
  • multiformats17 files
  • @bufbuild/protobuf15 files
  • @tanstack/react-query9 files
  • core-js9 files
  • noble8 files
  • undici7 files
  • opentelemetry5 files
  • OpenTelemetry5 files
  • @noble/curves4 files
  • hapi3 files
28 more
  • @growthbook/growthbook2 files
  • aws-sdk2 files
  • chalk1 file
  • expo-web-browser1 file
  • ua-parser-js1 file
  • uint8arrays25 files
  • http-terminator11 files
  • http-errors10 files
  • ws10 files
  • p-queue8 files
  • clsx4 files
  • cors4 files
  • compression3 files
  • ipaddr.js2 files
  • structured-headers2 files
  • await-lock1 file
  • body-parser1 file
  • cborg1 file
  • cookie1 file
  • express-async-errors1 file
  • mime1 file
  • mime-types1 file
  • murmurhash1 file
  • rate-limiter-flexible1 file
  • react-native-url-polyfill1 file
  • strtok31 file
  • tlds1 file
  • unicode-segmenter1 file

Other repos with a similar stack

Ordered by how much of its stack they share with atproto, then by stars.

Frequently asked questions

What language is atproto written in?
atproto is written in TypeScript, with 385,793 written lines.
What framework does atproto use?
atproto is built with Express, Expo, Vite, React, and TanStack.

The proof: in packages/pds/package.json

What does atproto sign people in with?
atproto signs people in with jose, com.nimbusds:nimbus-jose-jwt, and @hcaptcha/react-hcaptcha.
Does atproto use AI?
Yes. atproto uses AI through lande.
What services does atproto use?
atproto stores files in AWS S3 and uses @aws-sdk/lib-storage, Postgres, Redis, SQLite, lru-cache, react-native-mmkv, and @opentelemetry/instrumentation-ioredis.

The proof: packages/aws/src/s3.ts, line 2

Does atproto have tests?
Yes. atproto has 556 test files and is tested with Jest, Vitest, and Puppeteer.
Which repos have a stack like atproto's?
The ones that share most of its stack:payloadcms/payloadruvnet/ruflocalcom/cal.diy

See inside your code, today.

Paste your repo and see it drawn, part by part: a medium one in under a minute.

Free, no account.

Or look inside SeeRepo's own →

Is it your repo? Add its badge, keep it up to date or take it down →