← back to Duitful
What's new in Duitful
Duitful ships as often as it needs to. Every change listed below lands via Vercel on duitful.app — installed PWAs auto-reload on the next open.
May 2026 · v1.7
Visual reports, searchable lists, and global FX coverage
A polish-heavy follow-up to v1.6. Reports tab gets a real spending pie. Every list gets a search bar. Multi-currency now covers 46 currencies (up from 17), including AED, SAR, and VND that were display-only before. Plus a wave of UX cleanup across the app.
- newSpending pie chart on Reports — the by-category list on Reports is now a real SVG pie with a legend, total line, and "Other" grouping for the long tail. Filters by kind (income / expense), respects your privacy toggle, and sizes up properly on desktop.
- newSearch across all lists — a search bar on Monthly (income + expense), Daily, Debts, Savings, and the Budget Pools manager. Filters by name as you type. Auto-hides on Savings when there are too few goals to justify it.
- newFX coverage expands to 46 currencies — switched the live-rates source from Frankfurter to the open-source Currency-API. AED, SAR, and VND now have real rates instead of being display-only. Added 26 more including ASEAN neighbours (BND, LAK, KHR, MMK, TWD), South Asia (PKR, BDT, LKR, NPR), GCC (QAR, KWD, OMR, BHD), and assorted Europe / Americas (SEK, NOK, DKK, PLN, BRL, MXN, ZAR, etc.). Server-side 24h cache with a CDN fallback.
- fixDashboard double-count — debt payments and savings contributions were being subtracted twice from "Balance Left" in some configurations. The formula now uses
max(min + extra, paid) as the floor.
- newBudget Pools quick-start templates — first-time pool creation offers preset templates instead of a blank form so you don't have to invent categories from scratch.
- newHonest over-budget % + dated payoff ETA — the over-budget badge shows a real percentage instead of capping at 100%. Debt payoff projection now shows the actual target month instead of "X months from now."
- fixSettings clarity — clearer labels on every preference, Share via Web Share where supported (falls back to copy-link), neutral greeting that doesn't assume time of day.
- fixDebts disambiguation — duplicate debt names now get a suffix so you can tell two "Maybank Card" entries apart. Due-soon legend added to the dashboard banner.
- fixDaily pill colours — daily-entry pill backgrounds match the brand palette consistently, with an inline legend so Spend / Pay debt / Save buckets are obvious at a glance.
- fixSavings empty state — friendlier copy when you haven't added any goals; the search bar hides itself when the list is sparse.
- fixCross-app polish — global
accent-color on form controls; dash placeholders replaced with proper empty states.
- fixDestructive actions stand out — Delete and other destructive buttons are visually distinct from primary actions so accidental clicks are less likely.
May 2026 · v1.6
Multi-currency, budget pools, running balance, and auto-recurring
A four-feature drop. Track money in any of 20 currencies with daily-refreshed mid-market rates. Split your monthly money into named budget pools with rollover and overrides. See a true running balance that chains every previous month into today's number. And monthly income/expenses now repeat themselves so you stop retyping rent every month.
- newMulti-currency entry (Pro) — log a USD subscription, an SGD lunch, or a JPY hotel and Duitful converts to your base currency at entry time using daily mid-market rates. The original currency + sticky exchange rate are stored on each entry, so the badge stays honest forever even if rates move. Powered by the open-source Currency-API by @fawazahmed0 — 40+ currencies, no API key, daily updates. Manual refresh in Settings. (Originally shipped with Frankfurter/ECB covering 17 currencies; switched mid-v1.6 to expand coverage and remove the AED/SAR/VND display-only constraint.)
- newBudget pools (Pro beyond 1) — split your money into named buckets (Shopping RM 500, Bali RM 3000, Subs RM 200). Tag daily and recurring expenses to a pool to track usage. Free tier gets 1 pool plus the auto-managed Debt pool. Pro unlocks unlimited pools, single-active toggle, "Copy overrides from last month", auto-suggest by category match.
- newPool rollover & per-month overrides (Pro) — opt-in rollover carries unspent budget into next month (chains all the way back, no artificial cap). Per-month overrides let you set a higher Shopping budget in December without changing the base limit. Both surface in the manager card under Income on the Monthly tab.
- newAuto-managed "Debt" pool (free) — a system pool whose limit auto-derives from your debts' monthly minimums. Pay-debt entries auto-tag to it. Banner escalates from calm → yellow → red as due dates approach and pass. "Pay monthly debts" button on Home opens a bulk-pay dialog with smart-default checkboxes (already-paid debts auto-skip, partials show remaining), per-row date overrides, and one-click confirm.
- newRunning balance carryover (free) — last month's ending balance now flows into this month's "Balance Left" stat. The chain extends all the way back to your first logged entry — January's surplus survives into March, terminating only at the earliest data month. Inline ✎ to manually correct historical debt minimums. The formula treats minimums as
max(snapshot, actual paid) so skipped payments still show as a deficit you need to balance back.
- newRecurring auto-copy (Pro) — open the app on the 1st of a new month and your salary, rent, subscriptions are already there. Per-entry "Repeat next month" checkbox (defaults on) on the income and expense forms — untick the toggle for one-off entries (year-end bonus, wedding-month rent) so they don't recur. Dedupes by name and amount, preserves currency conversions and pool tags on the copies.
- fixBillplz checkout — payment was failing with a 401 from the Billplz API. Production environment variables aligned to the live key set; new bills now flow through cleanly.
- fixFX picker layout — the currency dropdown next to the amount field no longer squeezes the input on narrow screens; symbol shown inline (e.g. "JPY (¥)", "MYR (RM)", "USD ($)") for faster recognition.
- fixBulk-pay debt dialog row layout — date input now stacks on its own line at narrow widths, fixing the meta-text wrap that made rows look cramped.
- noteStorage growth — none of these features add per-day data. The new state slots (per-month debt minimum snapshots, last-opened-month pointer, budget pool definitions) total under 2 KB even after a decade of monthly use.
April 2026 · v1.5
Android beta is open — testers wanted
Duitful is now on Google Play as an open beta. Same web app you've been using, wrapped in a native Android shell with the on-device features only Android can offer. Help us shake out bugs before public launch — join the beta test on Google Play.
- newNative Google Drive sync — encrypted Drive backup works on Android via native Google Sign-In (no popups). Same backup file as the web app, so signing in on Android with the same Google account pulls down your existing data and Pro license.
- newAuto-capture from notifications — opt in once and Duitful parses transaction notifications from Malaysian banks (Maybank, CIMB, Hong Leong, RHB, Public Bank, AmBank, Bank Islam, BSN), e-wallets (TNG, Boost, BigPay, Setel, GrabPay, ShopeePay, Atome, MAE), and BNPL providers. Plus expanded coverage for Singapore, Indonesia, Thailand, Philippines, and Vietnam banks/e-wallets in beta.
- newLocal reminders — bills, paydays, and credit card due dates fire as real Android notifications, not just browser-tab alerts.
- newOne-time Pro purchase via Google Play — RM 19.90 lifetime, processed via Play Billing. If you already have Pro on the web, sign in to Drive on Android and your Pro carries over.
- fixPrivacy hardening — backups disabled at the Android system level (your local data never goes to Google's auto-backup), R8 obfuscation enabled, no analytics SDKs.
- noteKnown issue — receipt OCR is hanging on Android in this beta. Use the web app at duitful.app for OCR until v1.6.
April 2026 · v1.4
Multi-device sync via your Google Drive
Pro users can now sync their tracker across devices using their own Google Drive. Duitful runs no sync server. The encrypted database file is written to your Drive; other devices sign in with the same Google account, pull the file, and decrypt it locally with your passcode.
- newEncrypted Drive sync (Pro) — your database is encrypted with your passcode before it leaves the device. The blob in Drive is unreadable to anyone, including Google and including me.
- newRestore on a new device — install Duitful on iPhone or laptop, sign in with the same Google, paste the passcode, and your data is back.
- newNo new account on Duitful — Google sign-in is just for Drive access; you still don't have a Duitful account.
April 2026 · v1.3
Payments, referrals, and creator mode
Duitful Pro is live. Full end-to-end payment flow via Billplz (FPX, Touch 'n Go, GrabPay, Boost, cards), plus a referral program that pays RM 5 per friend who upgrades.
- newPay with FPX or e-wallet — one-time RM 19.90 unlocks Pro forever. No subscription, no renewal.
- newDirect-to-bank checkout — pick your bank upfront and skip the Billplz picker page.
- newRefer a friend — every Pro user gets a shareable link that credits them RM 5 for each paid referral.
- newDiscount codes at checkout —
FAMILY for free Pro, promo codes for seasonal sales, per-creator campaigns.
- newCreator program — influencer packages with personalized referral links + branded discount codes + per-sale commission.
- newLicense activation on any device — paste the license key into Settings → Activate, works offline forever.
- newCharge a spend to a card — tag a daily expense as "on Maybank Visa" and the card balance updates automatically.
April 2026 · v1.2
Full PWA on iPhone + Android
Duitful now installs as a proper home-screen app with offline support and platform shortcuts. Plus a friendlier first-run experience.
- newOne-tap install — banner on Android Chrome triggers the native install flow; iOS Safari gets a focused "Add to Home Screen" modal.
- newHome-screen shortcuts — long-press the installed icon on Android for Spend, Pay debt, and Scan receipt quick actions.
- newDesktop & iPad layout — app frames itself as a centered column on wide screens instead of stretching.
- newService worker — full offline support after first load. Auto-reload when a new version ships.
- newWarmer first-run screen — welcome copy explains the privacy model before asking for a passcode.
April 2026 · v1.1
Landing page + SEO
Public website, social previews, and discoverability through search engines.
- newLanding page —
duitful.app with feature tour, privacy pledge, avalanche explainer, pricing.
- newSocial previews — Open Graph / Twitter card images for Facebook, WhatsApp, X, Slack, Discord.
- newSEO — JSON-LD structured data, canonical URLs, sitemap, robots.txt. Submitted to Google and Bing.
March 2026 · v1.0
Initial release
Private money and debt tracker for Malaysia, running entirely in your browser.
- newMonthly income, recurring expenses, daily spending, debts with APR + minimum payments.
- newAvalanche payoff planner — highest-APR debt first, rolls minimums forward, shows exact debt-free date.
- newBNPL tracking for Atome, SPayLater, Grab PayLater, card installments.
- newReceipt OCR — photograph a receipt, extract the amount, file as an expense.
- newEnd-to-end encryption — AES-GCM with PBKDF2 key derived from your passcode, data never leaves the device.
- newCSV export / import — move between devices or back up to your own storage.
- newMalaysian defaults — MYR, PTPTN-aware debt planner, Maybank / CIMB / Public Bank / RHB / TNG / GrabPay / Boost category presets.