A modern subscription and API key tracker with expiry notifications. Never forget to renew your subscriptions or rotate your API keys again!
- π Dashboard View - See all your subscriptions at a glance with stats
- π Search & Filter - Find subscriptions quickly by name or category
- π Custom Categories - Organize with drag-and-drop categories
- π¨ Dark Mode - Easy on the eyes with automatic theme detection
- π€ AI Recommendations - Get smart cost-saving insights with your own API key
- π Auto-Renewal Tracking - Smart handling of recurring subscriptions
- π·οΈ Custom Fields - Add unlimited custom fields with sensitive data protection
- π WebSocket URLs - Track WebSocket endpoints alongside API keys
- πΌοΈ Logo Support - Automatic logo fetching from service websites
- π± Multiple Views - Grid, List, and Compact views with seamless switching
- π Secure Sharing - Share subscriptions via encrypted URLs or QR codes
- π Visual Calendar View - See all renewals and expiries in month/week/agenda views
- π¨ Category Colors - Events colored by subscription category
- π€ iCal Export - Export calendar events for Google Calendar, Apple Calendar, etc.
- π Renewal Reminders - Visual indicators for upcoming renewals
- π± Mobile Optimized - Responsive calendar views for all devices
- π 5 Report Types - Summary, Detailed, Financial, Upcoming Renewals, Category Breakdown
- π¨ Professional Design - Clean layouts with charts and visual analytics
- π§ Watermarked - SubAlerts branding on each page
- π Visual Charts - Cost distribution and category breakdowns
- π Privacy Focused - All generation happens locally in your browser
- π― Feature Comparison Matrix - Compare your services with alternatives side-by-side
- π‘ Smart Recommendations - Get specific alternative service suggestions
- π° Cost Analysis - See potential savings with detailed breakdowns
- π Visual Comparisons - Feature-by-feature comparison tables
- β¨ Multiple AI Providers - Support for OpenAI and Anthropic Claude
- π Password Protected Exports - Encrypt your backups with AES-256-GCM
- π Master Password Protection - Secure your entire app with password + biometrics
- π Biometric Lock - Fingerprint/Face ID protection on supported devices
- πΎ Local Storage - All data stays on your device
- π Secure API Storage - API keys are stored safely
- π‘οΈ Zero External Dependencies - No tracking or analytics
- π Zero-Knowledge Sharing - Share subscriptions without any server involvement
- π¬ Telegram Integration - Get notified before subscriptions expire
- β° Smart Reminders - Customizable notification timing
- π Expiry Tracking - Visual indicators for expiring subscriptions
- π Auto-Renewal Awareness - Different handling for auto-renewing vs expiring subscriptions
- π€ Export/Import - Backup your data with optional encryption
- π Drag & Drop - Reorganize subscriptions between categories
- βοΈ Bulk Edit Mode - Manage multiple items efficiently
- π Rich Service Details - Add descriptions, websites, and custom notes
- π¨ Glassmorphic UI - Modern, translucent design elements
- πΌοΈ Custom Branding - Beautiful SubAlerts logo with Instink font
- π Gradient Text - Eye-catching green to navy gradient logo
- π Theme-Aware - Adaptive design for light/dark modes
- π± Responsive Design - Works perfectly on all devices
- π± Touch-Optimized - Swipe gestures and touch-friendly controls
- π― Platform-Specific - Pull-to-refresh on iOS, native feel on Android
- π Adaptive Layouts - Automatic layout adjustments for small screens
- π¨ Bottom Sheet Modals - Mobile-native settings interface
- π Drag-to-Close - Intuitive gesture controls for modals
- Node.js 16.x or higher
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/subalerts.git
cd subalerts- Install dependencies:
npm install- Start the development server:
npm start- Build for production:
npm run build- Deploy to Vercel (recommended):
vercel- Visit the app URL
- Click the install icon in the address bar
- Follow the prompts to install
- Visit the app URL
- Tap "Add to Home Screen" in your browser menu
- The app will install and be available offline
-
Create a Telegram bot:
- Message @BotFather on Telegram
- Send
/newbotand follow instructions - Save the bot token
-
Get your Chat ID:
- Start a chat with your bot
- Send any message
- Visit:
https://api.telegram.org/bot[YOUR_BOT_TOKEN]/getUpdates - Find your chat ID in the response
-
Configure in the app:
- Click the settings icon (βοΈ)
- Enter your bot token and chat ID
- Test the connection
- Enable notifications
SubAlerts supports AI-powered subscription analysis using your own API keys. No data is sent to our servers - everything runs locally in your browser.
- OpenAI (GPT-3.5-Turbo)
- Anthropic (Claude 3 Haiku)
- Click the π€ AI button in the header
- Choose your provider
- Enter your API key
- Start getting recommendations!
- Feature Comparison Matrix - See detailed feature comparisons
- Cost-Saving Analysis - Identify potential savings
- Alternative Suggestions - Get specific service recommendations
- Visual Comparisons - Side-by-side feature tables
- Pros & Cons Analysis - Understand tradeoffs
AI features require deployment to Vercel or another platform due to CORS restrictions. The app automatically uses the included proxy endpoint when deployed.
- Click "+ Add" button
- Fill in the required details:
- Service Name (required)
- Service Description - What does this service do?
- Website - Service URL for reference (auto-fetches logo)
- Category - Choose from existing or create custom
- Subscription Type - Free or Paid
- Associated Email (required)
- API Key (optional) - Click "+ Add API Key" to reveal field
- WebSocket URL (optional) - Click "+ Add WebSocket URL" for WebSocket endpoints
- Custom Fields (optional) - Click "+ Add Custom Field" for unlimited custom data
- Customizable field names
- Mark as sensitive for privacy protection
- Remove individual fields as needed
- For paid subscriptions:
- Cost (required)
- Billing Cycle - Monthly, Yearly, or One-time
- Auto-renews - Toggle for recurring subscriptions
- Next Billing/Expiry Date (required for recurring)
- Click "Add API" to save
- View Modes: Switch between Grid, List, and Compact views
- Grid View: Traditional card layout with full details
- List View: Table format with sortable columns and expandable rows
- Compact View: Space-efficient cards for viewing more at once
- Edit Mode: Toggle edit mode to show/hide action buttons
- View/Hide API Keys: Click the eye icon (ποΈ) - only shows if API key exists
- Copy API Key: One-click copy with visual feedback
- Share Subscription: Share via encrypted URL or QR code
- Compare Alternatives: Available for paid subscriptions
- Auto-Renewal Tracking: See "Next Billing" instead of "Expires" for auto-renewing subscriptions
- Search: Real-time search by service name
- Filter: Quick filters for All, Expiring Soon, Paid, Free
- Drag & Drop: Reorganize between categories
- Bulk Actions: Select multiple items for bulk operations
- Click "π Calendar" button in the header
- View options:
- Month View - Traditional calendar layout
- Week View - Detailed weekly schedule
- Agenda View - List of upcoming events
- Features:
- Filter by category or subscription type
- Click events for detailed information
- Export to iCal for external calendars
- Color-coded by category
- Renewal vs expiry indicators
- Click "Export PDF" in settings
- Choose report type:
- Summary Report - Overview with charts
- Detailed Report - Full subscription details
- Financial Report - Cost analysis and trends
- Upcoming Renewals - Next 90 days
- Category Breakdown - Organized by category
- Customize options:
- Filter by categories
- Include/exclude specific sections
- Add custom notes
- Download professional PDF report
- Click "Share" button on any subscription (in edit mode)
- Select fields to share:
- Choose which information to include
- Sensitive fields are excluded by default
- Preview what will be shared
- Set expiration time:
- 1 hour, 1 day, 7 days, or 30 days
- Links expire automatically for security
- Share methods:
- URL Sharing: Copy encrypted link to clipboard
- QR Code: Generate and download QR code
- Security features:
- Client-side AES encryption
- Auto-generated secure passwords
- Zero server involvement (data in URL fragment)
- Expired links cannot be accessed
- Click "Compare Alternatives" on any paid subscription
- AI analyzes your service and suggests 2 alternatives
- View detailed comparison:
- Current service features
- Alternative services with costs
- Feature-by-feature comparison table
- Pros and cons for each alternative
- Savings percentage
- Personalized recommendations
- Click "π·οΈ Categories" button (visible in edit mode)
- Options:
- Add Custom Category: Create with name, color, and emoji
- Edit Categories: Modify any category (including defaults)
- Delete Categories: Remove custom categories
- Drag & Drop: Reorder categories
- Export Options:
- Standard JSON export
- Password-protected encrypted export (AES-256-GCM)
- Includes all settings, categories, and AI configuration
- Import: Upload and restore from backup files
- Auto-validation: Ensures data integrity on import
- Secure entire app with password
- Combined with biometric authentication
- Auto-lock after inactivity
- Password required for sensitive operations
- Available on supported devices
- Uses device fingerprint/Face ID
- Works with master password
- Enable in Settings β Security
- Encrypt backups with strong passwords
- Uses AES-256-GCM encryption
- Passwords never stored
- Secure key derivation with PBKDF2
- 100% Local Storage - All data stays on your device
- No Analytics - Zero tracking or telemetry
- No External APIs - Except optional Telegram and AI providers
- Secure Storage - Uses browser's secure localStorage
- Frontend: React 19 with TypeScript
- Styling: CSS3 with CSS Variables & Instink Font
- Calendar: react-big-calendar with custom styling
- PDF Generation: jsPDF with Chart.js
- State: React Hooks & Context API
- Storage: localStorage with encryption support
- PWA: Service Worker with offline support
- Build: Create React App with custom configuration
- AI Integration: OpenAI & Anthropic APIs with Vercel Edge Functions
- Encryption: CryptoJS for secure sharing
- QR Codes: qrcode library for QR generation
- Routing: React Router with HashRouter for share links
- Drag & Drop: HTML5 Drag and Drop API
- Encryption: Web Crypto API & CryptoJS
- Biometrics: WebAuthn API
- Notifications: Telegram Bot API
- Date Handling: date-fns library
- Calendar Export: iCal format generation
- PDF Generation: Client-side with jsPDF
- AI Proxy: Vercel Edge Functions for CORS handling
- Logo Fetching: Automatic favicon extraction from URLs
- Secure Sharing: URL fragments for zero-server sharing
- Multiple Views: Dynamic view switching with state persistence
- Custom Fields: Flexible schema with sensitive data protection
If you experience reload loops on localhost:
- Visit
http://localhost:3000/clear-sw.html - Or in Chrome DevTools: Application β Storage β Clear site data
- Ensure you're using the deployed version (not localhost)
- Check your API key is correct
- Verify you have credits with your AI provider
- Clear browser cache
- Check for JavaScript errors in console
- Ensure date-fns is properly installed
- Install Vercel CLI:
npm i -g vercel - Run:
vercel - Follow the prompts
- Your app will be live with AI features enabled!
The app can be deployed to any static hosting service:
- Netlify
- GitHub Pages
- Cloudflare Pages
- AWS S3 + CloudFront
Note: AI features require serverless function support.
Created by EpicVillage
This project is licensed under the MIT License - see the LICENSE file for details.
- Logo designed with care for the SubAlerts brand
- Instink font for beautiful typography
- Icons from Lucide
- Date handling by date-fns
- Calendar views by react-big-calendar
- PDF generation by jsPDF
- Glassmorphic design inspiration
- Built with love for subscription management
Made with β€οΈ by EpicVillage for subscription sanity