
Foliom
Foliom – I built a personal finance app
I'm Krish, solo dev. Foliom is a personal finance app for India that runs entirely off your inbox. Connect Gmail (read-only) and it turns the financial emails you already get into:
- every transaction, auto-categorized, no manual tagging
- budgets and goals that track themselves
- a tax view (capital gains, TDS)
- forgotten subscriptions surfaced and unusual charges flagged
- net worth across your banks, brokers and funds, updating itself
- a chat with memory you can ask anything ("how much did I spend on food last month", "am I on track for my goal") that remembers your financial life
The link is a no-login demo on a sample persona, so all of that is clickable before you connect anything.
The interesting part is how it gets the data. India has no Plaid-style bank API for individuals, so the only source is email. Every bank, card and broker sends transaction emails, and the formats are inconsistent even within one bank. I don't use regex templates, they break the moment a bank tweaks its HTML.
An LLM extracts structured fields from each email, with a dedup/verification pass, because the same transaction shows up as an alert, then a statement line, sometimes a reversal. Regex handles the easy 70%; the long tail of Indian formats is where it falls apart, and that tail is most of the value.
Privacy, since it comes up: read-only, and I don't store the email body — the pipeline pulls the structured fields and drops the rest. PAN/DOB/demat IDs are encrypted per-user and crypto-shreddable on delete. Amounts and categories are plaintext on an encrypted DB so the app can do the math.
Stack: Next.js, Postgres (Supabase), Inngest for the email pipeline, Claude for extraction and the chat.
Feedback welcome on the parsing approach, the privacy model, and what breaks for your bank.
About
I'm Krish, solo dev. Foliom is a personal finance app that runs entirely off your inbox. Connect Gmail (read-only) and it turns the financial emails you already get into your net-worth.

1 Comment
One thing I'd be careful with:
The interesting question may not be whether the parsing works.
It's whether users make the decision you're assuming they make before connecting their inbox.
Those sound similar, but they can create very different adoption dynamics.
I wouldn't unpack that casually in a thread.
If you're actively working through that decision, feel free to drop an email. The useful part is making the actual call.