Skip to main content

What's under the hood

A small, boring stack on purpose — every piece earns its place.

Core stack

Next.js 15

App Router and Server Actions — pages call server-side functions directly, so there's no separate REST API to keep in sync with the UI.

Supabase

Hosted Postgres, authentication, and file storage in one project — email/password login, with optional two-factor authentication.

Tailwind CSS

Utility-first styling, with a class-based dark mode that follows your system theme or a manual override.

TypeScript

Strict mode throughout, no any — a mistyped field gets caught before it ever reaches your data.

PostgreSQL + Row Level Security

Every table is scoped to your household by database policy, not application code — the database itself refuses to return another household's rows.

i18next

Full English and Nepali translations, switchable from Settings at any time.

Recharts

Powers the net worth trend, cash flow, and 10-year projection charts.

Live market data

Yahoo Finance

Live quotes for your global stock holdings.

Nepal Rastra Bank

The official USD/NPR exchange rate, pulled from NRB's public rate API.

NEPSE

Nepal doesn't publish an official market-data API, so NEPSE prices come from a page scrape — the one part of this stack that isn't rock-solid, and we'd rather say so than hide it.

Brokerage sync

Webull brokerage sync

Link your Webull account to pull in real positions automatically. The connection is read-only — it can list accounts and positions, never place a trade — and your App Key/Secret are encrypted at rest (AES-256-GCM) before they touch the database.

Security & data

Two-factor authentication

Optional TOTP-based 2FA, compatible with any standard authenticator app, turned on from Settings.

Private document vault

Files live in a private Supabase Storage bucket and are only ever served through short-lived signed URLs, never a public link.

Small conveniences

CSV import

Bulk-import stock holdings from a broker export instead of typing each one in by hand.

Dark mode

Every page, including this one, ships a real dark theme — not just an inverted filter.

Questions people actually ask