https://github.com/swizec/chase-balance-fixer
Run this Chrome extension and never forget how much money you actually have
https://github.com/swizec/chase-balance-fixer
chase chrome-extension
Last synced: about 2 months ago
JSON representation
Run this Chrome extension and never forget how much money you actually have
- Host: GitHub
- URL: https://github.com/swizec/chase-balance-fixer
- Owner: Swizec
- License: mit
- Created: 2019-02-09T23:11:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-09T23:22:07.000Z (over 7 years ago)
- Last Synced: 2025-06-09T21:04:19.590Z (about 1 year ago)
- Topics: chase, chrome-extension
- Language: JavaScript
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# chase-balance-fixer
Run this Chrome extension and never forget how much money you actually have
## Setup
For safety reasons I'm not hosting this as a real extension. You never know what those are doing behind the scenes and we're talking banking info here.
So you have to run it yourself. Here's how 👇
1. Clone repository `$ git clone git@github.com:Swizec/chase-balance-fixer.git`
2. Open `fix-credit.js` and edit `CREDIT_ID` and `CHECKING_ID` constants
3. This is a great chance to look at my code and see it isn't mischievous
4. Open chase.com and right-click inspect your account list
5. Find your IDs in a div like this `
`
6. Open chrome://extensions turn on Developer mode
7. Click Load Unpacked
8. Choose your code
Enjoy ✌️
## Here's how it works
My code is purposefully simple. Written in about 10 minutes.
```javascript
function value(node) {
return Number(node.textContent.replace("$", "").replace(",", ""));
}
```
Takes a DOM node and returns its numeric value.
```javascript
function getNode(account) {
return document.querySelector(`#${account} .balance`);
}
```
Takes an account id and uses it to find the balance node. Basic JavaScript DOM stuff so we can avoid dependencies.
```javascript
setTimeout(() => {
const credit = getNode(CREDIT_ID),
checking = getNode(CHECKING_ID);
if (credit && checking) {
actualMoneys = value(checking) - value(credit);
checking.textContent = `$${actualMoneys.toLocaleString("en")}`;
}
}, 3000);
```
Chase web client works as an SPA so we have to give it some time to render everything. 3 seconds looked good enough to me.
Code gets your credit card account's node and your checking account node, then updates your checking balance less your credit balance.
That's how you always know how much money you've got.