MemoryChat
Next.js, React, TypeScript, Node.js, local LLM integration, and stateless REST conversation design.
Product Goal
MemoryChat was built to answer a practical AI product question: how do you create a conversational experience that feels smart, responsive, and context-aware without depending on paid API calls or a bloated front-end stack.
Instead of treating the chatbot as a demo wrapper around a model, I approached it like a real product surface with architecture, state handling, and interaction quality all carrying equal weight.
Architecture
The application uses Next.js, React, TypeScript, and Node.js, with a locally hosted LLM through Ollama. One of the key design decisions was a stateless memory approach: instead of relying on server-side session persistence, the client sends full conversation history with each request so the model can respond with multi-turn context while the system stays simpler to reason about.
Impact
On the interface side, I built a custom design system rather than depending on external component libraries. The result was a responsive, animated chat UI with controlled spacing, visual rhythm, and interaction feedback that made the product feel intentional rather than generic.
- Real-time conversational UX with cleaner message flow and better readability
- Custom CSS variable system and keyframe-based motion without a third-party UI kit
- Component structure designed to keep the codebase maintainable as features expand
Stack
MemoryChat combines front-end product quality with local AI integration, which makes the stack choice central to the project’s identity.