KidChat — Safe, Character-Switching Chat for Kids
FastAPI + React Full-Stack Application
Personal Project - Full-Stack Developer
KidChat Case Study: Safe Character-Switching Chat for Kids
KidChat is a child-focused chat application for ages 6-10 that combines playful character interaction with predictable safety controls. Children can switch between personas while the system keeps conversations age-appropriate and avoids unsafe memory collection.
Problem
Chat interfaces for children need to feel engaging without sacrificing safety, privacy, or predictability. The challenge was to build an experience that behaves like a friendly character companion while keeping responses deterministic, bounded, and easy to audit.
Role
As the Full-Stack Developer, I designed and implemented the FastAPI backend, React frontend, persona system, session handling, safety filters, memory constraints, and interaction engine.
Architecture
- Backend: FastAPI modules separate safety logic, intent handling, personas, memory, and session storage.
- Conversation Engine: A deterministic intent engine supports jokes, riddles, math, spelling, facts, games, and educational prompts.
- Safety Layer: Content filters block adult, violent, and personally identifying information with friendly in-character redirection.
- Frontend: React, Vite, and Tailwind power character selection, avatar chips, transitions, and responsive chat layouts.
- Future Readiness: The API and UX are structured so an LLM or RAG layer could be added later without redesigning the core product.
Stack
Python, FastAPI, React, Vite, Tailwind CSS, deterministic intent routing, safety filtering, and lightweight memory management.
Media
The page includes a Vimeo demo video and thumbnail at /assets/images/work/kidui/kidui-thumb.jpg, showing the character-switching interaction model.
Outcome / Impact
KidChat demonstrates how to design AI-adjacent products for sensitive audiences: clear boundaries, explainable behavior, modular safety systems, and a UX that stays fun without depending on uncontrolled model output.
Tags: python, fastapi, react, vite, tailwind, children, chat, safety, ai, education, technology, web development, full-stack, KidChat
Joshua Fields — full portfolio