Frontend
Building a Secure Personal Gemini Journal with Google Cloud
Shraddha Agrawal DEV Community
2 views
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
Read original: https://dev.to/shraddha_agrawal_14/building-a-secure-personal-gemini-journal-with-google-cloud-3j1b
← Previous
One Missing Environment Variable Crashed My App in Production (and I Lost My Play Store Testing Streak the Same Night)
Next →
Thanks2Go: Building a Human-Approved Gratitude Rail in One Weekend
Related
Your Flutter 404 Page Is Probably Crashing, and Your Server Is Probably Lying About It
Frontend
1
DEV Community
how I make my templates easy to reskin (probably overthought this)
Frontend
2
Dev.to (EN Zone)
StyleX won CSS-in-JS because AI agents can read it
Frontend
2
DEV Community
Why I Built a Lightweight Utility Styling Library for React Native (And How It Solves StyleSheet Fatigue)
Frontend
2
DEV Community
Comments0
No comments yet — be the first