AlleyBot
A chatbot that remembers context and tries to read the room. An early experiment in giving GPT a little personality.
About
AlleyBot was my first serious experiment with giving an LLM a persistent personality and context memory — before LangChain's memory abstractions existed in their current form, so I built the context management myself. The core challenge was conversation memory within OpenAI's context window limits. I implemented a sliding window approach: the last N turns are sent verbatim, while older turns are compressed into a rolling summary that's prepended to each request. The summary is itself generated by a smaller, cheaper model call — so long conversations stay coherent without ballooning token costs. Emotional awareness came from a lightweight sentiment classification step run on each user message before it reached GPT. The classifier output influenced the system prompt tone — not through explicit mood labels, but by selecting from a small set of response style templates. The effect was subtle but made conversations feel less robotic. The Node.js backend handles session management and API routing, with the Next.js frontend providing a clean real-time chat UI. The main takeaway: context management is the hardest part of building chatbots, and the gap between a demo that works for 5 turns and one that works for 50 is almost entirely about how you handle memory.
Features
- Conversational AI powered by OpenAI's GPT models
- Real-time chat interface with contextual memory
- Emotionally aware responses for a more human experience
- Node.js backend with secure API routing
- Responsive and clean UI built with Next.js
- User-friendly design for all age groups
Tech stack
Screenshots

