O'Chat
This is an AI chat web app built with Svelte and Vite. The user enters a Mistral API key, starts a conversation, sends messages, and retrieves previous threads. Conversations are persisted through a local PocketBase backend.
This project's main goal was to close our course's front-end module, explaining the rudimentary back-end management. The CMS setup (PocketBase) was a bonus add-on.
- Completion date : 31.10.25
- Main goal(s) :
- put front-end knowledge into practice
- start communicating with an outside
- begin to establish the foundations for communication with an external source (pocketbase and Mistral API in this case)
Features
- Create, select, and delete conversations
- Send messages and render AI replies in markdown
- Enter the API key in a dialog and store it in the browser
- Persist conversation threads in PocketBase
Stack
- Svelte 5 + Vite
- PocketBase (local REST API)
- Mistral API (chat completions)
Run the project
- Install dependencies:
npm install
Start PocketBase at http://127.0.0.1:8090 with a conversations collection and a thread field (array).
Start the front-end:
npm run dev
- Open the app and enter the Mistral API key in the login dialog.
Limitations
- No environment variables were used at the time: the API key is entered client-side and stored in
localStorage and the PocketBase URL is hard-coded (http://127.0.0.1:8090).
- No authentication or multi-user support.