Back to projects
AI app 2026

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

Laurel AI Chat Bot chat interface README screenshot
Laurel AI Chat Bot second README screenshot
Laurel AI Chat Bot third README screenshot

01

Overview

Case note

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

Case note

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

Case note

I developed the frontend, backend API layer, persistence flow, observability integration, and Docker-based local setup.

04

Tech Stack

Case note
  • React and TypeScript
  • Express.js
  • SQLite
  • OpenTelemetry
  • Jaeger
  • Docker and Docker Compose

05

Key Decisions

Case note
  • 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

Case note
  • 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

Case note

The project demonstrates full-stack AI application architecture with practical backend concerns: sessions, persistence, model routing, tracing, and local deployment.

08

What I Learned

Case note

AI application quality depends heavily on the surrounding product infrastructure. Session design, observability, and reproducibility matter as much as the generated response.