Source: https://seerepo.com/r/KKKKhazix/AIHOT/built
Markdown source: https://seerepo.com/r/KKKKhazix/AIHOT/built.md
Description: AIHOT is a TypeScript repo built with Fastify, React, and React Router. It stores its data in Postgres. It has 72,235 written lines, with 195 test files.

# What is AIHOT built with?

AIHOT is a TypeScript repo built with Fastify, React, and React Router. It stores its data in Postgres, makes its content with highlight.js, sharp, linkedom, marked, @mozilla/readability, and 6 more, validates its data with Zod, is tested with @playwright/test and Cheerio, and uses MCP. It has 72,235 written lines, with 195 test files.

Read on November 13, 2026, at commit e385794.

Repository: https://github.com/KKKKhazix/AIHOT

## Backend (apps/api)

### The base

- **[Fastify](https://seerepo.com/uses/fastify)**: 14 files · [in apps/api/package.json](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/apps/api/package.json)

### Services

- **[MCP](https://seerepo.com/uses/mcp)**: 1 file · [apps/api/src/routes/mcp.ts, line 7](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/apps/api/src/routes/mcp.ts#L7)

## Support (apps/api)

### Validation

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

## Frontend (apps/web)

### The base

- **[React](https://seerepo.com/uses/react)**: 78 files · [in apps/web/package.json](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/apps/web/package.json)
- **[React Router](https://seerepo.com/uses/react-router)**: 65 files · [in apps/web/package.json](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/apps/web/package.json)

### Styles

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

### Interface

- **[motion](https://seerepo.com/uses/motion)**: 3 files

## Support (apps/web)

### Content

- **[highlight.js](https://seerepo.com/uses/highlightjs)**: 1 file

### Testing

- **@playwright/test**: 6 files
- **[Cheerio](https://seerepo.com/uses/cheerio)**: 1 file

### Tools

- **@react-router/dev**: 1 file

### Other

- **isbot**: 1 file

## Backend (packages/backend)

### The base

- **[Fastify](https://seerepo.com/uses/fastify)**: 1 file · [in apps/api/package.json](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/apps/api/package.json)

### Data

- **[Postgres](https://seerepo.com/uses/postgres)**: 2 files · [packages/backend/src/db.ts, line 1](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/packages/backend/src/db.ts#L1)

## Support (packages/backend)

### Content

- **[Cheerio](https://seerepo.com/uses/cheerio)**: 7 files
- **[sharp](https://seerepo.com/uses/sharp)**: 6 files
- **[linkedom](https://seerepo.com/uses/linkedom)**: 3 files
- **[marked](https://seerepo.com/uses/marked)**: 3 files
- **[@mozilla/readability](https://seerepo.com/uses/mozilla-readability)**: 1 file
- **[entities](https://seerepo.com/uses/entities)**: 1 file
- **[fast-xml-parser](https://seerepo.com/uses/fast-xml-parser)**: 1 file
- **[sanitize-html](https://seerepo.com/uses/sanitize-html)**: 1 file
- **[satori](https://seerepo.com/uses/satori)**: 1 file
- **[turndown](https://seerepo.com/uses/turndown)**: 1 file
- **[uqr](https://seerepo.com/uses/uqr)**: 1 file

### Validation

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

### Other

- **undici**: 2 files
- **@paralleldrive/cuid2**: 1 file

## Other repos with a similar stack

- [THU-MAIC/OpenMAIC](https://seerepo.com/r/THU-MAIC/OpenMAIC/built): React, Postgres, Zod, Tailwind CSS, motion, sharp, linkedom, @mozilla/readability, entities, sanitize-html, turndown, uqr · [Compare](https://seerepo.com/compare/KKKKhazix/AIHOT/vs/THU-MAIC/OpenMAIC)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): MCP, React, Zod, Tailwind CSS, motion, Cheerio, sharp, @mozilla/readability, fast-xml-parser, turndown · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/KKKKhazix/AIHOT)
- [n8n-io/n8n](https://seerepo.com/r/n8n-io/n8n/built): MCP, Postgres, Zod, highlight.js, Cheerio, linkedom, @mozilla/readability, sanitize-html, turndown · [Compare](https://seerepo.com/compare/KKKKhazix/AIHOT/vs/n8n-io/n8n)
- [ruvnet/ruflo](https://seerepo.com/r/ruvnet/ruflo/built): MCP, React, Postgres, Zod, Tailwind CSS, highlight.js, sharp, marked, satori · [Compare](https://seerepo.com/compare/KKKKhazix/AIHOT/vs/ruvnet/ruflo)
- [calcom/cal.diy](https://seerepo.com/r/calcom/cal.diy/built): React, Postgres, Zod, Tailwind CSS, sharp, marked, entities, sanitize-html, turndown · [Compare](https://seerepo.com/compare/calcom/cal.diy/vs/KKKKhazix/AIHOT)
- [cline/cline](https://seerepo.com/r/cline/cline/built): MCP, React, Zod, Tailwind CSS, motion, Cheerio, marked, turndown · [Compare](https://seerepo.com/compare/cline/cline/vs/KKKKhazix/AIHOT)

## Frequently asked questions

### What language is AIHOT written in?

AIHOT is written in TypeScript, with 72,235 written lines.

### What framework does AIHOT use?

AIHOT is built with Fastify, React, and React Router.

The proof: [in apps/api/package.json](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/apps/api/package.json)

### What database does AIHOT use?

AIHOT stores its data in Postgres.

The proof: [packages/backend/src/db.ts, line 1](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/packages/backend/src/db.ts#L1)

### What services does AIHOT use?

AIHOT uses MCP.

The proof: [apps/api/src/routes/mcp.ts, line 7](https://github.com/KKKKhazix/AIHOT/blob/e3857943ddb53b1d2ea13d346be2e06709b2be19/apps/api/src/routes/mcp.ts#L7)

### Does AIHOT have tests?

Yes. AIHOT has 195 test files and is tested with @playwright/test and Cheerio.

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

The ones that share most of its stack: THU-MAIC/OpenMAIC, CherryHQ/cherry-studio, and n8n-io/n8n.

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