AI chat assistant
Chat interface over LLM APIs with streaming responses and conversation history.
What it does
A chat interface for talking to an LLM: message history, streaming responses that render token by token instead of waiting for the full reply, and conversations saved so a session can be picked back up later rather than starting from a blank screen every time.
How it's built
Next.js on the frontend, a Node.js API route that proxies requests to the model provider and relays the response as a stream rather than buffering it server-side — the browser starts rendering text as soon as the first tokens arrive. Conversation history is persisted in PostgreSQL, keyed by session, so a reload doesn't lose the thread. The streaming endpoint is a thin wrapper: it does not retry failed generations automatically, since silently replaying a partial LLM response is worse than surfacing the error.