[LIVE] [AanchalKukreja/ai-chatbot-fullstack] 1 endpoint(s)
Gemini
API Proxy/Gemini
2,144 characters
Status: [LIVE]
Endpoints found:
https://YOUR-SERVICE.onrender.com/api/health`
Source: https://github.com/AanchalKukreja/ai-chatbot-fullstack
# AI Chatbot (full-stack)
A conversational AI assistant with a React front end and an Express back end that keeps the Gemini API
key private. This is **Stage 1**: a secure back end, a faithful React port of the original UI, and
the basics done properly (validation, rate limiting, tests).
<!-- Screenshot placeholder: replace with a real capture, e.g. docs/screenshots/new-1440-light-chat.png -->

## Features
- Chat with Google Gemini, with real conversation memory (the last 10 messages are sent each time)
- Light and dark themes, sound effects, "AI is thinking" indicator, live character counter
- Enter to send, Shift+Enter for a new line; the box grows to 5 lines, then scrolls
- Round icon send button with disabled, hover, pressed and loading (spinner) states
- **Copy** button under every bot reply (with a "Copied" confirmation), and **Regenerate** on the latest reply
- Welcome block with starter-question chips; it hides after the first message and returns after clearing
- Clear chat and export the conversation as a `.txt` file
- Chat is saved in `localStorage` (capped at 50 messages, read defensively)
- Friendly error messages, with failed messages never left in the conversation context
- Bot replies are rendered as **markdown**: headings, bold and italics, lists, links, quotes and tables
(tables scroll sideways inside the bubble). Your own messages stay plain text.
- **Code blocks** with syntax highlighting, the language name, and a Copy button for just that code
- Safe by design: raw HTML is never rendered, output is sanitized, and links open in a new tab and may only
be `http`, `https` or `mailto`
- The reply Copy button copies the markdown source, not the rendered HTML
- Long words and links wrap instead of overflowing
- The view follows new messages, but does not jump if you have scrolled up to read
- Responsive layout that stays clear of notches and the on-screen keyboard (`100dvh`, saf