Skip to content

New AI microservice on GKE that integrates with Bank of Anthos via public APIs (no core changes). Finds recurring “money-leak” subscriptions and provides human-friendly cancel guidance. Mock data for demo; BoA API is disabled publicly.

License

Notifications You must be signed in to change notification settings

vero-code/bye-sub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bye Sub 🦇💸

An agentic microservice on GKE that integrates with Bank of Anthos via public APIs. It scans transaction history, detects recurring “leaks,” and generates clear, empathetic guidance on how to cancel or keep each service.

This project was built for the GKE Turns 10 Hackathon.

🏗️ Architecture

The application is designed as a cloud-native, multi-container service running on Google Kubernetes Engine.

Architecture Diagram UI Screenshot

🛠️ Tech Stack

  • Cloud Platform: Google Kubernetes Engine (GKE)
  • AI Model: Gemini API
  • Containerization: Docker, Google Artifact Registry
  • Backend: Python, FastAPI
  • Frontend: React, Vite, Nginx
  • Infrastructure as Code: Kubernetes YAML Manifests

🏦 Built on Bank of Anthos

I analyzed the source code of Bank of Anthos, specifically the Transaction.java model, to understand its API contract. My service uses an Adapter Pattern to transform BoA's raw transaction data (account numbers, amounts in cents) into the format our detection logic needs.

The application supports two data sources via an environment variable (SOURCE):

  • SOURCE=boa: For live integration with the transaction-history service in the same GKE cluster.

  • SOURCE=mock: Uses a fixture file (/backend/mock_data/boa_transactions.json) with data in the exact BoA format for a stable and reproducible demo.

This approach allows Bye Sub to be added as an enhancement to Bank of Anthos without any modifications to its core services.

🚀 Local Development

1. Environment Variables

You need to create .env files inside both backend and frontend folders. Examples for each are available in .env.example.

2. Backend (FastAPI)

# Navigate to the backend directory 
cd backend

# Create and activate a virtual environment
python -m venv venv
.\venv\Scripts\Activate.ps1

# Install dependencies
pip install -r requirements.txt

# Run the development server 
uvicorn main:app --reload --port 8080

API docs will be available at: http://localhost:8080/docs.

3. Frontend (React + Vite)

# Navigate to the frontend directory
cd frontend

# Install dependencies
npm install

# Run the development server
npm run dev

The UI will be available at: http://localhost:5173.

☁️ Deployment to GKE

The project includes Kubernetes manifests (backend-deployment.yaml, frontend-deployment.yaml) and Dockerfiles for both services to facilitate deployment to GKE. Secrets are managed via Kubernetes Secrets.

📡 API

  • GET /health → service status
  • POST /detect → accepts a list of transactions (JSON) and returns detected subscriptions

📜 License

This project is licensed under the MIT License. You are free to use, modify, and distribute this project under the terms of the license.

About

New AI microservice on GKE that integrates with Bank of Anthos via public APIs (no core changes). Finds recurring “money-leak” subscriptions and provides human-friendly cancel guidance. Mock data for demo; BoA API is disabled publicly.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published