learn

Tech stack

Every external library, grouped by category, with its reason.

Every library below is declared in some workspace manifest — names, version ranges, and categories come from the data, and the build fails if the list drifts. "Used in" points at the folders that import each library.

Language and build

@types/reactDeclared but not used in source

Type declarations for React.

Used in: Web, UI

@types/bcryptDeclared but not used in source

Type declarations for bcrypt.

Used in: Auth

@types/pgDeclared but not used in source

Type declarations for node-postgres.

Used in: Database

Frontend framework

Next.js

Serves the editor, dashboard, and room pages.

Used in: Web

React

Renders the editor, dashboard, and room interface.

Used in: Web, UI

React DOM

Renders React trees into the browser document.

Used in: Web

UI and styling

State

JotaiDeclared but not used in source

Declared in apps/web but never imported in source.

Used in: Web

Realtime and queues

BullMQ

Durable flush queue between Redis and the worker.

Used in: Redis

ioredis

Redis client behind live snapshots and pub/sub.

Used in: Redis

Backend framework

Database and ORM

Prisma CLIDeclared but not used in source

Command line behind the database migration scripts.

Used in: Database

Auth and email

Better Auth

Email sign-in, verification mail, and Google OAuth.

Used in: Auth

bcrypt

Hashes and verifies account passwords.

Used in: Auth

Validation

Testing

Linting and formatting

PrettierDeclared but not used in source

Formats TypeScript and Markdown behind the format script.

Used in: Monorepo

Monorepo tooling

TurboDeclared but not used in source

Orchestrates workspace builds, tests, and development.

Used in: Monorepo

Dependencies as of commit b0026d9.

Sources: package.json, pnpm-workspace.yaml, turbo.json, apps/web/package.json, apps/http-server/package.json, apps/ws-server/package.json, apps/flush-worker/package.json (documented at commit b0026d9)