I Built an AI Security Coach for People Who Can't Afford to Get Hacked A developer built CyberBuddy, a gamified Android app that serves as a personal cybersecurity coach for everyday users who cannot afford enterprise-grade security tools. The app, powered by a Gemini A2A agent, guides users through creating a Personal Security Plan covering password health, device security, and two-factor authentication, while tracking daily habits through streaks and badges. CyberBuddy is being presented at GDG Cape Town's Pet Projects: The 2026 Edition showcase on June 30. CyberBuddy is a gamified Android app that guides everyday users through personal cybersecurity using a Gemini A2A agent. Here's the full build story. 𝗜 𝗯𝘂𝗶𝗹𝘁 𝘁𝗵𝗶𝘀 𝗯𝗲𝗰𝗮𝘂𝘀𝗲 𝘀𝗼𝗺𝗲𝗼𝗻𝗲 𝗮𝘀𝗸𝗲𝗱 𝗺𝗲 𝗮 𝗾𝘂𝗲𝘀𝘁𝗶𝗼𝗻 𝗜 𝗰𝗼𝘂𝗹𝗱𝗻'𝘁 𝗮𝗻𝘀𝘄𝗲𝗿 𝗶𝗻 𝗮 𝗪𝗵𝗮𝘁𝘀𝗔𝗽𝗽 𝗺𝗲𝘀𝘀𝗮𝗴𝗲. "How do I know if I am safe online?" She was a student I mentor through Linfy Academy in Strand, Cape Town. Smart. Motivated. Using the same password for her email, her banking app, and her school portal. There was no simple answer. So I built one. CyberBuddy is an Android app that acts as a personal cybersecurity coach. It guides users through building their own 𝗣𝗲𝗿𝘀𝗼𝗻𝗮𝗹 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆 𝗣𝗹𝗮𝗻 PSP - covering password health, device security, and two-factor authentication. It tracks daily security habits through streaks and badges. And it monitors whether your email has appeared in known data breaches. The AI coaching layer is powered by 𝗚𝗲𝗺𝗶𝗻𝗶 via an 𝗔𝟮𝗔 𝗔𝗴𝗲𝗻𝘁-𝘁𝗼-𝗔𝗴𝗲𝗻𝘁 𝗮𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲. More on that below. Most cybersecurity tools are built for enterprises with IT departments and budgets. CyberBuddy is built for three people: These are the people who get phished. These are the people whose credentials appear in breach databases. These are the people nobody is building for. Language: Kotlin UI: Jetpack Compose Material3 Architecture: Clean Architecture + MVVM Database: Room offline-first DI: Hilt AI Layer: Gemini API via A2A Protocol Testing: JUnit5 + Kotest property-based Dev Tools: Gemini in Android Studio + Claude Code JetBrains The architecture was designed to be offline-first from day one. Room handles all local state. Gemini enhances the experience - it does not gate it. Instead of calling the Gemini API directly from every screen, I built a 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗼𝗿 class that acts as the host agent. It delegates structured tasks to a Gemini-powered coaching agent using Google's A2A protocol. data class SecurityAgentTask val taskType: String, // "psp guidance" | "breach explain" | "daily tip" val userRole: String, // "student" | "professional" | "educator" val context: Map