SubTrack is a subscription tracker service that runs twice a day. It tracks subscription payments and notifies you via Telegram bot when the payment date is under 5 days.
- Track subscriptions with name, price, currency, cycle, and payment date
- Automatic notifications via Telegram for upcoming payments (< 5 days)
- Automatic payment date updates based on subscription cycle (monthly/yearly)
- CLI interface for managing subscriptions
- Background service for automated checking
- Clone the repository
- Install dependencies:
make deps - Copy
.env.exampleto.envand fill in your Telegram bot token and chat ID - Build the project:
make build
Create a .env file with the following variables:
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here
DB_PATH=subtrack.db
Add a subscription:
./bin/subtrack-cli add "Netflix" 15.99 USD monthly 15-02-2025List all subscriptions:
./bin/subtrack-cli listUpdate a subscription:
./bin/subtrack-cli update 1 "Netflix" 19.99 USD monthly 15-03-2025Delete a subscription:
./bin/subtrack-cli delete 1Manually check upcoming payments:
./bin/subtrack-cli checkCheck Telegram bot health:
./bin/subtrack-cli healthStart the background service:
./bin/subtrack-serviceThe service will run automatically and check payments twice daily (at 9:00 AM and 9:00 PM).
make build- Build CLI and service binariesmake install- Install CLI and service to GOPATH/binmake run-service- Run the service (requires building first)make deps- Install and tidy Go dependenciesmake clean- Remove build artifacts
All dates use the format: DD-MM-YYYY (e.g., 15-02-2025)
monthly- Payment recurs every monthyearly- Payment recurs every year