Laurel AI Chat Bot
A full-stack AI chat application with React, Express, dynamic model selection, persistent chat history, Dockerized local development, and observability.
- Role
- Full-Stack Developer
- Year
- 2026
- Focus
- AI app
Project gallery
Interface snapshots
01
Overview
Laurel AI Chat Bot is a full-stack AI chat application focused on reliable session management, model selection, request tracing, and reproducible local development.
Repository: github.com/muzaffercanan/laurel-ai-chat
02
Problem
AI chat products need more than a prompt box. A useful system should keep conversation history, expose model choices, trace requests, and remain easy to run locally.
03
My Role
I developed the frontend, backend API layer, persistence flow, observability integration, and Docker-based local setup.
04
Tech Stack
- React and TypeScript
- Express.js
- SQLite
- OpenTelemetry
- Jaeger
- Docker and Docker Compose
05
Key Decisions
- Built RESTful APIs for session management and chat history persistence.
- Added dynamic model selection rather than tying the UI to a single model.
- Integrated OpenTelemetry and Jaeger for end-to-end request tracing.
- Containerized the application for reproducible local development.
06
Challenges
- Keeping frontend state aligned with persisted chat sessions.
- Designing a backend API that could support multiple model choices.
- Making observability useful without adding unnecessary complexity.
07
Outcome / Impact
The project demonstrates full-stack AI application architecture with practical backend concerns: sessions, persistence, model routing, tracing, and local deployment.
08
What I Learned
AI application quality depends heavily on the surrounding product infrastructure. Session design, observability, and reproducibility matter as much as the generated response.