SANT SUBS
A subscription tracker we built deep. Notifications tuned by day, multi-currency conversion, an LLM assistant scoped to a single user's ledger, and full data portability. Built in NZ at Sant. Live at subs.onl, running in the user's own browser.

A subscription tracker that doesn't watch you back.
Manual entry. Spend tracking and an AI assistant called Ledger that reads only the user's own data, never the open web. Family sharing for households. Live on the indie web at subs.onl, built and shipped from our NZ studio.
Most trackers want
your bank login
They connect to your bank. They scan your inbox. They promise "automatic tracking" but really want a ledger of your entire financial life, usually sold downstream as anonymised data.
We built one that doesn't. Manual entry from the user. Local storage. AI scoped to the user's own ledger, not the open web.
Three
Steps
Add subscription manually
Name, price, billing cycle, renewal date. Takes 10 seconds. The user decides what gets tracked.
Track what matters
Renewal calendar, monthly trends, category breakdowns, duplicate alerts. No algorithm guessing what counts.
Stay in control
Data lives in the user's browser-side store. Financial data never sits on our servers.
An AI scoped to
one ledger
Ledger reads only the user's own subscription data. No web fetches, no price guessing, no model fine-tuned on third-party financial graphs. It answers questions in plain language using what's already in the ledger.
Which subscriptions renew this month?
How much am I spending on streaming?
What's my total monthly cost?
Are there any duplicates?
The model never leaves the ledger to fetch context. Less surface area, more trust.
Shared costs,
tracked together
Households split subscriptions. Netflix, Spotify, the family plan one person actually pays for. Family mode makes those costs and renewal dates visible to everyone on the bill, without forcing anyone to share more than they want to.
Invite by link
Add family members through a single shareable link. View-only access by default; no logins to manage.
Assign subscriptions
Mark who's paying for each service. The household sees the breakdown without the data leaving the ledger.
Share, then revoke
Read-only links can be cut at any time. Family mode is opt-in, not a permanent attachment.
Settled-in,
not slapped together
We didn't ship a flag-planting MVP. We shipped a product that's lived-in. The kind of preferences and switches you only build when you actually run the thing yourself, day after day.
Email and browser-push, tuned to 1 / 3 / 7 / 14 / 30 days before a renewal hits. The user picks the cadence.
Daily exchange-rate conversion. Subscriptions priced in EUR, USD, GBP all roll up into one display currency.
Formal or Quirky. The LLM assistant has a tone dial. Same data, different voice.
CSV or JSON, exported at any moment. The ledger is portable by default; nothing's locked in.
Newsletter-style email summary. Total spend, active subs, what renewed, what changed since last month.
Timezone, fiscal year start, date format, default landing view. Configured once, respected everywhere.
From idea to
subs.onl
A notification-led subs and trial tracker
The idea was simple: a tracker that pings you before renewals and trial-end dates so nothing gets charged by accident, with spending analytics on top so the household can see where the money's going and cancel what isn't earning its keep.
Manual entry, local storage
First version shipped as a single-page app with browser-local storage. Nothing on a server. The product worked the day it shipped.
An assistant scoped to one user's data
Wired up an LLM that only ever sees the user's own ledger. Cheap to run, simple to reason about, no third-party context fetches.
Shared subscriptions, view-only invites
Real households share streaming, software, gym memberships. Added invites and assignments so everyone splitting a cost can see it.
Live at subs.onl
Self-hosted on the open web. No app-store gatekeepers, no review queues, no platform tax.
The lessons we
carry forward
Manual entry is a feature, not a limitation.
Friction at input means the user controls what gets tracked. That's the privacy story made tangible.
AI scoped to user-local data builds trust.
Every other AI assistant fetches the open web. Ledger only reads what's already there. Less surface area, more trust.
Indie distribution is faster than app stores.
subs.onl ships when we ship. No review queues, no tier gates, no platform tax.
Privacy as default sells itself.
We never had to explain the privacy story. People who tried bank-connected trackers and bounced understood instantly.