Rooyay
Transform your dreams into cinematic movies with AI.
Rooyay is an AI-powered dream interpretation platform that transforms user dreams into cinematic videos using Google's Gemini Live API and Veo video generation. Features a social feed for sharing your dreams.
Inspiration
The idea for Rooyay was born from a simple observation: dreams are deeply personal, yet universally shared experiences. We all wake up from vivid dreams wondering "what did that mean?" yet traditional dream interpretation remains archaic, subjective, and inaccessible.
I wanted to combine three powerful trends:
- Generative AI (making the abstract tangible)
- Social video (Youtube Shorts viral format)
- Personalization (your dreams, your story)
The vision became clear: create "Youtube Shorts for Dreams" a platform where voice conversations with AI transform your dreams into cinematic, shareable videos. We wanted to capture that "Rooya" the clarity and meaning using 2026's most advanced AI. By combining Gemini’s emotional intelligence with Veo’s cinematic power, we’ve created a platform where users don't just "talk about" their dreams; they manifest them.
What it does
1. The Dream Architect (Live Session)
- Interleaved Orchestration: A low-latency Gemini Live session that transforms the ancient, subjective practice of dream-reading into a precise, emotionally intelligent dialogue, bridging the subconscious with state-of-the-art AI.
- Voice-based conversation with AI via Gemini Live API that supports natural conversation flow, users can interrupt the AI mid-sentence to add forgotten details, and the agent immediately adapts its response context without losing the conversational thread.
- Sub-Agent Delegation: The main agent delegates "Visual Directing" and "Merchandise Design" to specialized sub-agents, ensuring the conversational flow is never broken by technical overhead
- 7-phase conversation state machine with autonomous transitions.
- Selfie Integration: The captured selfie is uploaded to Gemini Files and passed as a reference image to Veo 3.1, enabling the video generation model to incorporate the user's likeness as the main character in their dream visualization.
State Machine Flow
| Phase | Purpose | AI Action | User Input Required |
|---|---|---|---|
| GREETING | Welcome & set mood | Introduce | None (AI initiates) |
| GATHERING | Extract dream data | Listen, extract symbols/emotions, ask 2-3 targeted questions max | Describe dream |
| INTERPRETATION | Deliver insights | Share meaningful interpretation (core product value) | None |
| SELFIE | User likeness integration | Capture photo as Veo 3.1 reference image (user appears in video) | Capture or skip |
| CONFIRM | Credits & permission | Check credits, explain cost, get permission | Confirm video creation |
| GENERATING | Create video | Start Veo 3.1 generation, wait for completion | None (async) |
| RESULT | Present video | Announce ready, present share options | Watch, save, share |
2. Cinematic Synthesis
- Veo 3.1 Integration: Generates high-resolution, physics-aware videos from the extracted dream symbols
- Resolution tiers: 720p (free), 1080p (paid)
- Event-driven generation pipeline with progress tracking
- Cloud Storage integration for video delivery
3. The Social Constellation
- Youtube Shorts Style Feed: A vertical, scroll-snap feed where the community can "glide" through the visions of others
- Full-screen scroll snap with video autoplay
- Double-tap to like, swipe gestures for interactions
- Privacy-First Sharing: Advanced moderation filters ensure personal details are redacted before a dream is released
How I Built It
I utilized an Nx Monorepo for strict type-safety across a Next.js 16 frontend and a NestJS 11 backend.
The "Brain": Built on the Google GenAI SDK, we avoided the limitations of earlier ADK iterations to implement a custom Event-Driven Pipeline (EventEmitter2).
Persistence: PostgreSQL (Prisma 7.5) handles the "Dream Ledger," while Google Cloud Run ensures our agentic workflows scale elastically.
Frontend
- Framework: Next.js 16 (App Router)
- UI Library: React 19, Tailwind CSS 4.2, DaisyUI
- State Management: Zustand, TanStack Query
Backend
- Framework: NestJS 11
- Database: PostgreSQL with Prisma 7.5
- AI/ML: Gemini Live API, Veo 3.1
Infrastructure
- Build System: Nx 22.5 (Monorepo)
- Hosting: Google Cloud Run
- Database: Google Cloud SQL
- Storage: Google Cloud Storage
- CI/CD: GitHub Actions
Project Structure
Rooyay/
├── apps/
│ ├── frontend/ # Next.js frontend
│ └── api/ # NestJS backend
├── libs/
├── configs/ # Shared configuration
├── prisma/ # Database ORM
└── common/ # Shared utilities & types
☁️ Google Cloud Platform Services
Rooyay leverages a comprehensive suite of Google Cloud Platform services for scalable, serverless deployment:
| Service | Usage |
|---|---|
| Cloud Run | Serverless container hosting for frontend and API |
| Cloud SQL | Managed PostgreSQL database |
| Cloud Storage | Video assets, thumbnails, audio files |
| Artifact Registry | Docker image registry Proof |
| Secret Manager | Secure secrets storage |
| Workload Identity Federation | GitHub Actions authentication Proof |
| Cloud Logging | Structured application logs, error tracking Proof |
Challenges & Learnings
SDK Navigation: Navigating the transition between the Google Agent Development Kit and the GenAI SDK was a major hurdle. We opted for the GenAI SDK to gain granular control over client_content turns and multimodal inputs.
Interleaved Tooling: Mastering the "Silent" tool execution pattern was key to updating the UI without interrupting the AI’s poetic voice flow.
By offloading prompt engineering for Veo 3.1 to a specialized sub-agent, we kept the primary Live session's context window lean and focused entirely on the user's emotional state.
Built With
- nestjs
- nextjs
- postgresql
- prisma
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.