2025 GDG Solution Challenge, POPPET API Git Repository

Service Name & Tagline
POPPET ― the AI chat-buddy that helps seniors talk and families listen.
Problem & Pain Points(Why we built it)
While talking with my grandma after my grandpa passed away, I hit three roadblocks.
- Every conversation eventually led to worries and concerns
- Repeated the same stories or questions frequently
- Felt sorry for taking time from her children and grandchildren
- Time zone differences made communication harder with family abroad
Target Users (Personas)
- Older adults → need a simple, intuitive voice/text UI.
- Overseas or busy family members → need asynchronous, concise updates.
Gap in Existing Solutions
AI speakers & social robots (>$1 000, no caregiver digest). Ordinary calls depend on family time and reveal few hidden issues.
USP – What makes POPPET different
- Letter-style e-mails: POPPET auto-summarises chats and sends them to the caregiver on a set cadence.
- Zero hardware cost: runs on any smartphone chat app; no extra device purchase.
- Memory-aware, empathetic chat: Gemini LLM recalls prior topics and steers fresh, comforting dialogue.
How POPPET Solves the Problem
Listen → Detect → Deliver
- Senior chats via voice/text.
- Google STT + Gemini analyse mood & “unspoken worries.”
- A concise letter is e-mailed to the caregiver, surfacing issues the senior may hesitate to say aloud.
# | Current MVP Feature | Brief Description |
---|---|---|
1 | Voice & Text Chat-Buddy | Natural, empathetic conversation via Google Speech-to-Text, Gemini LLM, and TTS. |
2 | Conversation Memory | Remembers previous topics to minimise repetitions and keep dialogue fresh. |
3 | Sentiment & “Unspoken Worry” Detection | Analyses mood shifts and flags sensitive concerns the user may hesitate to mention. |
4 | Letter-Style Digest E-mail | Generates concise summaries (daily / every 3 days / weekly) and e-mails them to the caregiver. |
5 | Custom Cadence & Recipients | Caregiver chooses digest frequency, recipients, and keyword watch-list. |
Planned Feature | description |
---|---|
Urgent Alert Push / Email | Real-time notification if distress or health-risk keywords are detected. |
Multi-language Support | English UI/voice model after Korean launch, followed by Japanese & others. |
AI Response Tone Selection | Enables selection of response tone by learning the caregiver’s voice pattern. |


Infrastructure as Code with Terraform
Terraform scripts provision all core resources—VPC, subnet, service accounts, Cloud SQL instances, and IAM policies—ensuring repeatable, version‑controlled setup.
CI/CD with GitHub Actions → Artifact Registry
On every push to the develop branch, GitHub Actions builds the Docker image, tags it with the commit SHA, and pushes it to Google Artifact Registry.
Continuous Delivery on Cloud Run
Cloud Run is configured for “continuous deployment”: it automatically pulls the latest container image from Artifact Registry, spins up new revisions, and routes traffic after health checks pass.
Managed Database Connectivity
The Cloud Run service connects to a Cloud SQL (MySQL) instance via the Cloud SQL Auth Proxy, giving the application a secure, private channel to the managed database.
What Gemini Does for POPPET | How We Integrate It | Why It Matters |
---|---|---|
- Generates empathetic Korean replies in real‑time. - Extracts sentiment & ‘unspoken worries’ from each message. - Creates a letter‑style JSON digest (1 / 3 / 7‑day) in a single call. |
- Google Generative AI Java SDK inside Spring‑Boot (GeminiClient ). - JSON Schema mode → deterministic keys ( replyText , emotion , hiddenWorry ). - API key pulled securely from Secret Manager at startup. |
- One API call = 3 tasks → latency ↓, cost ↓. - Schema output → zero post‑processing errors. - Safety settings tuned for senior‑friendly language. |
Layer | Product | Role |
---|---|---|
Speech I/O | Cloud Speech‑to‑Text v3, Cloud Text‑to‑Speech | STT for 1‑min audio chunks → text; TTS WaveNet voice for Gemini replies. |
Serverless Compute | Cloud Run (Spring‑Boot container, minInstances = 1 ) |
Runs REST API & Spring @Scheduled digest cron; auto‑scales 0 ↔ N. |
Database | Cloud SQL (MySQL 8) + Auth Proxy | Stores users, conversation logs, digest timestamps (encrypted channel). |
E‑mail | Gmail API (service account) | Sends the Gemini‑generated digest to up to 5 caregivers. |
CI / CD | GitHub Actions → Artifact Registry → Cloud Run | Build → push Docker image → one‑line gcloud run deploy . |
Infra as Code | Terraform | VPC, Cloud SQL, Cloud Run, Secret Manager, HTTPS LB, IAM in one apply . |
Secrets & Security | Secret Manager, HTTPS LB + Cloud Armor | API keys & DB creds sealed; TLS termination & DDoS/WAF rules. |
Client | Flutter (Dart) | Captures audio, calls /chat , receives TTS stream; single code‑base Android/iOS. |