Data used
- Conversation messages, stored per conversation in SQLite.
Project case study
FastAPI chat API with streaming, conversation history and an AI provider switched by an environment variable.

Switching AI providers usually means rewriting the integration.
Long replies without streaming leave the interface frozen until the end.
A foundation API that separates the conversation from the provider; the deployment needs a configured key to respond.
Full case details, collapsed for optional reading.
Web chatbot with a FastAPI API and a static frontend, designed to switch AI providers without rewriting the integration.
The service layer picks OpenAI, Anthropic or Google through an environment variable; OpenAI is the default.
Replies arrive as JSON or streamed through Server-Sent Events, and history is kept per conversation in SQLite.
The published demo is offline: it answers HTTP 500 because the provider key is not configured.
FastAPI with SQLAlchemy and SQLite, Pydantic, sse-starlette for streaming and the OpenAI, Anthropic and Google SDKs.
Technical architecture
FastAPI chat API with streaming, conversation history and an AI provider switched by an environment variable.
Developed by Matheus Siqueira - https://www.matheusdev.tech
Futuristic console with webcam gesture detection, visual telemetry, and real-time 3D effects.
View full case