Subscriptions tracker in TiddlyWiki

thank you Eric ! it really looks like all the pieces / components are there

it is probably just needed to draft a vision for UX / features - I’ll try to post some more thoughts on this during tomorrow !

and then of course “only” heavy lifting of actual coding left :smiley:

bumping up - lost this for a bit…

so when I was still using Notion, there was a decent template for it in there

it would build a simple table like this attached - based on individual pages

every entry was its own page - like in our case here every subscription / product would be its own page, and data from it would feed into the table

Hi @realaaa @Scott_Sauyet @EricShulman
A simple/basic starter Subscription Tracker for you to try.
I still think using @EricShulman’s sample alarms is the way to go though.

I have a dynamic table (see package by @mohammadShiraz 2.9.7 — create stylish contents in Tiddlywiki), much like what you screenshot here from Notion, for everything that’s a regular bill in my life, plus every credit card.

(Note, you want to be very careful about any security for any document that includes full account numbers, passwords, and the like!)

The dynamic tables can have a calculated footer row, which is helpful for seeing things like the total balance of credit cards, the total expenses charged quarterly, etc.

Hello @Springer,
I know how much you love Shiraz Dynamic Tables.

I tried to use them for an example for @realaaa’s request but I feel that it takes a lot of time (for me) to create drop-down selects for specific fields etc.

I am sure after using them frequently and creating a collection of alternative templates, which can subsequently be cloned, the development time would be reduced.

Like these example-tiddlers-2.json (9.4 KB)
NB. Updated to include all example tiddlers for drag and drop.

I would be very interested in hearing how you created the dynamic table

and how you use it.

I don’t have much time to reply now, but I’ll confess that I don’t currently have anything like an automatic reminder/alarm system set up, and not much in the way of templates with drop-downs and such.

I just have a dynamic table like this for all credit accounts (and modified variant for utilities, etc.) And because it’s a dynamic table, it’s really easy to sort by “day” (which means day of the month, so that I’m orienting to the day of the month for upcoming payments), or by “balance” (to see where the big balances are) or “rate” or by “modified” (to make sure I’ve updated everything recently).

<<table-dynamic filter:"[tag[credit]]" fields:"tbl-expand title bal day autopay? limit rate end bank notes modified tbl-clone" stateTiddler:"credit_table" footerRows:"1" class:"alternating-rows" caption:"all <$text text={{{[all[tiddlers]tag[credit]count[]]}}}/> items under <<tag>>" >>

… and the footer row has <<sum>> under bal and limit columns.

For routine costs (utilities, insurance, etc.), this variant table:

<<table-dynamic filter:"[all[tiddlers]tag<currentTiddler>]" fields:"tbl-expand title amt x12 x4 x2 auto-pay? notes tbl-clone" footerRows="1">>

(The x12 column is for stuff paid monthly, the x4 for quarterly, the x2 for semi-annual)

Mostly, this works for me as a “console” solution — I can get an easy overview, and I can also toggle into edit mode to update anything without opening up the account-specific tiddlers, and without scrolling away from the big picture.

Also note a lovely convenient feature of dynamic tables here: if a column exists in the dynamic table, when you’re in edit mode you can directly enter values even if the field doesn’t exist yet in the row’s tiddler, and the field is thereby instantly created with the entered value. So when I set up a new account, I tend to add all data (after title and tag) within the dynamic table, which effectively prompts me to add the standard parameters (like the rate details for a credit card, monthly biling date, etc.), and this approach alos safeguards against creating a field incorrectly. Of course I could generate a special edit template for credit cards, but the dynamic table makes this feel unnecessary. The only thing I go to the actual tiddler for is long-form notes (Correspondence about this disputed charge, that customer-service confusion… As of Jan 2025 this bank was bought out by this other one…)

Hello @Springer
Thank you for taking the time to explain your approach and your example of dynamic templates.

I was really surprised to hear that, having seen your previous replies on this forum.

I will try out your examples and look into the calculator footer row etc which I have seen before but have never had to apply it to anything before now.

A really simple thing that I need now is applying alignment (left and top) to table rows.
I think it will be in $:/plugins/kookma/shiraz/templates/body/… or similar ?

Thanks again for your help.

Maybe a Wiki Post like this one by @dongrentianyu would be helpful too.

@Springer is it possible for your to share your table?

Hello,
I have added some more examples of drop-down lists in Dynamic Tables in a new wiki.

Please note that this is still a work in progress.

Sorry @Springer I haven’t managed to finish your example yet.

Well, I did share the macro call (above). To share the actual table would be awkward, since it’s just filling in all those fields with my actual data, and setting up dummy data would take some time…

Is there some aspect of that approach that is unclear, or that you’d like to hear more about?

1 Like

Never mind @Springer I just wanted to leap ahead with a subscription manager using relevant columns etc… I may as well build my own given the differences in requirements :nerd_face: .

@TW_Tones @Springer
Have a look here and here
Subscriptions

Sorry not to have replied sooner, @Sunny! Since OP @realaaa was interested in something with a reminder function, do you have something like that implemented?

You, and/or @realaaa, may also be interested in this thread for “routines” that does include some kind of reminder system:

But always, solutions by @EricShulman are great resources!

Hello @Springer
to date I do not have anything with a reminder system.
I have a dynamic table showing a renewal date or week before/ warning date set up.
I remember @Mohammad mentioning Today, Yesterday and Tomorrow with Days Filter Operator
I have been sidetracked because i’ve been using a simple checklist macro recently with a calendar page setup
Monthly Checklist - blank.json (1.4 KB)

Thanks for the reference to Routines, I tried it a while back maybe I’ll revisit it.

Update
Just a thought - Maybe the batch-create-tiddlers example could be used with a dynamic table

Another Update
As you @Springer correctly stated solutions by @EricShulman are great resources!
Here’s an alarms-tracker example for you to browse using Eric’s Alarms and Calendar

Do you mean like what I was suggesting here last week?

Yes like that.
Sorry, I missed it last week as I was away on holiday.
Using the fields and including a tbl-clone field to allow copies to be made easily.

Also using body templates and a lookups tiddler to fill existing fields

1 Like

Your example is missing two required tiddlers:

  • TiddlyTools/Time/Ticker
    This startup tiddler starts a one-second repeating interval interrupt to trigger the defined alarms when the matching alarm time is reached.
  • TiddlyTools/Time/action-timeout.js
    This javascript code adds the $action-timeout widget used by TiddlyTools/Time/Ticker to set up the repeating interval interrupt.

Although the TiddlyTools/Time/Alarms interface is available (so you can define Alarms), without these two tiddlers
those alarms won’t ever be triggered, since there is no automatic interrupt-driven processing to check for matching alarm times.

-e

1 Like

Thank you @EricShulman
I updated the wiki and added the required tiddlers.
I’m sorry for the error in my example, I hope it’s working correctly now.

Note also a minor bug (gasp!) in TiddlyTools/Time/Calendar:

Any “nth weekday” alarms (such as “Third Monday”) were not being shown on the whole-year calendar view (but were correctly shown in a single-month calendar view). This has now been fixed.

So, in your example Alarms, you could change “2025-07-21 at startup” to something like “Third Monday of the Month at startup”, like this:

  • Press the edit button (“pencil”) next to the existing alarm
  • Change the “frequency” from “Once” to “Monthly”
  • Scroll the “date” droplist down to the end. Select “Third”
  • Another droplist with day names will appear. Select “Monday”
  • Press the done button (“checkmark”) to save the changes

enjoy,
-e

Hello @EricShulman
I updated the wiki as per your instructions.
That’s a very useful addition.
Thanks again.
Scot