Most AI apps look impressive in a demo, but building one that is secure, authenticated, and production-ready is a completely different challenge.
For my project, I built a Personal Gemini Journal β a private AI-powered journaling application where users can sign in, write their thoughts, chat with Gemini, and get personalized insights from their journal history.
π Security First
Instead of starting directly with code, I first configured Google AI Studio with security-focused custom instructions, making security part of the development process from the beginning.
The application uses:
- π Firebase Authentication
- π‘οΈ Firestore security rules for user-level data isolation
- π Firebase ID tokens for API authentication
- βοΈ Google Cloud Secret Manager for protecting the Gemini API key
- π« No hardcoded credentials
βοΈ Architecture
User
β
React + Vite Frontend
β
Firebase Authentication
β
FastAPI Backend β Cloud Run
β
βββββββββββββββββ¬ββββββββββββββββββ
β Firestore β Secret Manager β
β User Journals β Gemini Key β
βββββββββββββββββ΄ββββββββββββββββββ
β
Gemini API
β¨ My Unique Feature β AI Insights
I went beyond the basic journaling functionality by adding an AI Insights feature.
It analyzes recent journal entries and provides:
- π§ Overall reflection
- π₯ Top themes
- π Mood
- π Growth areas
- π Recurring thoughts
- π Reflection
- π Suggested next step
This transforms the application from a simple AI chatbot into a personal reflection companion.
π What I Learned
This project taught me that building an AI application isn't just about making the model work.
It's about building the entire system securely β from authentication and data isolation to secret management and deployment.
π Try the Live Application:
#GoogleCloud #Gemini #Firebase #GenAI #CloudRun #Firestore #AIEngineering #BuildWithGoogle #GenerativeAI #AccelerateAIwithCloudRun
Top comments (0)