Subscription tracking tools are a crowded space. Services like Truebill, Bobby, and even spreadsheet templates have been helping people stay on top of recurring charges. But self-hosted options tend to fall into two camps: simple ledger-style apps that store data locally, or complex budgeting suites that try to do everything financial. Renewlet sits somewhere in between.
What sets Renewlet apart is its notification-centric approach. Rather than just cataloging subscriptions, it actively attempts to prevent surprise charges through timezone-aware reminders. Each subscription entry maps to a specific IANA time zone and local notification time, with configurable reminder days before renewal. This matters because it handles the reality that people travel or manage subscriptions across regions. The system includes failure handling too—failed notification sends automatically retry, and there's delivery history tracking.
The mobile-first design philosophy also distinguishes it from typical self-hosted tools. The README explicitly mentions that mobile web is "first-class," with dedicated mobile views for subscriptions, notifications, and settings. Bottom navigation, tag-filter drawers, and subscription cards are all adapted for small screens. For a tool meant to be checked on-the-go, this attention to mobile UX is notable.
However, Renewlet makes some interesting architectural choices that come with trade-offs. The entire stack runs in a single Docker container—React frontend, Go/PocketBase backend, SQLite database, and static assets together. While this simplifies deployment (the README claims you can be up and running in essentially three commands), it also means you're locked into PocketBase as the backend framework. Memory usage stays low at 20-30MiB according to local testing, which is impressive for a tool that's tracking multiple notification channels. But you lose the flexibility of running those components independently or swapping out parts of the stack.
The notification channel selection tells an interesting story about the target audience. Renewlet supports six channels: Telegram, Notifyx, Webhook, WeCom Bot, SMTP email, and Bark. This isn't the typical email-focused approach—Telegram and WeCom Bot suggest a developer/ops crowd, while Webhook support indicates integration-minded users. Bark (an iOS notification service) shows attention to mobile workflows. However, if you're looking for Slack, Discord, or SMS notifications, you're out of luck. The README doesn't mention any plugin architecture for extending notification channels.
What Renewlet ships with:
- Subscription tracking with name, logo, price, currency, billing cycle, renewal date, status, category, payment method, tags, website, and notes
- Timezone-aware renewal reminders with per-user IANA time zones
- Budget tracking and spending insights by category, payment method, and time period
- Six notification channels: Telegram, Notifyx, Webhook, WeCom Bot, SMTP email, Bark
- Multi-currency support with Exchange API or FloatRates JSON Feeds
- Mobile-optimized interface with bottom navigation and responsive layouts
- Docker deployment with persistent data volume at
data/ - Built-in icons for common payment methods
- English and Simplified Chinese language support
The setup requirements are minimal. You need a machine with Docker and Docker Compose v2, and the deployment script handles generating encryption keys and configuration. Memory footprint stays under 30MiB, making it suitable for small VPS instances or home servers. The README includes backup commands and upgrade procedures, though you'll need to consult the actual documentation for the specific deploy steps.
Where Renewlet fits depends on your existing tool chain. If you're already using PocketBase for other projects, the integration feels natural. If you're managing subscriptions across multiple currencies or time zones, the reminder system provides value that generic budgeting apps lack. For teams or individuals comfortable with webhook integration, the notification channels offer flexibility. Check out the project at Renewlet.
Comments