Inspiration Every creative person has faced it — the blank page. That paralysing moment when the cursor blinks, the canvas stays white, and inspiration simply refuses to show up. We call it the síndrome de la página en blanco (blank page syndrome), and it doesn't discriminate: it hits visual artists, musicians, and writers alike, often at the worst possible moment.

We noticed that most AI tools try to replace the creative — they write the story, paint the picture, compose the song. But that's not what a blocked creative actually needs. What they need is the zero step: a provocation, a spark, one bold first decision that breaks the paralysis and hands the wheel back to them.

That's why we built Primer Boceto.

What it does Primer Boceto is an AI-powered creative ignition engine with three specialized modes, each designed for a different type of artist:

🎨 Visual Mode — You give us a concept or feeling. We return a curated 5-color palette with named colors and hex codes, a set of visual themes and collage ideas, composition tips, and an "opposite concept" prompt designed to push you out of your comfort zone. Visual reference images are generated on demand to build your moodboard instantly.

🎵 Musical Mode — You give us an emotion and an instrument. We return the ideal BPM, musical key, sonic atmosphere, curated artist references, harmonic technique tips, creative exercises, and creative constraints. A 30-second audio clip is generated so you can hear your direction before committing a single note.

✍️ Writer Mode — Two paths: if you have no idea, we generate a full creative package (a premise, a narrative tone, a character with an internal conflict, and an opening scene). If you already have an idea, we expand it into a complete worldbuilding document — world rules, narrative conflicts, contradictions to resolve, and research questions. No writing is done for you. We just tear down the wall.

How we built it Primer Boceto is a monorepo with a clean separation between frontend and backend.

Frontend: Built with React and Vite, styled with TailwindCSS and shadcn/ui component primitives. The entire UI is typed end-to-end in TypeScript, with a centralized service layer that abstracts all API calls and gracefully handles loading and error states.

Backend: A FastAPI async REST API built in Python following Clean Architecture principles — a thin api/ layer, an infra/ layer for all AI model calls, and a skills/ layer for reusable prompt logic. A single endpoint (POST /api/v1/inspire) routes requests to the right agent based on creative_mode.

AI & Agents — the heart of the system: We orchestrated three specialized Google AI models on Google Cloud Platform:

Gemini 3.1 Flash-Lite — serves as the creative director and orchestrator for all three modes, delivering low-latency structured JSON output with a 15-second timeout Nano Banana 2 — generates visual reference images from opposite-concept prompts for the Visual mode Lyria 3 — generates 30-second high-fidelity audio clips from BPM, key, and instrument parameters for the Musical mode Every AI call runs asynchronously with a failsafe fallback to curated mock data if a model times out or hits a rate limit — making the demo completely stable under any condition.

Challenges we ran into 🔀 Mid-hackathon platform pivot — We started building a native iOS app and switched to a React web app midway through the hackathon. This meant rebuilding the entire frontend layer from scratch under serious time pressure while keeping the backend intact.

🔗 API contract drift — As the frontend TypeScript types and the backend FastAPI schemas evolved in parallel, keeping them in sync was a constant challenge. We solved it by writing a shared API_CONTRACT.md and centralizing all type definitions early.

⚡ Multi-model async orchestration — Coordinating three different AI models (Gemini, Nano Banana 2, Lyria 3) in a single request pipeline without creating bottlenecks or timeout cascades required careful async design and layered error handling.

📊 GCP quota management — Running multiple generative models simultaneously on Pay-as-you-go billing required us to implement timeout failsafes and mock fallbacks to guarantee demo stability without unexpected cost spikes.

Accomplishments that we're proud of ✅ Successfully orchestrated three distinct Google AI models into one seamless creative interface — a single API call that routes to the right model and returns structured, immediately usable creative output.

✅ Pivoted from iOS to web mid-hackathon and shipped a fully functional, polished product on time.

✅ Built a zero-crash, demo-safe architecture — the app never shows an error screen to the user, even when models are rate-limited or slow.

✅ Designed a UX that respects the creative process: we give creatives a spark and step aside. No AI slop, no replacing the artist.

✅ Shipped a complete API contract with TypeScript types, JSON response shapes, and a React integration guide — production-ready documentation written during the hackathon.

What we learned Generative AI is most powerful when used as a collaborator, not a replacement — the best prompts we wrote were the ones that asked the model to provoke a human decision, not make one. Async failsafe design is non-negotiable for demo environments — a single rate-limited model can cascade into a broken demo if you don't plan for it from day one. Pivoting is survivable if your backend is decoupled from your frontend. Clean Architecture saved us when we had to throw away the entire UI layer mid-hackathon. Writing a shared API contract first before building either side would have saved us hours of schema mismatch debugging. We'll do that from the start next time. What's next for Primer Boceto 🎵 Full Lyria 3 integration — ship the 30-second audio clip feature to production with a built-in player in the Musical mode UI.

🖼️ Complete Nano Banana 2 pipeline — surface the visual reference images directly inside the app as a draggable moodboard.

💾 Persistent creative boards — let artists save, tag, and revisit their generated inspirations across sessions using a PostgreSQL backend.

👤 User accounts — build a personal portfolio of sparks over time, so creatives can track what directions they've explored.

📱 PWA (Progressive Web App) — an installable, offline-capable version so Primer Boceto is always in your pocket when inspiration strikes — or refuses to.

🌐 Multi-language support — expand beyond Spanish to bring the zero step to creative communities worldwide.

Built With

  • languages:-python
  • lyria-3-cloud:-google-cloud-platform-apis:-google-gemini-api-(google-genai-sdk)-other:-pydantic
  • nano-banana-2
  • next.js
  • radix-ui
  • react
  • shadcn/ui-ai-models:-gemini-3.1-flash-lite
  • tailwindcss
  • typescript-frameworks:-fastapi
  • uvicorn
  • vite
Share this project:

Updates