An Astro + Svelte chat interface that stores conversations remotely and replies with AI-generated responses. The UI splits the experience into a conversation list and a chat panel so you can jump between threads while keeping messages persisted in a Cloudflare Worker-powered API.
Live demo: https://chatroom-6o4.pages.dev
ChatStorageSDK communicates with the Chat Storage Worker, and chat prompts are sent to the Gemini Worker./
├── public/
├── src/
│ ├── components/ # App shell, conversation list, chat box
│ ├── layouts/ # Base page layout
│ ├── pages/ # Astro pages (index.astro is the entrypoint)
│ ├── stores/ # UI and conversation selection state
│ └── utils/ # ChatStorageSDK for remote persistence
├── package.json
└── tsconfig.json
npm install
npm run dev
The site runs at http://localhost:4321 by default.npm run build
npm run preview
src/utils/chat-storage-sdk.js and currently targets https://chat-storage.ktkt0099ktkt.workers.dev.https://gemini-rust-worker.ktkt0099ktkt.workers.dev/chat. Update these endpoints if you are running your own backing services.