# Building a Chatbot Taught Me About LLM APIs

> Source: <https://dev.to/bhaleraoneha/building-a-chatbot-taught-me-about-llm-apis-1k9b>
> Published: 2026-08-22 12:23:24+00:00

Most people's first experience with an LLM API is deceptively simple: send a prompt, get a reply. It feels like magic, and for a single question-answer exchange, it basically is. But the moment you try to build something that holds an actual conversation one where the model remembers what you said three messages ago you run into a problem that isn't obvious until you hit it: LLM APIs are stateless. Every request is a blank slate unless you explicitly hand the model its own memory.

That was the core challenge behind a recent project I built during my internship a chatbot backed by a real LLM API ([OpenAI / Gemini]) with genuine multi-turn conversation support, not just a scripted request-response loop.

**The problem nobody mentions upfront
**

This is where most simple chatbot tutorials stop short. They show you how to get a reply from an API, but not what happens once a conversation runs long enough that you can't keep resending everything forever.

**Where the actual engineering happens
**

None of this is complicated in isolation. What's interesting is how much of it is invisible until you actually build the thing yourself. Using a chatbot every day gives you zero insight into how much deliberate design goes into something as basic-sounding as 'remembering the conversation.'

**Why this matters beyond one project
**

I wrote up the full technical breakdown, including my actual implementation approach, the mistakes I made along the way, and what I'd improve next — in a longer post here:

Read the full article: [https://valentiuskryptix.com/building-a-powerful-ai-chatbot-with-an-llm-api/](https://valentiuskryptix.com/building-a-powerful-ai-chatbot-with-an-llm-api/)
