Stop building fintech with databases. Why I went local-first for Pocket Portfolio.

Stop building fintech with databases. Why I went local-first for Pocket Portfolio.

Backer posted Originally published at pocketportfolio.app 2 min read

Stop building fintech with databases. Why I went local-first for Pocket Portfolio.

For the last decade, building a fintech app meant one architecture: a centralized PostgreSQL database, a backend in Node or Python, and an API that hoards user data.

As an engineer, I always found this disturbing. Why does a portfolio tracker need my trade history stored on AWS us-east-1? It does not. It stores it because the data is the product, not the software.

I wanted to build a tool for modern investors — those of us using Trade Republic, Trading 212, or Robinhood — who want insights without surveillance.

So I set a hard constraint:

Zero user data leaves the client.

That constraint became the foundation of Pocket Portfolio — a privacy-absolute, local-first financial application.


The Zero-Server Stack

We stripped everything back.

There is no backend database.
No user accounts.
No cloud sync.

  • The Core: Next.js (static export). The entire app is JavaScript shipped to the browser.
  • The Database: Browser storage (localStorage and IndexedDB). Your financial data lives on your device, not ours.
  • The Parser: Web Workers processing CSV files entirely client-side.

No servers storing user data. No silent replication. No surveillance by default.


The Hardest Part: Client-Side Parsing

The hardest technical problem was not charts or performance.

It was standardizing messy, inconsistent CSV exports from more than 15 brokers — without sending a single byte to a server.

Each broker formats exports differently. Headers change. Dates vary by locale. Fees are embedded or omitted. Some files are technically valid CSVs but semantically broken.

So we built a robust, open-source parsing engine that runs entirely in the browser.

The flow looks like this:

  1. User drops a CSV file (for example, a 5MB Trade Republic export).
  2. The main thread hands the file to a Web Worker to avoid UI freezes.
  3. The worker identifies the broker schema and normalizes each row into a standard JSON format.
  4. Clean data is returned to the main thread and hydrated into application state.

All of this happens locally. No uploads. No APIs.


The Market Has Spoken

I was not sure if other developers cared about this level of privacy. I was wrong.

Within the first seven days of soft-launching the parser engine on npm, it crossed 5,800+ weekly downloads.

Developers are already integrating the local parser into their own pipelines.

The takeaway is simple:

You do not need to hoard user data to build valuable software.


Try It (and Break It)

Pocket Portfolio is live.

If you are an investor or a developer tired of the current fintech status quo, try it with your messiest CSV file and see how the local engine handles it.

We are also running a limited Founder’s Club for early supporters who believe in local-first software and want lifetime access to advanced features.

Keep building.
Keep it local.

1 Comment

1 vote
0
0

More Posts

Architecting a Local-First Hybrid RAG for Finance

Pocket Portfolioverified - Feb 25

Sovereign Intelligence: The Complete 25,000 Word Blueprint (Download)

Pocket Portfolioverified - Apr 1

How I Built a React Portfolio in 7 Days That Landed ₹1.2L in Freelance Work

Dharanidharan - Feb 9

Local-First: The Browser as the Vault

Pocket Portfolioverified - Apr 20

The Privacy Gap: Why sending financial ledgers to OpenAI is broken

Pocket Portfolioverified - Feb 23
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

31 comments
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!