This content originally appeared on DEV Community and was authored by persadian
This post is my submission for DEV Education Track: Build Apps with Google AI Studio.
What I Built
Prompt I used: Build an app that generates personalized tarot cards with unique imagery using Imagen, paired with Gemini to provide interpretations and meanings for each card.
Demo
https://mystic-glimpse-ai-tarot-reader-657855663298.us-west1.run.app/
My Experience
My Development Process:
- Built the core logic using Gemini 1.0 Pro for text generation, then passed image descriptions to Imagen 2.
- Initially struggled with inconsistent outputs; solved by adding strict output formatting rules.
- Integrated user feedback loops (e.g., “Generate another card for the same query”).
Insights gained:
- Prompt Engineering: Specificity is critical. E.g., adding “Include symbolic elements like animals, celestial bodies, or archetypal objects” improved image relevance.
- Ethical Considerations: Added disclaimer about AI-generated spiritual content.
- Tech Limitations: Imagen occasionally misinterpreted abstract symbols (e.g., “intertwined vines” became chaotic blobs).
Latency between Gemini → Imagen calls required optimization.
My Deployment Notes
A full web deployment would require:
- Gemini API for text generation
- Imagen 2 via Vertex AI for images
- Frontend (e.g., React) to render cards
Cost consideration: ~$0.002/image (Imagen) + ~$0.0005/interpretation (Gemini)
Google AI Studio is great for prototyping, but deploying that app as a public web app without triggering billing, especially via Cloud Run, is very limited.
Cloud Run requires a billing account, even for the free tier.
Clearly what I can’t do without billing: deploy to cloud run or cloud functions, use backend access to Imagen/Gemini APIs without exposing keys and deploy server-side generation logic without hitting limits.
This project demonstrated how Gemini and Imagen can combine to create emotionally resonant AI experiences, ideal for creative or therapeutic applications!
This content originally appeared on DEV Community and was authored by persadian