Source: https://seerepo.com/r/milind-soni/OpenMausBot/built
Markdown source: https://seerepo.com/r/milind-soni/OpenMausBot/built.md
Description: OpenMausBot is a TypeScript repo built with Vite, React, and Electron. It signs people in with jose and Better Auth and measures its use with PostHog.

# What is OpenMausBot built with?

OpenMausBot is a TypeScript repo built with Vite, React, and Electron. It signs people in with jose and Better Auth, measures its use with PostHog, makes its content with yaml, mdast-util-from-markdown, qrcode.react, nodemailer, @resvg/resvg-js, and 10 more, validates its data with Zod, Ajv, ajv-formats, and typebox, is tested with Vitest and happy-dom, and uses DuckDB. It has 1,030,783 written lines, with 2,417 test files.

Read on November 7, 2026, at commit 60b01ba.

Repository: https://github.com/milind-soni/OpenMausBot

## Frontend (/)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in package.json](https://github.com/milind-soni/OpenMausBot/blob/60b01baad658d30ca4d7fa1e54dbfb6868ec5e0d/package.json)
- **[React](https://seerepo.com/uses/react)**: 567 files · [in package.json](https://github.com/milind-soni/OpenMausBot/blob/60b01baad658d30ca4d7fa1e54dbfb6868ec5e0d/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**: 1 file
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **Vega**: 2 files
- **vega-embed**: 2 files
- **vega-lite**: 2 files
- **[@clack/prompts](https://seerepo.com/uses/clack-prompts)**: 1 file
- **[@lezer/highlight](https://seerepo.com/uses/lezer-highlight)**: 1 file
- **ag-grid-community**: 1 file
- **ag-grid-react**: 1 file
- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 1 file
- **[Mermaid](https://seerepo.com/uses/mermaid)**: 1 file
- **[TanStack](https://seerepo.com/uses/tanstack)**: 1 file
- **vega-interpreter**: 1 file

### Icons

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

## Backend (/)

### Data

- **[DuckDB](https://seerepo.com/uses/duckdb)**: 1 file

### Sign-in

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

### Services

- **[PostHog](https://seerepo.com/uses/posthog)**: 1 file · [src/lib/analytics.ts, line 3](https://github.com/milind-soni/OpenMausBot/blob/60b01baad658d30ca4d7fa1e54dbfb6868ec5e0d/src/lib/analytics.ts#L3)

## Support (/)

### The base

- **[Electron](https://seerepo.com/uses/electron)**: 9 files

### Content

- **[yaml](https://seerepo.com/uses/yaml)**: 8 files
- **[mdast-util-from-markdown](https://seerepo.com/uses/mdast-util-from-markdown)**: 7 files
- **[qrcode.react](https://seerepo.com/uses/qrcodereact)**: 5 files
- **[nodemailer](https://seerepo.com/uses/nodemailer)**: 2 files
- **@resvg/resvg-js**: 1 file
- **imapflow**: 1 file
- **[katex](https://seerepo.com/uses/katex)**: 1 file
- **mailparser**: 1 file
- **[papaparse](https://seerepo.com/uses/papaparse)**: 1 file
- **qrcode-terminal**: 1 file
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file
- **[rehype-katex](https://seerepo.com/uses/rehype-katex)**: 1 file
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 1 file
- **[remark-math](https://seerepo.com/uses/remark-math)**: 1 file
- **[shiki](https://seerepo.com/uses/shiki)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 166 files
- **[Ajv](https://seerepo.com/uses/ajv)**: 8 files
- **[ajv-formats](https://seerepo.com/uses/ajv-formats)**: 1 file
- **[typebox](https://seerepo.com/uses/typebox)**: 1 file

### Testing

- **Vitest**: 2,305 files
- **happy-dom**: 6 files

### Tools

- **esbuild**: 7 files
- **TypeScript**: 7 files
- **sucrase**: 1 file

### Other

- **@novnc/novnc**: 3 files
- **tar**: 3 files
- **ws**: 3 files
- **undici**: 2 files
- **@hpke/core**: 1 file
- **@trycua/cua-driver**: 1 file
- **clsx**: 1 file
- **croner**: 1 file
- **jmespath**: 1 file
- **tldts**: 1 file

## Backend (cloudflare/control-plane)

### Sign-in

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

## Support (cloudflare/control-plane)

### Validation

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

### Testing

- **Vitest**: 8 files

## Support (companion)

### Testing

- **Vitest**: 36 files

### Other

- **ws**: 2 files

## Support (connector)

### Testing

- **Vitest**: 9 files

### Other

- **ws**: 1 file

## Support (relay)

### Other

- **ws**: 6 files

## Other repos with a similar stack

- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): Vite, React, PostHog, Electron, Tailwind CSS, tailwind-merge, @lezer/highlight, CodeMirror, TanStack, Lucide, yaml, mdast-util-from-markdown, qrcode.react, katex, remark-gfm, remark-math, Zod, typebox · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/milind-soni/OpenMausBot)
- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): Vite, React, Tailwind CSS, tailwind-merge, @clack/prompts, @lezer/highlight, CodeMirror, Mermaid, Lucide, yaml, mdast-util-from-markdown, react-markdown, remark-gfm, Zod, Ajv, ajv-formats, Better Auth · [Compare](https://seerepo.com/compare/milind-soni/OpenMausBot/vs/paperclipai/paperclip)
- [multica-ai/multica](https://seerepo.com/r/multica-ai/multica/built): React, PostHog, Electron, Tailwind CSS, tailwind-merge, Mermaid, TanStack, yaml, mdast-util-from-markdown, katex, react-markdown, rehype-katex, remark-gfm, remark-math, shiki, Zod · [Compare](https://seerepo.com/compare/milind-soni/OpenMausBot/vs/multica-ai/multica)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): React, PostHog, Tailwind CSS, tailwind-merge, jose, mdast-util-from-markdown, katex, react-markdown, rehype-katex, remark-gfm, remark-math, shiki, Zod, Better Auth · [Compare](https://seerepo.com/compare/milind-soni/OpenMausBot/vs/Significant-Gravitas/AutoGPT)
- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost/built): Vite, React, Tailwind CSS, tailwind-merge, @lezer/highlight, CodeMirror, Lucide, jose, nodemailer, papaparse, Zod, Ajv, ajv-formats, Better Auth · [Compare](https://seerepo.com/compare/milind-soni/OpenMausBot/vs/TryGhost/Ghost)
- [janhq/jan](https://seerepo.com/r/janhq/jan/built): Vite, React, PostHog, Tailwind CSS, tailwind-merge, TanStack, Lucide, katex, react-markdown, rehype-katex, remark-gfm, remark-math, shiki, Zod · [Compare](https://seerepo.com/compare/janhq/jan/vs/milind-soni/OpenMausBot)

## Frequently asked questions

### What language is OpenMausBot written in?

OpenMausBot is written in TypeScript, with 1,030,783 written lines.

### What framework does OpenMausBot use?

OpenMausBot is built with Vite, React, and Electron.

The proof: [in package.json](https://github.com/milind-soni/OpenMausBot/blob/60b01baad658d30ca4d7fa1e54dbfb6868ec5e0d/package.json)

### What does OpenMausBot sign people in with?

OpenMausBot signs people in with jose and Better Auth.

### What services does OpenMausBot use?

OpenMausBot measures its use with PostHog and uses DuckDB.

The proof: [src/lib/analytics.ts, line 3](https://github.com/milind-soni/OpenMausBot/blob/60b01baad658d30ca4d7fa1e54dbfb6868ec5e0d/src/lib/analytics.ts#L3)

### Does OpenMausBot have tests?

Yes. OpenMausBot has 2,417 test files and is tested with Vitest and happy-dom.

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

The ones that share most of its stack: CherryHQ/cherry-studio, paperclipai/paperclip, and multica-ai/multica.

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