All updates

Lifetime pricing, popular funds, and a Zakat calculator ๐Ÿš€

Published about 1 year ago ยท 3 min read


NewImprovedFixed

salam Reader

big month. new pricing model, new tools, and a tough call on fund creation.

here's the 60 second recap:

lifetime pricing ๐Ÿ’Ž

moving away from yearly subscriptions: one-time payments now. Standard $249 (Trading 212 + Alpaca, 2 funds), Pro $999 (Alpaca-only, all ETFs). existing yearly subscribers get migrated to a LEGACY tier that preserves full access โ€” no disruption. the new pricing page on amalinvest.com/b is live.

Zakat calculator ๐Ÿ•Œ

real one. handles the full thing: 2.5% on short-term holdings (full value), 0.125% on long-term (5% of value), pulls live prices from FinSheets, and supports importing your Amal export directly. detailed breakdown so you can show your work.

requested by Pro subscribers โ€” see which filtered funds your fellow Amal users are actually investing in, sorted by % of users holding them. nice for comparison and discovery, and you can jump straight to the overview to compare performance.

auto-liquidations: cancel actually cancels ๐Ÿž๐Ÿ”ซ

a real bug, dug into hard. users were clicking "cancel" on a scheduled liquidation email and seeing "Failed to cancel auto-liquidation." cross-referenced jobs across BullMQ, Resend, BetterStack, and the DB โ€” turned out the queue had already removed the job but our DB row still said pending, so cancellation thought there was nothing to do. fixed the cancellation path so it handles the case cleanly.

liquidations no longer scheduled 5 days out โฑ๏ธ

related bug: weekend-triggered liquidations were stacking up delays (24-hour preview + market-open wait) and landing 5+ days out. now we calculate a single target time that respects both โ€” no more accumulating delays.

a couple of safety updates ๐Ÿ›ก๏ธ

  • Trading 212 pie creation now validates that share weights sum to exactly 1 before submitting (fixes "sum of instrument shares must be equal to 1" errors)
  • Stripe webhook updated to support the new lifetime payment model

the hard call: fund creation paused ๐Ÿšง

late in the month we spotted inaccuracies in some upstream fund-holdings data and made the call to temporarily disable fund creation in both the main app and Trading 212. better to pause than ship bad data into your portfolio. existing funds keep running; new fund creation comes back once we trust the data again.


big surface area this month. thanks for bearing with us on the pause โ€” we'll have it back open soon.

Best, Yazin