Atilla Türker Project

Subscription tracker

Duebird

A calm subscription tracker that reminds you before anything renews.

Duebird shows what you pay for, what it costs per month and per year, and what renews next. No account and no bank linking: every subscription lives on your phone.

Role
Design & development
Year
2026
Platforms
iOS · Android
Data
On device only
Status
Preparing for release

What it does

  • Monthly and yearly totals

    Every plan, weekly to yearly, rolled into one monthly and yearly figure in your home currency.

  • Reminders before renewal

    A local notification a few days ahead, at the time you choose. Free trials get their own “ends tomorrow” alert.

  • Quick add from a catalog

    About 40 popular services prefill the name and category, or start a custom subscription.

  • Insights

    Spending by category, expected spend for the next six months, the priciest plans and what cancelling saves.

  • Multiple currencies

    Daily exchange rates, cached for 24 hours so totals still work offline.

  • CSV export

    Your data is yours: export everything to a spreadsheet at any time.

How it’s built

  1. 01

    Billing dates are pure, unit-tested functions. The next renewal is always computed from the first payment date, so a plan billed on the 31st falls back to the 30th or 28th and returns to the 31st, leap years included.

  2. 02

    Money is stored as integer minor units with an ISO 4217 code, never as floats; currency conversion uses banker’s rounding.

  3. 03

    Only the next reminder per subscription is scheduled, which keeps the app under iOS’s limit of 64 pending notifications. Every change reschedules them, and tapping one deep-links to that subscription.

  4. 04

    Expo Router, Zustand and SQLite, with a small design system of its own and hand-drawn SVG charts in light and dark themes.

Stack

  • React Native
  • Expo
  • TypeScript
  • Expo Router
  • Zustand
  • SQLite
  • Notifications
  • Reanimated
  • SVG charts
  • Jest