Source: https://seerepo.com/r/liketrek/TREK/built
Markdown source: https://seerepo.com/r/liketrek/TREK/built.md
Description: TREK is a TypeScript repo built with Vite, React, React Router, Express, @nestjs/core, and 1 more. It stores its data in dexie and SQLite.

# What is TREK built with?

TREK is a TypeScript repo built with Vite, React, React Router, Express, @nestjs/core, and 1 more. It stores its data in dexie and SQLite, reaches it with mikro-orm and kysely, signs people in with @simplewebauthn/browser, bcryptjs, jsonwebtoken, @simplewebauthn/server, helmet, and 1 more, uses AI through @assistant-ui/react, makes its content with react-markdown, remark-gfm, remark-breaks, sharp, rehype-sanitize, and 9 more, validates its data with Zod and nestjs-zod, and is tested with Vitest, Testing Library, msw, @playwright/test, fake-indexeddb, and 2 more. It has 2,173,833 written lines, with 3,464 test files.

Read on November 8, 2026, at commit dc36c21.

Repository: https://github.com/liketrek/TREK

## Frontend (client)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in client/package.json](https://github.com/liketrek/TREK/blob/dc36c21c08f681fd2806764fad8e17b270f6f175/client/package.json)
- **[React](https://seerepo.com/uses/react)**: 1,181 files · [in client/package.json](https://github.com/liketrek/TREK/blob/dc36c21c08f681fd2806764fad8e17b270f6f175/client/package.json)
- **[React Router](https://seerepo.com/uses/react-router)**: 84 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **fontsource**: 2 files

### Interface

- **[Leaflet](https://seerepo.com/uses/leaflet)**: 21 files
- **react-leaflet**: 21 files
- **Mapbox**: 13 files
- **[MapLibre](https://seerepo.com/uses/maplibre)**: 6 files
- **plyr**: 1 file
- **[react-dropzone](https://seerepo.com/uses/react-dropzone)**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 804 files

## Backend (client)

### Data

- **[dexie](https://seerepo.com/uses/dexie)**: 4 files

### Sign-in

- **@simplewebauthn/browser**: 2 files

### AI

- **@assistant-ui/react**: 10 files

## Support (client)

### Content

- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 28 files
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 26 files
- **[remark-breaks](https://seerepo.com/uses/remark-breaks)**: 21 files
- **[sharp](https://seerepo.com/uses/sharp)**: 4 files
- **[rehype-sanitize](https://seerepo.com/uses/rehype-sanitize)**: 3 files
- **heic-to**: 1 file
- **modern-screenshot**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 1 file

### Testing

- **Vitest**: 1,477 files
- **Testing Library**: 664 files
- **msw**: 325 files
- **@playwright/test**: 88 files
- **fake-indexeddb**: 48 files

### Tools

- **TypeScript**: 1 file

### Other

- **zustand**: 57 files
- **Axios**: 8 files

## Frontend (plugin-sdk)

### Interface

- **[@clack/prompts](https://seerepo.com/uses/clack-prompts)**: 1 file

## Support (plugin-sdk)

### Testing

- **Vitest**: 24 files

### Tools

- **update-notifier**: 1 file

### Other

- **SemVer**: 2 files

## Backend (server)

### The base

- **[Express](https://seerepo.com/uses/express)**: 124 files
- **[@nestjs/core](https://seerepo.com/uses/nestjs-core)**: 17 files

### Data

- **[SQLite](https://seerepo.com/uses/sqlite)**: 7 files · [server/reset-admin.js, line 15](https://github.com/liketrek/TREK/blob/dc36c21c08f681fd2806764fad8e17b270f6f175/server/reset-admin.js#L15)

### Data access

- **mikro-orm**: 572 files
- **[kysely](https://seerepo.com/uses/kysely)**: 11 files

### Sign-in

- **[bcryptjs](https://seerepo.com/uses/bcryptjs)**: 7 files
- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 5 files
- **[@simplewebauthn/server](https://seerepo.com/uses/simplewebauthn-server)**: 1 file
- **[helmet](https://seerepo.com/uses/helmet)**: 1 file
- **[otplib](https://seerepo.com/uses/otplib)**: 1 file

## Support (server)

### The base

- **[NestJS](https://seerepo.com/uses/nestjs)**: 620 files · [in server/package.json](https://github.com/liketrek/TREK/blob/dc36c21c08f681fd2806764fad8e17b270f6f175/server/package.json)

### Content

- **[jimp](https://seerepo.com/uses/jimp)**: 6 files
- **[fast-xml-parser](https://seerepo.com/uses/fast-xml-parser)**: 3 files
- **[nodemailer](https://seerepo.com/uses/nodemailer)**: 2 files
- **[pdf-parse](https://seerepo.com/uses/pdf-parse)**: 2 files
- **exifr**: 1 file
- **[qrcode](https://seerepo.com/uses/qrcode)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 83 files
- **nestjs-zod**: 79 files

### Testing

- **Vitest**: 1,214 files
- **supertest**: 158 files
- **@nestjs/testing**: 110 files

### Tools

- **ESLint**: 4 files
- **TypeScript**: 3 files
- **Prettier**: 2 files
- **typescript-eslint**: 1 file

### Other

- **multer**: 15 files
- **SemVer**: 8 files
- **rxjs**: 6 files
- **ws**: 3 files
- **cron**: 2 files
- **unzipper**: 2 files
- **uuid**: 2 files
- **.ENV**: 1 file
- **archiver**: 1 file
- **compression**: 1 file
- **cookie-parser**: 1 file
- **cors**: 1 file
- **json5**: 1 file
- **reflect-metadata**: 1 file
- **undici**: 1 file

## Support (shared)

### Content

- **[isomorphic-dompurify](https://seerepo.com/uses/isomorphic-dompurify)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 175 files

### Testing

- **Vitest**: 236 files

### Tools

- **Prettier**: 1 file
- **TypeScript**: 1 file

## Other repos with a similar stack

- [immich-app/immich](https://seerepo.com/r/immich-app/immich/built): Vite, React, Express, @nestjs/core, SQLite, NestJS, Tailwind CSS, MapLibre, @simplewebauthn/browser, sharp, Zod, kysely, jsonwebtoken, @simplewebauthn/server, helmet, nodemailer, qrcode · [Compare](https://seerepo.com/compare/immich-app/immich/vs/liketrek/TREK)
- [nocodb/nocodb](https://seerepo.com/r/nocodb/nocodb/built): React, Express, @nestjs/core, SQLite, NestJS, Leaflet, plyr, sharp, rehype-sanitize, Zod, bcryptjs, jsonwebtoken, nodemailer, qrcode, isomorphic-dompurify · [Compare](https://seerepo.com/compare/liketrek/TREK/vs/nocodb/nocodb)
- [calcom/cal.diy](https://seerepo.com/r/calcom/cal.diy/built): React, @nestjs/core, NestJS, Tailwind CSS, Lucide, sharp, Zod, kysely, bcryptjs, helmet, otplib, jimp, nodemailer, qrcode · [Compare](https://seerepo.com/compare/calcom/cal.diy/vs/liketrek/TREK)
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty/built): Vite, React, Express, @nestjs/core, NestJS, react-dropzone, react-markdown, remark-gfm, sharp, Zod, jsonwebtoken, otplib, nodemailer · [Compare](https://seerepo.com/compare/liketrek/TREK/vs/twentyhq/twenty)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): Vite, React, dexie, SQLite, Tailwind CSS, react-dropzone, Lucide, remark-gfm, sharp, Zod, fast-xml-parser, pdf-parse, qrcode · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/liketrek/TREK)
- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost/built): Vite, React, React Router, Express, Tailwind CSS, react-dropzone, Lucide, sharp, Zod, jsonwebtoken, otplib, nodemailer · [Compare](https://seerepo.com/compare/liketrek/TREK/vs/TryGhost/Ghost)

## Frequently asked questions

### What language is TREK written in?

TREK is written in TypeScript, with 2,173,833 written lines.

### What framework does TREK use?

TREK is built with Vite, React, React Router, Express, @nestjs/core, and NestJS.

The proof: [in client/package.json](https://github.com/liketrek/TREK/blob/dc36c21c08f681fd2806764fad8e17b270f6f175/client/package.json)

### What database does TREK use?

TREK stores its data in dexie and SQLite and reaches it with mikro-orm and kysely.

### What does TREK sign people in with?

TREK signs people in with @simplewebauthn/browser, bcryptjs, jsonwebtoken, @simplewebauthn/server, helmet, and otplib.

### Does TREK use AI?

Yes. TREK uses AI through @assistant-ui/react.

### Does TREK have tests?

Yes. TREK has 3,464 test files and is tested with Vitest, Testing Library, msw, @playwright/test, fake-indexeddb, supertest, and @nestjs/testing.

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

The ones that share most of its stack: immich-app/immich, nocodb/nocodb, and calcom/cal.diy.

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