121 points niztk 3 days ago 71 comments
I felt there are not enough consumer apps that run locally with no calls to the outside world that help us manage sensitive corners of our lives. This app in its local variant only downloads a couple of models and occasional updates, it does not send any analytics nor data.
Features-wise, Pulse local is a complete budgeting app that offers an assistant built on top of a fine-tuned model and thousands of rules embedded in the code itself. I'm sharing it for free with options to help me continue experimenting with fine-tuning and expanding along this direction.
How it works: you import a CSV from any bank, in any currency. When you ask a question, a tuned Qwen3 0.6B model reads it into a structured query, and code, not the model, does the money math against the ledger. A 4B checker model double-checks each money answer; when the two readings disagree, the app says it is not sure instead of guessing. That change took wrong answers from about one in five to 5 in 494 questions across our last three tests. The write-up covers how we test, the designs that failed, and the limits of the claim: https://pulseos.finance/pulse-local/writing/agree-or-not-sur...
The tuned weights are on Hugging Face (PulseOS/pulse-local-qwen3-0.6b).
Limitations: the first start downloads about 2.9 GB of models. With the checker on, a money answer takes 12 to 14 seconds (you can turn the checker off). Small models can still misread an open-ended question. The app answers in English. Mac only for now; Windows is next.
The app is free. An optional Connected mode (Sync Pass, $29/year) syncs US banks through Plaid; transactions pass through our server's memory and are not stored.
Feedback welcome, especially on wrong answers and on questions it should handle but does not.
terwint 3 days ago | parent
> How it works: you import a CSV from any bank, in any currency.
I think this is where you're going to lose people. If you're having to pull in data from multiple different sources, each with their own flow for exporting, I think this might be a non-starter for creating good financial habbit.
I recnetly had success integrating my local AI agent with Monarch money via an open source monarch MCP project. It took a bit of (AI) hacking the login stuff, but now I'm able to pull transactions, query patterns, have a daily report generated from hermes, etc. Much more technical that your target audience but possibly offers some inspiration.
niztk 3 days ago | parent
cortesoft 3 days ago | parent
niztk 3 days ago | parent
unsnap_biceps 3 days ago | parent
Bridge is actually provided by mx.com, pretty much the same service as Plaid.
elyobo 3 days ago | parent
post-it 3 days ago | parent
niztk 3 days ago | parent
lathiat 3 days ago | parent
It also requires you generally to trust some third party with your data.
Here’s an API one for Australia / New Zealand / USA: https://redbark.com/developers
niztk 3 days ago | parent
i_am_a_squirrel 3 days ago | parent
you say this, but i got ChatGpt to just open chrome logged into two credit cards and a bank app and download everything with a certain criteria (i did this to populate items in a travel split app). So maybe it's not that bad
xyst 3 days ago | parent
arm32 3 days ago | parent
nico 3 days ago | parent
0: https://jeffyclassify.com/blog/when-llms-fail-at-classificat...
j45 3 days ago | parent
Still it could be handy to be able to do that locally, maybe model tweaks could be shared back upstream.
The bridge between deterministic accounting principles to non-deterministic patterns trying to simulate it at will is a pretty big thing to cover.
niztk 3 days ago | parent
We also have a checker that reads the query and we only show figures when the two readings agree otherwise the app rather say not sure. We also rely on a small embedder that returns the 8 past nns to serve as examples.
As for classifiers, the reading is partly classification already, with rules and fixed cues checked first.
altmanaltman 3 days ago | parent
Also yes, it's local but the data you're importing is already with a private organization on the cloud. In that sense, having a local copy of it does not really do anything for me in terms of privacy etc.
As I said, I use budgeting apps daily (one for personal use (self-made), another for business (very old freenium era software that has not failed me in the last 5+ years of self-hosting it)) and I do not see any need for generative AI in that workflow from my pov. YMMV
post-it 3 days ago | parent
I'm not sure what you mean? Surely processing on your computer instead of Anthropic's computer is a significant privacy improvement?
niztk 3 days ago | parent
Chat is optional, the app is a complete and free budgeting app (reports, rules, money flow, forecast etc.). As for privacy, "local" usually means your data not your questions, sure the banks hold the transactions but your questions and analysis shouldn't go to the cloud hence this project.
lathiat 3 days ago | parent
Another app I love that does the same. Queryable which lets you natural language search your photos on device on iOS and predates most of the current AI craze (2022) and also apple adding this themselves to photos: https://queryable.app/
niztk 3 days ago | parent
tantalor 3 days ago | parent
niztk 3 days ago | parent
seemaze 3 days ago | parent
[0]https://fastino.ai/blog/fastino-nemotron-3-5-lightning-finan...
yieldcrv 3 days ago | parent
you only need 2 sections. an above the fold area and something below the fold. simple.
thanks for making this. “its private” is not a selling point, whats other differentiators does it have? really the AI analysis and potential agentic aspect right?
you could point out that it doesnt use data centers or harm the environment without explaining how or what that means upfront
niztk 3 days ago | parent
kccqzy 3 days ago | parent
Compare the omp landing page a few months ago versus now: https://web.archive.org/web/20260624030333/https://omp.sh/ versus https://web.archive.org/web/20261007154534/https://omp.sh/ The former does a compelling job telling me why I should try it by listing its advantages. By the time I got to hashline I became convinced. The latter landing page has a single sentence that’s generic and vague. I would not have tried omp at all if its landing page looked like what it is today.
niztk 3 days ago | parent
yieldcrv 3 days ago | parent
the layouts with the most aligned engagement wins rollout to all users
coding isnt the hard part of a product launch
robotresearcher 3 days ago | parent
- read the category
- click on the '...' button at the end of the line (not near the thing you want to correct, and not my first guess for settings the category)
- this creates a popup
- mouse into the popup and click on the dropdown for setting the category.
Just have the category label in the list clickable, to show the category dropdown.
It saves one click, two mouse movements, and having to figure out that '...' is the action you need to fix a category.
niztk 3 days ago | parent
kailovel 3 days ago | parent
niztk 3 days ago | parent
zyk_computer 3 days ago | parent
niztk 3 days ago | parent
herf 3 days ago | parent
niztk 3 days ago | parent
codebje 3 days ago | parent
Date,Amount,Account Number,,Transaction Type,Transaction Details,Balance,Category,Merchant Name,Processed On
Hand-picking the Description column to be assigned to the details column sorted it out; not sure how you're auto-selecting column mappings but maybe 'details' should be recognised as closer to 'description' than 'merchant name' is.niztk 3 days ago | parent
haisin5555 3 days ago | parent
Also am curious about your reasoning behind usage of Qwen3.0 model as well!
niztk 3 days ago | parent
dsjakupov 3 days ago | parent
niztk 3 days ago | parent
LewisOrton 3 days ago | parent
niztk 3 days ago | parent
fionaswarovskij 3 days ago | parent
niztk 3 days ago | parent
splittydev 3 days ago | parent
I tried to change the currency from USD to EUR. The filter dialogue didn't work, clicking it only focused the text field for a few milliseconds and I couldn't get a single character typed.
Then I closed the settings, and the whole app froze until I had to force-quit it. Uninstalled already, not a good first impression at all.
niztk 3 days ago | parent
niztk 3 days ago | parent
The fix is ready and shipping it soon (version 0.4.1)
As for the freeze, I honestly couldn't reproduce it but I suspect it's due to the above symptoms and the fix will likely remove it. Happy to let you know if you email me so that you can retry once the new version is shipped.
edarchis 3 days ago | parent
First operation I did was switch it to Belgium. "type to search" Didn't work. Saving after manually setting it was a really long beach ball.
Can't say I'm impressed. It had potential but didn't seem to develop it.
niztk 3 days ago | parent
niztk 3 days ago | parent
0.4.1 is live, and the app will automatically find the update at launch or within 6 hours, download it in the background, and show “Restart to apply” when ready. You can also download it again from pulseos.finance. I'm dedicated to working on this app full-time, so please use the feedback section in the app to share features, bugs, etc., or email me at niz@pulseos.finance.