Source: https://seerepo.com/r/mengxi-ream/read-frog/built
Markdown source: https://seerepo.com/r/mengxi-ream/read-frog/built.md
Description: read-frog is a TypeScript repo built with Vite, React, React Router, and WXT. It signs people in with Better Auth.

# What is read-frog built with?

read-frog is a TypeScript repo built with Vite, React, React Router, and WXT. It signs people in with Better Auth, uses AI through ai, ai-sdk, ai-sdk-ollama, Anthropic, and OpenAI, measures its use with PostHog, makes its content with entities, defuddle, and react-markdown, validates its data with Zod and @t3-oss/env-core, is tested with Vitest, Testing Library, Faker, and lexical, and uses dexie, Hugging Face, Moonshot AI, and Perplexity. It has 357,890 written lines, with 580 test files.

Read on November 13, 2026, at commit 01eb03a.

Repository: https://github.com/mengxi-ream/read-frog

## Frontend

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in package.json](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/package.json)
- **[React](https://seerepo.com/uses/react)**: 247 files · [in package.json](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/package.json)
- **[React Router](https://seerepo.com/uses/react-router)**: 24 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 17 files
- **[@fontsource-variable/inter](https://seerepo.com/uses/fontsource-variable-inter)**: 4 files
- **[cn](https://seerepo.com/uses/cn)**: 1 file
- **[postcss-value-parser](https://seerepo.com/uses/postcss-value-parser)**: 1 file

### Interface

- **[Base UI](https://seerepo.com/uses/base-ui)**: 33 files
- **[motion](https://seerepo.com/uses/motion)**: 8 files
- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 5 files
- **@tanstack/react-form**: 4 files
- **[uiw](https://seerepo.com/uses/uiw)**: 4 files
- **[dnd-kit](https://seerepo.com/uses/dnd-kit)**: 2 files
- **headless-tree**: 2 files
- **[react-rnd](https://seerepo.com/uses/react-rnd)**: 2 files
- **[cmdk](https://seerepo.com/uses/cmdk)**: 1 file
- **[Radix UI](https://seerepo.com/uses/radix-ui)**: 1 file
- **[react-error-boundary](https://seerepo.com/uses/react-error-boundary)**: 1 file

### Icons

- **[Iconify](https://seerepo.com/uses/iconify)**: 74 files
- **[@tabler/icons-react](https://seerepo.com/uses/tabler-icons-react)**: 72 files
- **[@remixicon/react](https://seerepo.com/uses/remixicon-react)**: 5 files

## Backend

### Data

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

### Sign-in

- **[Better Auth](https://seerepo.com/uses/better-auth)**: 2 files

### AI

- **[ai](https://seerepo.com/uses/ai)**: 12 files
- **[ai-sdk](https://seerepo.com/uses/ai-sdk)**: 1 file
- **ai-sdk-ollama**: 1 file

### Services

- **[Anthropic](https://seerepo.com/uses/anthropic)**: 1 file · [src/utils/providers/model.ts, line 9](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/src/utils/providers/model.ts#L9)
- **[Hugging Face](https://seerepo.com/uses/hugging-face)**: 1 file · [src/utils/providers/model.ts, line 18](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/src/utils/providers/model.ts#L18)
- **Moonshot AI**: 1 file · [src/utils/providers/model.ts, line 20](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/src/utils/providers/model.ts#L20)
- **[OpenAI](https://seerepo.com/uses/openai)**: 1 file · [src/utils/providers/model.ts, line 22](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/src/utils/providers/model.ts#L22)
- **Perplexity**: 1 file · [src/utils/providers/model.ts, line 24](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/src/utils/providers/model.ts#L24)
- **[PostHog](https://seerepo.com/uses/posthog)**: 1 file · [src/entrypoints/background/analytics.ts, line 2](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/src/entrypoints/background/analytics.ts#L2)

## Support

### The base

- **WXT**: 14 files

### Content

- **[entities](https://seerepo.com/uses/entities)**: 4 files
- **defuddle**: 1 file
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 42 files
- **@t3-oss/env-core**: 1 file

### Testing

- **Vitest**: 456 files
- **Testing Library**: 92 files
- **Faker**: 1 file
- **[lexical](https://seerepo.com/uses/lexical)**: 1 file

### Tools

- **type-fest**: 2 files
- **@tanstack/react-query-devtools**: 1 file
- **css-tree**: 1 file

### Other

- **jotai**: 207 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 58 files
- **deepmerge-ts**: 14 files
- **dequal**: 13 files
- **ts-pattern**: 7 files
- **orpc**: 6 files
- **debounce**: 4 files
- **file-saver**: 4 files
- **i18next**: 3 files
- **jotai-family**: 2 files
- **@webext-core/match-patterns**: 1 file
- **franc**: 1 file
- **js-sha256**: 1 file

## Other repos with a similar stack

- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): Vite, React, dexie, Anthropic, Hugging Face, OpenAI, Perplexity, PostHog, Tailwind CSS, class-variance-authority, motion, CodeMirror, uiw, dnd-kit, cmdk, Radix UI, react-error-boundary, Iconify, ai, ai-sdk, Zod · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/mengxi-ream/read-frog)
- [reactive-resume/reactive-resume](https://seerepo.com/r/reactive-resume/reactive-resume/built): React, Anthropic, OpenAI, Perplexity, Tailwind CSS, class-variance-authority, cn, Base UI, motion, CodeMirror, dnd-kit, cmdk, Better Auth, ai, ai-sdk, react-markdown, Zod, @t3-oss/env-core · [Compare](https://seerepo.com/compare/mengxi-ream/read-frog/vs/reactive-resume/reactive-resume)
- [supabase/supabase](https://seerepo.com/r/supabase/supabase/built): Vite, React, React Router, OpenAI, PostHog, Tailwind CSS, class-variance-authority, cn, motion, dnd-kit, cmdk, Radix UI, react-error-boundary, ai, ai-sdk, react-markdown, Zod · [Compare](https://seerepo.com/compare/mengxi-ream/read-frog/vs/supabase/supabase)
- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): Vite, React, Anthropic, OpenAI, Tailwind CSS, class-variance-authority, Base UI, motion, CodeMirror, dnd-kit, cmdk, Radix UI, Better Auth, ai, ai-sdk, react-markdown, Zod · [Compare](https://seerepo.com/compare/mengxi-ream/read-frog/vs/paperclipai/paperclip)
- [THU-MAIC/OpenMAIC](https://seerepo.com/r/THU-MAIC/OpenMAIC/built): React, dexie, Anthropic, OpenAI, Tailwind CSS, class-variance-authority, @fontsource-variable/inter, postcss-value-parser, Base UI, motion, cmdk, Radix UI, ai, ai-sdk, entities, Zod · [Compare](https://seerepo.com/compare/mengxi-ream/read-frog/vs/THU-MAIC/OpenMAIC)
- [shadcn-ui/ui](https://seerepo.com/r/shadcn-ui/ui/built): Vite, React, React Router, Tailwind CSS, class-variance-authority, cn, Base UI, motion, dnd-kit, cmdk, Radix UI, @tabler/icons-react, @remixicon/react, ai, Zod · [Compare](https://seerepo.com/compare/mengxi-ream/read-frog/vs/shadcn-ui/ui)

## Frequently asked questions

### What language is read-frog written in?

read-frog is written in TypeScript, with 357,890 written lines.

### What framework does read-frog use?

read-frog is built with Vite, React, React Router, and WXT.

The proof: [in package.json](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/package.json)

### What does read-frog sign people in with?

read-frog signs people in with Better Auth.

### Does read-frog use AI?

Yes. read-frog uses AI through ai, ai-sdk, ai-sdk-ollama, Anthropic, and OpenAI.

### What services does read-frog use?

read-frog measures its use with PostHog and uses dexie, Hugging Face, Moonshot AI, and Perplexity.

The proof: [src/entrypoints/background/analytics.ts, line 2](https://github.com/mengxi-ream/read-frog/blob/01eb03a5dc821178b2a5c0617090e4e92ccdd049/src/entrypoints/background/analytics.ts#L2)

### Does read-frog have tests?

Yes. read-frog has 580 test files and is tested with Vitest, Testing Library, Faker, and lexical.

### Which repos have a stack like read-frog's?

The ones that share most of its stack: CherryHQ/cherry-studio, reactive-resume/reactive-resume, and supabase/supabase.

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