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.
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.
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.
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.
Interested in working together? I'm always open to discussing new projects and opportunities.
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.
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.
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.
Have an AI project in mind or need a secure, reliable system built? Let's talk.