Loading projects, please wait
Skip to main content
ProjectsChat Creatures: AI Kiosk Platform
Project Lead•Interactive Knowledgefor Multiple Clients•By Neel Vora•
--

Chat Creatures: AI Kiosk Platform

An AI-powered voice kiosk platform I built at Interactive Knowledge. Each deployment is a themed character that visitors talk to using natural speech. I built the React frontend (167 of 196 commits) and contributed to the headless Drupal 11 CMS. Built with React, OpenAI, Google Cloud TTS, and Web Speech API.

ReactViteTypeScriptOpenAI APIGoogle Cloud TTSWeb Speech APIDrupal 11Node.jsSQLite
Your browser does not support the video tag.
Video demonstration of the Chat Creatures: AI Kiosk Platform project

Overview

Chat Creatures is an AI voice kiosk platform I built at Interactive Knowledge. Museums, festivals, and public venues deploy themed AI characters that visitors can talk to using natural speech. The platform has two codebases: a React frontend kiosk application that I built, and a Drupal 11 headless CMS that manages character personas and configuration.

Frontend Kiosk (React + Vite)

I built the frontend kiosk application from scratch and remain the primary developer, responsible for 167 of 196 commits (85%). A colleague contributed the remaining 15%, including some character theming and animation work.

The kiosk handles speech recognition via the Web Speech API, conversation management through OpenAI GPT-4o-mini with tool calling, and text-to-speech output through Google Cloud TTS or ElevenLabs depending on the deployment. Each character loads its persona configuration from the CMS at runtime.

In December 2025, I did a major refactor to support CMS-driven persona creation. The goal was zero-code character deployment: define a persona in Drupal, and the kiosk picks it up automatically. This involved replacing 16 useState calls with 3 Zustand stores, extracting custom hooks for chat handling, speech recognition, and audio playback, and building a TTSServiceFactory that abstracts across TTS providers. Chatbot.tsx went from 1,017 lines to 358. I added 147 Vitest tests during the refactor.

CMS Backend (Drupal 11)

The Drupal backend was built by the rest of the team on the IK upstream. I contributed 8 commits focused on the Drupal 11 upgrade, persona theming infrastructure (mapping 44 Drupal fields to 19 CSS variables for CMS-driven styling), and config sync.

Deployments

  • Geary the Guide: EarlyWorks Children's Museum, Huntsville, AL. A gear-themed guide for kids. Tiered language modes adjust complexity based on visitor age. First production deployment.
  • Athena and Apollo, The Oracles: LEAF Festival, Black Mountain, NC. A pair of alien characters inside 12-foot inflatable art installations, differentiated by persona configuration.
  • Humphrey the Water Thrifty Camel: City of Cedar Park, TX. A water conservation mascot that looks up local watering schedules using function calling. Uses Google Cloud TTS.
  • Charleen the Cow: International Association of Fairs & Expositions. Farm-themed mascot, quick deployment.
  • Charles the Christmas Tree: Internal holiday deployment that validated the zero-code persona creation workflow.

Technical Details

  • React + Vite frontend, Electron for kiosk builds
  • Zustand for state management (3 stores)
  • Web Speech API for speech recognition
  • OpenAI GPT-4o-mini for conversation with tool calling
  • Google Cloud TTS and ElevenLabs for voice output
  • Drupal 11 headless CMS with JSON API and Simple OAuth
  • SQLite for local conversation logging
  • 147 Vitest tests
  • Idle timers and attract screens for unattended kiosk mode

Tech Stack

ReactViteTypeScriptOpenAI APIGoogle Cloud TTSWeb Speech APIDrupal 11Node.jsSQLite

Attribution

Role:Project Lead
Company:Interactive Knowledge
Client:Multiple Clients

Interested in working together? I'm always open to discussing new projects and opportunities.

Visit ProjectGet in TouchAll ProjectsAbout Me

Related Projects

⭐ Lead at Personal Project

MeetWith

An open-source scheduling platform I built to replace Calendly for my own use. It connects to Google Calendar, merges availability across multiple calendars, and lets people book meetings through a clean public link. Includes AI features for generating event descriptions and follow-up drafts.

⭐ Lead at Personal Project

RAG Knowledge Search

A streaming RAG-powered knowledge search tool that lets users ingest their own documents, runs paragraph-level embeddings, and returns grounded answers with source citations in real time. Built with OpenAI embeddings, GPT-4o-mini, Supabase pgvector, and a Next.js 16 API layer.

⭐ Lead at Personal Project

Voice Assistant with Tools

A conversational AI agent that responds to natural voice commands through browser-based speech recognition. It can search the web, check weather, perform calculations, tell time across timezones, and remember notes. Responses stream back as text and can be read aloud using OpenAI text-to-speech voices.

✉️ Let's Connect

Get in Touch

Have an AI project in mind or need a secure, reliable system built? Let's talk.

Contact Me

Neel Vora

Web, AI, and Interactive Systems Engineer. Websites, CMS platforms, voice kiosks, and AI tools, from simple sites to complex systems.

Navigate

Home
About
Projects
AI Lab
Blog
Contact

Explore More

ShopAI LabBlogWoodworkingMusic

Have a project in mind?

Let's work together to bring your ideas to life.

Let's Talk

Based in

San Antonio, TX, USA

Book a Call

All projects and opinions on this site are personal. They do not represent, reflect, or compete with the services provided by my employers. This site is strictly educational and exploratory.

© 2026 Neel Vora. Made with and

Built with
Next.jsReactTailwind