{"adoption": {"forks": 204, "observed_at": "2026-08-28T04:05:12.956153+00:00", "stars": 1625}, "canonical_url": "https://ross.abutalabs.com/products/mintable", "card": {"archived": false, "artifact_type": "cli-tool", "description": "🍃 Automate your personal finances – for free, with no ads, and no data collection.", "domain": ["fintech", "developer-tools", "privacy"], "enriched": true, "function": ["cli", "analytics", "data-science", "developer-tools"], "health_score": 20, "homepage": "https://kevinschaich.io/mintable/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["kevinschaich/mintable"], "name": "kevinschaich/mintable", "platform": ["cli", "cross-platform", "windows"], "pushed_at": "2023-10-25T23:28:44+00:00", "repo": "kevinschaich/mintable", "stars": 1625, "tags": ["personal-finance", "budgeting", "plaid", "google-sheets", "spreadsheet", "expense-tracking", "mint-alternative", "self-hosted", "automation", "nodejs", "macos", "linux"], "topics": ["finance", "finance-management", "personal-finance", "mint", "sheets-api", "google-sheets", "google-sheets-api", "plaid", "plaid-api", "analytics", "tracker", "finance-tracker", "personal-capital", "spreadsheet", "mintable", "money", "budget", "budgeting", "budget-management", "javascript"], "urls": [], "use_cases": ["automatically import bank transactions into google sheets", "track account balances across multiple banks in one place", "budget and analyze spending with spreadsheet formulas", "replace mint with a free private finance tracker", "import csv bank statements into a spreadsheet", "schedule automatic transaction syncing with cron or bitbar"], "what_it_is": "Mintable is a free, open-source CLI tool that automates personal finance tracking by aggregating account balances and transactions from banks via Plaid (or CSV imports) into Google Sheets or local CSV files. It lets users analyze and budget their spending with spreadsheet formulas, with no ads or data collection.", "when_to_avoid": ["you want a polished mobile app with a GUI dashboard", "you are unwilling to set up Plaid API credentials or run CLI commands", "you need real-time transaction alerts or bill pay features", "you don't want your financial data in Google Sheets"], "when_to_choose": ["you want a free, private, self-controlled alternative to Mint", "you prefer managing budgets in spreadsheets with your own formulas", "you want automated syncing of transactions from multiple institutions via Plaid", "you only have CSV bank statements and no bank API access"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mintable", "repo": "kevinschaich/mintable", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.956153+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:48:32.927422+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20eb55b4fc045e98af125f4e5dbf86a040c16f049d5a96228b45647df929f3b2", "fetched_at": "2026-08-28T04:05:12.956153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinschaich/mintable"}, {"content_hash": "ed875ded534aebb62c35eb4ddfbbf65928e5825ee78c247a19ed8da6ad87cb5e", "fetched_at": "2026-08-29T11:21:35.089237+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/mintable"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2776, "days_push": 1043, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}