Skip to content
Varshakaranam18Public

About

Privacy-focused subscription tracker that scans Gmail and reminds you before renewals

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Recurio - Subscription Tracking Tool

Recurio is a free, privacy-focused tool that scans your email for subscription-related messages, extracts structured subscription data using AI, and reminds you about upcoming renewals.

Features

  • 🔐 Secure Gmail OAuth integration
  • 🤖 AI-powered subscription data extraction (service name, cost, billing frequency, renewal date, etc.)
  • 📊 Dashboard displaying all active subscriptions
  • ⏰ Reminders for upcoming renewals via email or dashboard notification
  • 💰 Free tier available (Google Cloud $300 credits for 90 days) - deployable on Vercel/Render

Tech Stack

  • Frontend: React + Tailwind CSS (Vercel)
  • Backend: FastAPI (Render)
  • AI: Groq AI (Llama 3.1/Mixtral/Gemma) - free tier available, falls back to regex extraction if not configured
  • Database: SQLite
  • Email: Gmail API + OAuth 2.0
  • Scheduler: APScheduler for renewal reminders

Setup

Backend Setup

  1. Navigate to the backend directory:
cd backend
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create a .env file in the backend directory:
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=llama-3.1-70b-versatile
USE_GROQ_AI=true
SECRET_KEY=your_secret_key_here
DATABASE_URL=sqlite:///./subtrack.db

AI Setup (Choose One):

Option 1: Vertex AI (Gemini) - Recommended for Better Performance

  1. Get your API key from Google AI Studio
  2. Add to .env:
    USE_VERTEX_AI=true
    GOOGLE_API_KEY=your_google_api_key_here
    VERTEX_AI_MODEL=gemini-1.5-flash  # or gemini-1.5-pro for better accuracy
  3. See VERTEX_AI_SETUP.md for detailed setup instructions

Option 2: Groq AI (Free Tier Available)

  1. Sign up for a free account at Groq Console
  2. Get your API key from the API Keys page
  3. Add your API key to .env as GROQ_API_KEY
  4. Optionally set GROQ_MODEL (default: llama-3.3-70b-versatile)
    • Available models: llama-3.3-70b-versatile, llama-3.1-8b-instant, mixtral-8x7b-32768, gemma2-9b-it
  5. Set USE_GROQ_AI=true to enable AI extraction (default) or false to use regex fallback only

Note: The app tries Vertex AI first (if enabled), then Groq AI, then falls back to regex extraction if neither is configured.

  1. Run the backend:
uvicorn main:app --reload

Frontend Setup

  1. Navigate to the frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Create a .env file in the frontend directory:
VITE_API_URL=http://localhost:8000
VITE_GOOGLE_CLIENT_ID=your_google_client_id
  1. Run the frontend:
npm run dev

Google OAuth Setup

  1. Go to Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable Required APIs:
    • Go to "APIs & Services" → "Library"
    • Search for "Gmail API" and click "Enable"
    • Search for "Google Calendar API" and click "Enable" (required for calendar reminders)
  4. Create OAuth 2.0 credentials (Web application)
  5. Add authorized redirect URIs:
    • http://localhost:5173/auth/callback (for local development)
    • Your production frontend URL (for deployment)

Deployment

Backend (Render)

  1. Connect your repository to Render
  2. Set the build command: pip install -r requirements.txt
  3. Set the start command: uvicorn main:app --host 0.0.0.0 --port $PORT
  4. Add environment variables in Render dashboard:
    • GOOGLE_CLIENT_ID
    • GOOGLE_CLIENT_SECRET
    • HUGGINGFACE_API_KEY
    • SECRET_KEY
    • DATABASE_URL (or use Render's PostgreSQL)
    • ALLOWED_ORIGINS (your frontend URL)
    • REDIRECT_URI (your frontend callback URL, e.g., https://your-app.vercel.app/auth/callback)

Frontend (Vercel)

  1. Connect your repository to Vercel
  2. Set the root directory to frontend
  3. Vercel will automatically detect Vite configuration
  4. Add environment variables in Vercel dashboard:
    • VITE_API_URL (your backend URL, e.g., https://your-app.onrender.com)
    • VITE_GOOGLE_CLIENT_ID

License

MIT

About

Privacy-focused subscription tracker that scans Gmail and reminds you before renewals

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages