Source: https://seerepo.com/r/Anionex/banana-slides/built
Markdown source: https://seerepo.com/r/Anionex/banana-slides/built.md
Description: banana-slides is a Python repo built with Flask, werkzeug, flask-cors, Electron, Vite, and 2 more.

# What is banana-slides built with?

banana-slides is a Python repo built with Flask, werkzeug, flask-cors, Electron, Vite, and 2 more. It reaches it with alembic, flask-migrate, and flask-sqlalchemy, signs people in with pyjwt, uses AI through dashscope, zhipuai, edge-tts, onnxruntime, Anthropic, and 1 more, connects to Google, makes its content with reportlab, pillow, python-pptx, pymupdf, img2pdf, and 10 more, validates its data with Pydantic, is tested with @playwright/test, Vitest, and Testing Library, deploys with volcengine-python-sdk and electron-log, and uses ElevenLabs. It has 124,343 written lines, with 255 test files.

Read on November 7, 2026, at commit 3dc1e4c.

Repository: https://github.com/Anionex/banana-slides

## Frontend (/)

### Styles

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

### Interface

- **[Rich](https://seerepo.com/uses/rich)**

## Backend (/)

### The base

- **[Flask](https://seerepo.com/uses/flask)**: 28 files
- **[werkzeug](https://seerepo.com/uses/werkzeug)**: 9 files
- **[flask-cors](https://seerepo.com/uses/flask-cors)**: 1 file

### Data access

- **[alembic](https://seerepo.com/uses/alembic)**: 1 file
- **flask-migrate**: 1 file
- **flask-sqlalchemy**: 1 file

### Sign-in

- **[pyjwt](https://seerepo.com/uses/pyjwt)**

### AI

- **[dashscope](https://seerepo.com/uses/dashscope)**
- **zhipuai**
- **edge-tts**: 1 file
- **[onnxruntime](https://seerepo.com/uses/onnxruntime)**: 1 file

### Services

- **[Google](https://seerepo.com/uses/google)**: 4 files · [backend/controllers/material_controller.py, line 1](https://github.com/Anionex/banana-slides/blob/3dc1e4c59b82a002634e27781a0e037017b1dda3/backend/controllers/material_controller.py#L1)
- **[Anthropic](https://seerepo.com/uses/anthropic)**: 2 files · [backend/services/ai_providers/image/anthropic_provider.py, line 21](https://github.com/Anionex/banana-slides/blob/3dc1e4c59b82a002634e27781a0e037017b1dda3/backend/services/ai_providers/image/anthropic_provider.py#L21)
- **ElevenLabs**: 2 files · [backend/controllers/settings_controller.py, line 534](https://github.com/Anionex/banana-slides/blob/3dc1e4c59b82a002634e27781a0e037017b1dda3/backend/controllers/settings_controller.py#L534)
- **[OpenAI](https://seerepo.com/uses/openai)**: 2 files · [backend/controllers/material_controller.py, line 117](https://github.com/Anionex/banana-slides/blob/3dc1e4c59b82a002634e27781a0e037017b1dda3/backend/controllers/material_controller.py#L117)

## Support (/)

### Content

- **[reportlab](https://seerepo.com/uses/reportlab)**
- **[pillow](https://seerepo.com/uses/pillow)**: 36 files
- **[python-pptx](https://seerepo.com/uses/python-pptx)**: 6 files
- **[pymupdf](https://seerepo.com/uses/pymupdf)**: 3 files
- **img2pdf**: 1 file
- **[markitdown](https://seerepo.com/uses/markitdown)**: 1 file
- **pypdf2**: 1 file

### Validation

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

### Deploy

- **volcengine-python-sdk**

### Tools

- **Typer**: 16 files

### Other

- **socksio**
- **requests**: 16 files
- **tenacity**: 11 files
- **filelock**: 4 files
- **opencv-python-headless**: 3 files
- **httpx**: 1 file
- **python-dotenv**: 1 file
- **tomli**: 1 file

## Support (desktop)

### The base

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

### Deploy

- **[electron-log](https://seerepo.com/uses/electron-log)**: 2 files

### Other

- **electron-updater**: 1 file
- **SemVer**: 1 file

## Frontend (frontend)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in frontend/package.json](https://github.com/Anionex/banana-slides/blob/3dc1e4c59b82a002634e27781a0e037017b1dda3/frontend/package.json)
- **[React](https://seerepo.com/uses/react)**: 66 files · [in frontend/package.json](https://github.com/Anionex/banana-slides/blob/3dc1e4c59b82a002634e27781a0e037017b1dda3/frontend/package.json)
- **[react-router-dom](https://seerepo.com/uses/react-router-dom)**: 11 files

### Styles

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

### Interface

- **[dnd-kit](https://seerepo.com/uses/dnd-kit)**: 2 files

### Icons

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

## Support (frontend)

### Content

- **[katex](https://seerepo.com/uses/katex)**: 1 file
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file
- **[rehype-katex](https://seerepo.com/uses/rehype-katex)**: 1 file
- **[rehype-raw](https://seerepo.com/uses/rehype-raw)**: 1 file
- **[rehype-sanitize](https://seerepo.com/uses/rehype-sanitize)**: 1 file
- **[remark-breaks](https://seerepo.com/uses/remark-breaks)**: 1 file
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 1 file
- **[remark-math](https://seerepo.com/uses/remark-math)**: 1 file

### Testing

- **@playwright/test**: 115 files
- **Vitest**: 31 files
- **Testing Library**: 24 files

### Other

- **react-i18next**: 14 files
- **zustand**: 2 files
- **Axios**: 1 file
- **clsx**: 1 file
- **i18next**: 1 file
- **i18next-browser-languagedetector**: 1 file

## Other repos with a similar stack

- [bojieli/ai-agent-book](https://seerepo.com/r/bojieli/ai-agent-book/built): Flask, Google, Anthropic, OpenAI, Vite, React, Rich, reportlab, pillow, python-pptx, pymupdf, pypdf2, Pydantic, Tailwind CSS, tailwind-merge, Lucide, katex, react-markdown, remark-gfm · [Compare](https://seerepo.com/compare/Anionex/banana-slides/vs/bojieli/ai-agent-book)
- [langflow-ai/langflow](https://seerepo.com/r/langflow-ai/langflow/built): Google, OpenAI, Vite, React, react-router-dom, Rich, pyjwt, pillow, markitdown, Pydantic, Tailwind CSS, tailwind-merge, Lucide, react-markdown, rehype-raw, rehype-sanitize, remark-gfm · [Compare](https://seerepo.com/compare/Anionex/banana-slides/vs/langflow-ai/langflow)
- [HKUDS/DeepTutor](https://seerepo.com/r/HKUDS/DeepTutor/built): OpenAI, Electron, React, Rich, pyjwt, edge-tts, python-pptx, Pydantic, Tailwind CSS, tailwind-merge, Lucide, katex, react-markdown, rehype-katex, rehype-raw, remark-gfm, remark-math · [Compare](https://seerepo.com/compare/Anionex/banana-slides/vs/HKUDS/DeepTutor)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): Google, Anthropic, ElevenLabs, OpenAI, React, Rich, pyjwt, pillow, Pydantic, Tailwind CSS, tailwind-merge, katex, react-markdown, rehype-katex, remark-gfm, remark-math · [Compare](https://seerepo.com/compare/Anionex/banana-slides/vs/Significant-Gravitas/AutoGPT)
- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): Flask, OpenAI, Vite, React, react-router-dom, fonttools, Rich, alembic, onnxruntime, reportlab, pillow, pymupdf, Pydantic, Tailwind CSS, katex, react-markdown · [Compare](https://seerepo.com/compare/Anionex/banana-slides/vs/datawhalechina/hello-agents)
- [apache/superset](https://seerepo.com/r/apache/superset/built): Flask, werkzeug, flask-cors, Google, React, fonttools, Rich, alembic, flask-migrate, pyjwt, pillow, Pydantic, react-markdown, rehype-raw, rehype-sanitize, remark-gfm · [Compare](https://seerepo.com/compare/Anionex/banana-slides/vs/apache/superset)

## Frequently asked questions

### What language is banana-slides written in?

banana-slides is written in Python, with 124,343 written lines.

### What framework does banana-slides use?

banana-slides is built with Flask, werkzeug, flask-cors, Electron, Vite, React, and react-router-dom.

### What does banana-slides sign people in with?

banana-slides signs people in with pyjwt.

### Does banana-slides use AI?

Yes. banana-slides uses AI through dashscope, zhipuai, edge-tts, onnxruntime, Anthropic, and OpenAI.

### What services does banana-slides use?

banana-slides connects to Google and uses ElevenLabs.

The proof: [backend/controllers/material_controller.py, line 1](https://github.com/Anionex/banana-slides/blob/3dc1e4c59b82a002634e27781a0e037017b1dda3/backend/controllers/material_controller.py#L1)

### Does banana-slides have tests?

Yes. banana-slides has 255 test files and is tested with @playwright/test, Vitest, and Testing Library.

### Which repos have a stack like banana-slides's?

The ones that share most of its stack: bojieli/ai-agent-book, langflow-ai/langflow, and HKUDS/DeepTutor.

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