Source: https://seerepo.com/r/seerr-team/seerr/built
Markdown source: https://seerepo.com/r/seerr-team/seerr/built.md
Description: seerr is a TypeScript repo built with Next.js, React, and Express. It reaches it with TypeORM and signs people in with bcrypt and express-session.

# What is seerr built with?

seerr is a TypeScript repo built with Next.js, React, and Express. It reaches it with TypeORM, signs people in with bcrypt and express-session, makes its content with react-markdown, email-templates, xml2js, js-yaml, and nodemailer, validates its data with yup, validator, Zod, and express-openapi-validator, is tested with supertest and cy-mobile-commands, deploys with winston and winston-daily-rotate-file, and uses lru-cache. It has 106,452 written lines, with 44 test files.

Read on November 10, 2026, at commit 3f7d5c3.

Repository: https://github.com/seerr-team/seerr

## Frontend

### The base

- **[Next.js](https://seerepo.com/uses/nextjs)**: 180 files · [in package.json](https://github.com/seerr-team/seerr/blob/3f7d5c3bd2aff1af49f4a06e277f7dee0c2f2f14/package.json)
- **[React](https://seerepo.com/uses/react)**: 135 files · [in package.json](https://github.com/seerr-team/seerr/blob/3f7d5c3bd2aff1af49f4a06e277f7dee0c2f2f14/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 2 files
- **@fontsource-variable/inter**: 1 file

### Interface

- **[Formik](https://seerepo.com/uses/formik)**: 44 files
- **[Headless UI](https://seerepo.com/uses/headless-ui)**: 35 files
- **[react-select](https://seerepo.com/uses/react-select)**: 10 files
- **[react-intersection-observer](https://seerepo.com/uses/react-intersection-observer)**: 6 files
- **[react-hot-toast](https://seerepo.com/uses/react-hot-toast)**: 2 files
- **react-popper-tooltip**: 2 files
- **@react-spring/web**: 1 file
- **ace-builds**: 1 file
- **react-ace**: 1 file
- **react-animate-height**: 1 file
- **[react-aria](https://seerepo.com/uses/react-aria)**: 1 file
- **[react-transition-group](https://seerepo.com/uses/react-transition-group)**: 1 file
- **swagger-ui-express**: 1 file

### Icons

- **[@heroicons/react](https://seerepo.com/uses/heroicons-react)**: 108 files
- **[country-flag-icons](https://seerepo.com/uses/country-flag-icons)**: 3 files

## Backend

### The base

- **[Express](https://seerepo.com/uses/express)**: 29 files · [in package.json](https://github.com/seerr-team/seerr/blob/3f7d5c3bd2aff1af49f4a06e277f7dee0c2f2f14/package.json)

### Data

- **[lru-cache](https://seerepo.com/uses/lru-cache)**: 1 file

### Data access

- **TypeORM**: 104 files

### Sign-in

- **[bcrypt](https://seerepo.com/uses/bcrypt)**: 1 file
- **[express-session](https://seerepo.com/uses/express-session)**: 1 file

## Support

### Content

- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 3 files
- **email-templates**: 2 files
- **[xml2js](https://seerepo.com/uses/xml2js)**: 2 files
- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 1 file
- **[nodemailer](https://seerepo.com/uses/nodemailer)**: 1 file

### Validation

- **[yup](https://seerepo.com/uses/yup)**: 35 files
- **[validator](https://seerepo.com/uses/validator)**: 8 files
- **[Zod](https://seerepo.com/uses/zod)**: 8 files
- **express-openapi-validator**: 1 file

### Testing

- **supertest**: 7 files
- **cy-mobile-commands**: 1 file

### Deploy

- **[winston](https://seerepo.com/uses/winston)**: 1 file
- **[winston-daily-rotate-file](https://seerepo.com/uses/winston-daily-rotate-file)**: 1 file

### Tools

- **commander**: 1 file

### Other

- **react-intl**: 161 files
- **Axios**: 102 files
- **SWR**: 100 files
- **Lodash**: 28 files
- **axios-rate-limit**: 2 files
- **formatjs**: 2 files
- **node-schedule**: 2 files
- **web-push**: 2 files
- **bowser**: 1 file
- **cookie-parser**: 1 file
- **copy-to-clipboard**: 1 file
- **cronstrue**: 1 file
- **express-rate-limit**: 1 file
- **http-proxy-agent**: 1 file
- **https-proxy-agent**: 1 file
- **humanize-duration**: 1 file
- **ip-address**: 1 file
- **mime**: 1 file
- **nanoid**: 1 file
- **openpgp**: 1 file
- **SemVer**: 1 file
- **ua-parser-js**: 1 file
- **undici**: 1 file

## Other repos with a similar stack

- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost/built): React, Express, lru-cache, Tailwind CSS, tailwind-merge, Headless UI, country-flag-icons, express-session, js-yaml, nodemailer, validator, Zod · [Compare](https://seerepo.com/compare/seerr-team/seerr/vs/TryGhost/Ghost)
- [ToolJet/ToolJet](https://seerepo.com/r/ToolJet/ToolJet/built): React, Express, Tailwind CSS, tailwind-merge, react-select, react-hot-toast, TypeORM, bcrypt, react-markdown, nodemailer, winston, winston-daily-rotate-file · [Compare](https://seerepo.com/compare/seerr-team/seerr/vs/ToolJet/ToolJet)
- [LibreChat-AI/LibreChat](https://seerepo.com/r/LibreChat-AI/LibreChat/built): React, Express, Tailwind CSS, tailwind-merge, Headless UI, @react-spring/web, express-session, js-yaml, Zod, winston, winston-daily-rotate-file · [Compare](https://seerepo.com/compare/LibreChat-AI/LibreChat/vs/seerr-team/seerr)
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty/built): React, Express, react-intersection-observer, country-flag-icons, TypeORM, bcrypt, express-session, react-markdown, nodemailer, Zod · [Compare](https://seerepo.com/compare/seerr-team/seerr/vs/twentyhq/twenty)
- [strapi/strapi](https://seerepo.com/r/strapi/strapi/built): React, Tailwind CSS, Formik, react-select, react-markdown, nodemailer, yup, Zod, winston · [Compare](https://seerepo.com/compare/seerr-team/seerr/vs/strapi/strapi)
- [calcom/cal.diy](https://seerepo.com/r/calcom/cal.diy/built): Next.js, React, lru-cache, Tailwind CSS, tailwind-merge, react-select, nodemailer, Zod, winston · [Compare](https://seerepo.com/compare/calcom/cal.diy/vs/seerr-team/seerr)

## Frequently asked questions

### What language is seerr written in?

seerr is written in TypeScript, with 106,452 written lines.

### What framework does seerr use?

seerr is built with Next.js, React, and Express.

The proof: [in package.json](https://github.com/seerr-team/seerr/blob/3f7d5c3bd2aff1af49f4a06e277f7dee0c2f2f14/package.json)

### What does seerr sign people in with?

seerr signs people in with bcrypt and express-session.

### What services does seerr use?

seerr uses lru-cache.

### Does seerr have tests?

Yes. seerr has 44 test files and is tested with supertest and cy-mobile-commands.

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

The ones that share most of its stack: TryGhost/Ghost, ToolJet/ToolJet, and LibreChat-AI/LibreChat.

## 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.
