Slideia is an open-source application and service for generating presentation slide decks using large language models (LLMs). Built as a modern monorepo, it features a Next.js frontend and a FastAPI backend. It can propose outlines, draft slide content, and export to PowerPoint via API, UI, CLI, or MCP protocol.
This project is structured as a monorepo using Turborepo, pnpm workspaces, and uv workspaces to natively support multi-language local caching and fast builds.
apps/frontend/: Next.js web application for the UI.apps/backend/: FastAPI Python application handling presentation generation, LLM integrations, and PowerPoint exports.packages/: Shared configurations and common tooling.
- Next.js (React)
- Tailwind CSS / ui.shadcn
- pnpm
- Python 3.11+
- FastAPI (HTTP API)
- python-pptx (PowerPoint export)
- MCP (Model Context Protocol) server
- pytest & ruff (testing and linting)
- uv (Python package manager)
- Turborepo
- Docker / Docker Compose
- GitHub Actions
- Node.js 20+ and
pnpm - Python 3.11+ and
uv - API key for OpenRouter
- Clone the repository:
git clone https://github.com/Fidelisaboke/slideia.git cd slideia - Install all dependencies (Node and Python) from the root workspace:
pnpm install uv sync --all-packages
- Set up LLM API keys for the backend:
- For OpenRouter:
export OPENROUTER_API_KEY=your_api_key - Alternatively, create an
.envfile inapps/backend/and setOPENROUTER_API_KEY=your_api_key
- For OpenRouter:
- Run the full local development stack (Frontend & Backend):
pnpm turbo run dev
- Run the validation pipeline (Linting & Testing):
pnpm turbo run lint test - Run the MCP server independently:
cd apps/backend uv run python -m slideia.server - Generate a full slide deck via API:
curl -X POST http://localhost:8000/generate_deck \ -H 'Content-Type: application/json' \ -d '{"topic": "AI in Education", "audience": "Teachers", "tone": "formal", "slides": 5}'
- Built with inspiration from the open-source LLM and presentation tooling community.
- Uses OpenRouter for free LLM access.
This project is licensed under the terms of the MIT License. See the LICENSE file for details.