Skip to content
maksim zaytsev
Projects

2024 · Next.js · Node.js · PostgreSQL

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.