Source: https://seerepo.com/r/toeverything/AFFiNE/built
Markdown source: https://seerepo.com/r/toeverything/AFFiNE/built.md
Description: AFFiNE is a TypeScript repo built with React, Vite, and Express. It stores its data in Redis and Postgres and watches its errors with Sentry.

# What is AFFiNE built with?

AFFiNE is a TypeScript repo built with React, Vite, and Express. It stores its data in Redis and Postgres and watches its errors with Sentry. It has 7,022 files and 1,015,236 written lines, with 772 test files.

Read on October 27, 2026, at commit 8cef09e.

Repository: https://github.com/toeverything/AFFiNE

## Frontend

### The base

- **[React](https://seerepo.com/uses/react)**: [in package.json](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/package.json)
- **[Vite](https://seerepo.com/uses/vite)**: [in package.json](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/package.json)

## Backend

### The base

- **Express**: [in package.json](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/package.json)

### Data

- **[Redis](https://seerepo.com/uses/redis)**: 6 files · [packages/backend/server/src/base/cache/provider.ts, line 1](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/packages/backend/server/src/base/cache/provider.ts#L1)
- **[Postgres](https://seerepo.com/uses/postgres)**: 1 file · [packages/backend/server/schema.prisma, line 9](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/packages/backend/server/schema.prisma#L9)

### Services

- **Sentry**: 9 files · [packages/frontend/admin/src/app.tsx, line 3](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/packages/frontend/admin/src/app.tsx#L3)

## Other repos with a similar stack

- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): React, Vite, Redis, Postgres · [Compare](https://seerepo.com/compare/datawhalechina/hello-agents/vs/toeverything/AFFiNE)
- [ruvnet/ruflo](https://seerepo.com/r/ruvnet/ruflo/built): React, Vite, Express, Postgres · [Compare](https://seerepo.com/compare/ruvnet/ruflo/vs/toeverything/AFFiNE)
- [firecrawl/firecrawl](https://seerepo.com/r/firecrawl/firecrawl/built): Express, Redis, Postgres · [Compare](https://seerepo.com/compare/firecrawl/firecrawl/vs/toeverything/AFFiNE)
- [langflow-ai/langflow](https://seerepo.com/r/langflow-ai/langflow/built): React, Vite, Redis · [Compare](https://seerepo.com/compare/langflow-ai/langflow/vs/toeverything/AFFiNE)
- [immich-app/immich](https://seerepo.com/r/immich-app/immich/built): Express, Redis, Postgres · [Compare](https://seerepo.com/compare/immich-app/immich/vs/toeverything/AFFiNE)
- [supabase/supabase](https://seerepo.com/r/supabase/supabase/built): React, Vite, Sentry · [Compare](https://seerepo.com/compare/supabase/supabase/vs/toeverything/AFFiNE)

## Frequently asked questions

### What language is AFFiNE written in?

AFFiNE is written in TypeScript: 7,022 files and 1,015,236 written lines.

### What framework does AFFiNE use?

AFFiNE is built with React, Vite, and Express.

The proof: [in package.json](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/package.json)

### What database does AFFiNE use?

AFFiNE stores its data in Redis and Postgres.

The proof: [packages/backend/server/src/base/cache/provider.ts, line 1](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/packages/backend/server/src/base/cache/provider.ts#L1)

### What services does AFFiNE use?

AFFiNE watches its errors with Sentry.

The proof: [packages/frontend/admin/src/app.tsx, line 3](https://github.com/toeverything/AFFiNE/blob/8cef09e1dd62b47a3cbc9f352aa10b3a90c75d34/packages/frontend/admin/src/app.tsx#L3)

### Does AFFiNE have tests?

Yes. AFFiNE has 772 test files.

### Which repos have a stack like AFFiNE's?

The ones that share most of its stack: datawhalechina/hello-agents, ruvnet/ruflo, and firecrawl/firecrawl.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
