Charten
Know exactly what you're worth.
A private net-worth ledger. Read-only bank and brokerage sync, plus the assets a bank cannot see — property, vehicles, crypto — resolved into one number and a history you can scroll back through.
- Live
- public signup, today
- Read-only
- no write access, ever
- Encrypted
- at rest, with access logs
The problem
Your money is in eleven places and your net worth is in none of them
Bank, brokerage, pension, the house, the car, a crypto wallet or two. Every one of them knows its own number and none of them knows the total. People end up maintaining a spreadsheet that is accurate on the day they update it and wrong every day after that.
How it was built
In order, and why.
01
Ledger first
Before any sync, the data model: an append-only ledger of balances over time rather than a table of current values. Net worth is a question about history, and a schema that only stores 'now' can never answer it.
02
Read-only sync
Daily aggregation from banks and brokerages, scoped read-only at the token level. The application is architecturally incapable of moving money, which is the only version of this worth building.
03
The rest of it
Manual assets for everything an aggregator cannot reach — property, vehicles, private holdings — with their own valuation history rather than a single number somebody typed once.
04
Prove it is private
2FA, access logging, encryption at rest, and full export. A product asking for this data has to be able to show its work, not assert trustworthiness in a footer.
The part that was actually hard
Net worth is a time series, not a number
The naive build stores a current balance per account and computes a total. It works for a week and then someone asks what they were worth last March, and there is no answer because history was never kept. Charten stores balance events and derives every total by replaying them, which also means a corrected balance updates the past correctly instead of creating a fictional jump on the day of the fix.
What it does
The features that carry it.
01
Read-only account sync
Daily balance pulls from banks and brokerages, with read-only scopes. Nothing in the system can initiate a transfer.
02
Assets a bank cannot see
Property, vehicles, crypto and private holdings, each with its own valuation history rather than a figure that was right once.
03
Multi-currency
Holdings in several currencies resolved to one reporting currency, with the rate on the day rather than today's rate applied to history.
04
Access logging
Every session and every read recorded, and visible to the account owner. If you cannot see who opened it, it is not really private.
05
Export
Full data export in a format a spreadsheet opens. Leaving is a supported operation, not a support ticket.
06
Free tier, no card
A genuinely free tier that does not ask for payment details, because asking for a card to look at your own money is a strange trade.
Outcome
What actually changed.
01
Live, with open signup
Publicly available with a free tier that does not ask for card details. Anyone can create an account and see the product working rather than take our word for it.
02
History that survives a correction
Because totals are replayed from balance events, fixing a wrong figure updates the past correctly instead of creating a step change on the day of the fix.
03
Read-only by architecture
Scoped at the token level rather than enforced by policy, so the application is structurally incapable of moving money even if something went wrong.
In hindsight
What we would do differently.
Multi-currency should have been in the schema on day one. We added it after the ledger already assumed a single reporting currency, which meant reprocessing every stored event to attach the rate that applied on the day. Deciding it up front would have cost an afternoon; retrofitting it cost most of a week and a migration we had to rehearse twice.
Built with
The stack underneath.
- Application
- Next.js, React, TypeScript
- Backend
- NestJS, Prisma, PostgreSQL, BullMQ
- Security
- 2FA, access logging, encryption at rest
- Infrastructure
- Scheduled sync workers, daily aggregation
Where it stands today
Publicly live with open signup, and the one piece of our work you can evaluate without a call. What it demonstrates is event-sourced financial data, read-only integrations and a security model built to be inspected — the same foundations we bring to regulated and finance-adjacent engagements.
Practice areas this evidences
Want something like this
This is bought as one of these.
Fixed-price project
Web Applications
Fixed-price project
Customer portals, operational dashboards, booking systems and internal tools. The things a spreadsheet used to do until it stopped coping.
Fixed-price project
Data & Analytics
Fixed-price project
A warehouse, agreed metric definitions and dashboards built around the decision rather than around the available columns.
Fixed-price project
Cloud & DevOps
Fixed-price project
Infrastructure in code, a pipeline on every commit, and alerting that reaches you before a customer does.
Tell us what you’re trying to build.
If something here looks like the problem you have, say so and we’ll tell you how close it actually is.
Phone
+1 (407) 796-2376Reply time
One business day, from an engineer
Based in
Orlando, Florida · serving the United States
What happens next
- A reply within one business day, from an engineer
- A thirty-minute call, with no qualifying call before it
- A written scope and a fixed number, if it fits