What you actually own
- US equity$193k
- International equity$53.4k
- Bonds$16.0k
- Cash & currency$12.5k
A native macOS app · v0.3.0
Curei combines inconsistent statements into a dated view of where a portfolio actually sits. AI handles extraction; the user approves the data; ordinary code handles the math.
The main path
The review step is deliberate. Statement extraction is useful, but it is not trustworthy enough to write financial records without a person checking the result.



CUREI EXTRACTION
Normalized holdingstyped rows · ready to reviewPDFs, CSVs, screenshots, and manual cash balances can be combined in one import run.
The model proposes normalized holdings. Every row stays editable before anything is committed.
Approved holdings are written to local SQLite, with snapshot history kept intact.
Deterministic code builds allocation views by institution, asset class, geography, and holding type.
The app
Curei answers allocation questions after the source data has been reviewed. Dollar and percentage views use the same committed snapshot.
+$49.8ksince June 2025
39.6%of portfolio in top five
Synthetic data. No real account or holding information is shown.
Add a statement per institution, extract them together, then resolve rows in one review table.
Each approved run is retained. A newer import does not rewrite the older picture.
AI analysis is opt-in. When used, the normalized snapshot is sent to Anthropic and the response is stored locally.
Under the hood
Python · FastAPI · Pydantic · React · SQLite · PyWebView
The web UI and API ship inside a native macOS wrapper.
Snapshots and charts stay local. Extraction and optional analysis require an Anthropic API key and send the relevant data to Anthropic.
Apple Silicon only. The build is unsigned. It tracks allocation snapshots, not tax lots or cost basis. Extracted rows still require review.