Project name
Ghaz — AI Family Adventure
## Tagline
Turn one familiar room into a safe, parent-led AI scavenger hunt.
## Category
Apps for your life
## Inspiration
Children love imaginative play, but parents do not always have time to design a new activity from scratch. I wanted to explore whether AI could make active family play easier without turning the experience into more passive screen time.
Ghaz transforms objects already present in one room into a short voice-led adventure. The phone supports the experience, but the real activity happens in the physical world—and the parent remains in control throughout.
## What it does
Ghaz is a mobile-first, parent-supervised scavenger-hunt PWA.
A parent begins by confirming consent, choosing an age range, language, theme, and room boundary. They then scan 6–10 temporary views of one indoor room. GPT-5.6 analyzes those views and proposes generic, reachable story objects while identifying potential risks and limitations.
The parent reviews every suggestion, acknowledges precautions, and approves 3–5 objects. Only then does GPT-5.6 generate a personalized quest with clues, progressive hints, verification descriptors, and an opening story.
During gameplay, a Realtime voice character guides the family through the adventure. The family can interrupt the narrator or request hints, while persistent parent controls provide Pause, Parent Help, and End Adventure.
Visual verification can only begin when the supervising parent presses We Found It. Speech can never trigger image capture or progression. The backend checks the current object against the authoritative approved target and advances exactly once only after a confirmed result or an allowed parent override.
Ghaz supports English and Bahasa Indonesia and includes nine animated pet guides.
## How I built it
Ghaz is a modular Next.js and TypeScript application with React, Zod, OpenAI APIs, and structured session storage.
GPT-5.6 Terra handles room analysis and quest generation. The latest item-finding policy can detect both large room features and safe portable objects such as remote controls, durable eyewear, cordless keyboards, and retractable pens. Model output is treated as untrusted: it is validated with Zod and then passed through deterministic safety rules before the parent can approve anything.
GPT-5.6 Luna performs the first visual verification pass, with Terra reserved for ambiguous cases. The live narrator uses the OpenAI Realtime API over WebRTC with short-lived browser credentials and backend-validated tools.
Raw scan frames and verification images remain in browser or request memory only. The application does not persist raw images, audio, transcripts, prompts, or model responses.
Codex was my primary implementation partner during Build Week. I used it to translate the product plan into the application architecture, build the UI and APIs, implement state transitions and safety rules, diagnose concurrency and media-lifecycle issues, write automated tests, and prepare deployment documentation. I retained direct control over the product scope, child-safety policy, privacy decisions, and parent-approval model.
## Challenges I ran into
The largest challenge was balancing useful object discovery with safety. An early policy strongly preferred large stationary objects, making quests repetitive. I introduced a versioned v2 policy that can discover smaller portable objects without removing v1 or weakening the deterministic denylist.
Another challenge was keeping conversational AI separate from authoritative game state. The narrator can request hints or read state, but it cannot declare an object found or directly advance the quest.
Mobile media cleanup was also important. Camera and microphone tracks must stop correctly during pause, navigation, errors, backgrounding, and completion, while captured frames must never enter persistent storage or logs.
## Accomplishments I’m proud of
- Built a complete flow from room scan to quest completion.
- Kept every playable target behind deterministic filtering and explicit parent approval.
- Made visual verification button-only and backend-authoritative.
- Added an environment-selectable v1/v2 item-discovery policy.
- Built bilingual support and nine animated narrator choices.
- Added optimistic concurrency and idempotent state transitions.
- Designed a fixture mode judges can try without developer credentials or live child data.
- Added automated safety, API, schema, state, and mobile/desktop flow coverage.
## What I learned
I learned that responsible multimodal products cannot rely on a strong prompt alone. Safety comes from layered controls: structured output validation, deterministic policy, authoritative backend state, explicit parent actions, and privacy-aware media handling.
I also learned that voice interaction feels more natural when the screen does less. Short narration, interruption support, and clear physical actions made the experience feel like family play instead of another chatbot.
## What’s next
Next, I would evaluate the vision pipeline against a larger labeled set of adult-operated room images, tune object discovery and verification thresholds, and complete manual testing on iOS Safari and Android Chrome.
Before allowing real child-data use, I would also complete the necessary under-18 privacy review and confirm the required zero-data-retention configuration. The current public experience remains an adult-operated demonstration.
## Built with
Next.js React TypeScript OpenAI Responses API GPT-5.6 OpenAI Realtime API OpenAI Agents SDK Zod Supabase WebRTC Playwright Vitest Codex
Log in or sign up for Devpost to join the conversation.