Doodle Dojo turns any photo or text idea into guided sketching lessons, gives live AI coaching while you draw, and then animates your final sketch into a short video.
Most people want to draw better, but tutorials are either too generic, too long, or not interactive. Beginners need feedback in the moment, not after they finish.
- The user uploads an image or types a prompt.
- The Gemini generates a simplified sketch for reference.
- That sketch is sent to the backend for stroke-guide processing.
- As the user finishes strokes, the app advances through the guide sequence and updates progress.
- Gemini Live can provide feedback while the user draws.
- If coach voice is off, the user can prompt Lyria with lyrics or vibe guidance and let music play while they draw.
- At the end, the user can animate the sketch with Veo and save the result.
See backend/notebooks/stroke_extraction.ipynb for details on the stroke extraction and clustering algorithm.
- Frontend:
Next.js 16,React 19,TypeScript,Tailwind CSS 4,Framer Motion,Konva,Zustand - Backend:
google-genai,FastAPI,Python 3.12,uv - Gemini:
Nano Banana 2,Lyria 3 Pro preview,Gemini 3.1,Veo 3.1
doodledojo/
├── backend/ # FastAPI app for reference upload + stroke processing
└── frontend/ # Next.js app for the drawing experience
# Install uv (if you don't have it)
curl -LsSf https://astral.sh/uv/install.sh | sh
cd backend
uv sync
# Create backend/.env with GEMINI_API_KEY=xyz
uv run uvicorn main:app --reload
# Docs hosted at http://localhost:8000/docscd frontend
npm install
npm run dev
# Available at http://localhost:3000Create frontend/.env.local:
NEXT_PUBLIC_GEMINI_API_KEY=your_api_key_here
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000Optional frontend vars:
GEMINI_VEO_MODEL=veo-3.1-generate-preview
NEXT_PUBLIC_GEMINI_LIVE_MODEL=gemini-2.5-flash-native-audio-latest
NEXT_PUBLIC_LYRIA_MODEL=lyria-realtime-exp
NEXT_PUBLIC_GEMINI_LIVE_DEBUG=0Frontend API routes:
/api/generate-style/api/upload-reference/api/get-strokes/api/coaching/api/tts/api/animate-sketch


