--- title: "Next.js + FastAPI Fullstack" aliases: [nextjs-fastapi, nextjs-stack] tags: [nextjs, fastapi, python, typescript, fullstack] sources: [01 Projects/enterprise-ai-hub-nexus, 01 Projects/sandbox-notebookllamalm-nextjs, 01 Projects/Oliver-ai-bot_2.0, 01 Projects/ppt-tool] created: 2026-04-15 updated: 2026-04-15 --- # Next.js + FastAPI Fullstack Used for the most complex Oliver AI platforms. Next.js App Router handles SSR + auth; FastAPI handles AI workloads + data. ## Key Takeaways - Next.js 14/15 App Router is the choice for production Oliver AI platforms - Paired with FastAPI backend (Python AI workloads, DB operations) - Azure AD PKCE auth lives in Next.js layer - Docker Compose orchestrates all services - Qdrant for vector search (RAG projects), Redis for caching/queuing ## When to Use - Complex, multi-user AI platforms needing SSR, SEO, or M365 integration - When the frontend state is complex enough to warrant Next.js routing - Production deployments with multi-service architectures ## Key Details - **Next.js versions:** 14 (Enterprise Nexus), 15 App Router (Sandbox NotebookLM) - **Package manager:** npm (standard), `uv` for Python backend (Sandbox) - **Auth:** Azure AD PKCE in Next.js; backend validates tokens - **API pattern:** `src/lib/api.ts` (axios wrapper) → FastAPI backend - **State:** Zustand (auth store in Sandbox NotebookLM) - **Real-time:** WebSocket chat routes in FastAPI (Sandbox NotebookLM) ## Projects Using This Pattern - [[01 Projects/enterprise-ai-hub-nexus/Enterprise AI Hub Nexus|Enterprise AI Hub Nexus]] — Next.js 14 + FastAPI + PostgreSQL + Redis + Qdrant + Celery - [[01 Projects/sandbox-notebookllamalm-nextjs/Sandbox NotebookLM|Sandbox NotebookLM]] — Next.js 15 + FastAPI + Python 3.13 + uv + PostgreSQL + Redis + ElevenLabs - [[01 Projects/Oliver-ai-bot_2.0/Oliver AI Bot 2.0|Oliver AI Bot 2.0]] — Next.js + FastAPI (MVP, 85% backend complete) - [[01 Projects/ppt-tool/Oliver DeckForge|Oliver DeckForge]] — Next.js :3000 + FastAPI :8000 + nginx :80 ## Architecture Pattern ``` Browser → Azure AD PKCE (auth) ↓ Next.js (SSR + App Router) src/lib/api.ts → FastAPI backend ├── AI service (Claude/Gemini/LlamaIndex) ├── PostgreSQL (data) ├── Redis (cache/queue) └── Celery workers (async jobs) ``` ## Gotchas & Lessons - Next.js 15 App Router + React 19 is cutting edge — expect breaking changes in dependencies - `python-pptx` must be pinned to 0.6.23 for stable PPTX generation (Sandbox NotebookLM) - `max_tokens` defaults are too low for document generation — increase to 16000+ for long outputs - nginx reverse proxy needed when Next.js + FastAPI must share a single public port (DeckForge pattern) - Celery beat for scheduled tasks (SharePoint sync in Enterprise Nexus) needs careful token refresh logic ## Related - [[wiki/tech-patterns/fastapi-python-docker|fastapi-python-docker]] — backend details - [[wiki/tech-patterns/azure-ad-msal-auth|azure-ad-msal-auth]] — auth layer - [[wiki/architecture/rag-architecture|rag-architecture]] — RAG pattern used by Nexus - [[wiki/tech-patterns/redis-celery-worker-queue|redis-celery-worker-queue]] — async processing