“Never Miss a Renewal Again: A Smart, Secure Subscription Tracker Backend”

Subscription Tracker

Subscription Tracker is a robust, backend-only system designed to help users manage and track recurring subscription services. It provides a centralized RESTful API where users can register, manage subscriptions (from streaming services to SaaS tools), and receive automated, timely renewal reminders. The system is designed for scalability, security, and extensibility — supporting multi-currency billing, flexible payment frequencies, and multiple categories to accommodate diverse use cases.

Subscription Tracker

Technologies Used

TypeScriptNode.jsExpress.jsPostgreSQLPrisma

🔍 WHY (Purpose)

Subscription Tracker was created to solve the pain of subscription fatigue—where users lose track of renewals, pay for unused services, or face surprise charges—by offering a structured, automated, and secure solution that empowers them with control, transparency, and peace of mind over their recurring costs.

⚙️ HOW (Process)

  • Utilized Upstash Workflows to automate HTML-based, personalized email reminders 1, 2, 5, and 7 days before subscription renewals.

  • Built a clean, scalable architecture using Express.js with a three-tiered structure: routes and middleware, controllers and services, and Prisma ORM with PostgreSQL.

  • Implemented robust security using JWT authentication, bcrypt for password hashing, Arcjet for rate limiting, and Zod for runtime schema validation.

  • Ensured type safety with full-stack TypeScript, integrated Zod and Prisma for end-to-end schema consistency, and used PostgreSQL for reliable relational data storage.

  • Integrated CI/CD via GitHub Actions to automate linting, type checking, test execution on pull requests, and build and deployment workflows.

📦 WHAT (Result)

  • Provides a secure and well-documented RESTful API for managing users and subscriptions.

  • Allows users to add, update, delete, and categorize subscriptions by type and renewal frequency.

  • Supports multiple currencies including USD, EUR, and EGP for global usability.

  • Sends automated, personalized email reminders at configurable intervals before each subscription renewal.

  • Uses customizable HTML email templates to enhance communication and user engagement.

  • Enforces strong authentication and data protection using JWT, bcrypt, and Zod-based validation.

  • Implements rate limiting and input sanitization to mitigate abuse and ensure API integrity.

  • Uses TypeScript and Prisma to ensure end-to-end type safety and maintainable code.

  • Maintains a clear separation of concerns between routing, business logic, and data access layers.

  • Integrates GitHub Actions for continuous integration, including linting, type checks, and automated tests.

  • Logs workflow events and failures for monitoring and troubleshooting.

  • Designed to be extensible, with support for future features like analytics dashboards, billing integrations, or frontend clients.