A local-first Android app for personal financial records and asset management.
Version 0.0.16 · MIT License
English · 简体中文
I’m an embedded developer, and Valnook is my first Android app. I started it because every finance app I tried felt a little awkward, and the features I wanted most — card wallets, investment summaries, cloud backup — were often behind a paywall. So I built my own and made it open source. I can’t fully explain why open source matters so much to me; maybe it’s just that keeping track of your own money shouldn’t sit behind a paywall, or require trusting software you can’t look inside.
Valnook was built with help from Codex. Most of the code was written by AI, while the architecture, implementation approach and trade-offs are my decisions and my responsibility. I use it every day, and it comes with some deliberate compromises: investment prices aren’t updated automatically, because I don’t want to run a server for a non-profit project, and cloud backup uses the free OneDrive. It’s still young and certainly rough in places, so issues and feedback are very welcome.
Valnook brings savings, credit accounts, term deposits, and investment records together so you can track your assets, liabilities, and changes over time. Data is stored on your device, with no account registration required.
| Feature | Description |
|---|---|
| Accounts | Organize savings and credit subaccounts by main account and currency. Record balances and fund activity, view balance trends, and check credit limits and billing dates. |
| Term deposits | Record principal, term, and interest rate; manage opening and closing deposits. |
| Investments | Record holdings and trades, view monthly market value trends and profit/loss, and review closed positions by account. |
| Statistics | View an asset summary and daily or monthly trends for net assets, available cash, and investment value. |
| Wallet | Choose built-in card designs and colors or import images, then organize cards in an animated stack. Link a subaccount to view its balance, credit limits, and monthly fund activity. Store card numbers, expiry dates, and CVVs locally with encryption. |
| Web management | Pair your phone with a computer on the same local network to manage accounts and financial records from a browser. |
| Backup and export | Create and restore local backups, back up data to OneDrive, or export to Excel. Private card-back information is excluded from backups and exports. |
| Personalization | English and Chinese, light and dark themes, custom account icons and navigation, and a demo mode for trying the app. |
| Accounts | Subaccount | Card details |
|---|---|---|
![]() |
![]() |
![]() |
| Module | Responsibility |
|---|---|
app |
Application startup, navigation, dependency wiring, and data sessions. |
core:domain |
Data models, financial rules, and repository interfaces. |
core:data |
Local storage, repository implementations, backup/restore, and the local web server. |
core:designsystem |
Shared themes and UI components. |
feature:* |
Accounts, cash, deposits, investments, wallet, statistics, settings, backup, and web management screens. |
- Android UI: Kotlin, Jetpack Compose, and Material 3; ViewModels and coroutine flows manage screen state. Hilt provides application-level dependency injection, and Navigation 3 handles navigation.
- Data: Room stores financial records locally. Financial rules are separate from storage and UI.
- Web management: Bundled HTML, CSS, and JavaScript connect to the phone's embedded Ktor server over HTTP/WebSocket after pairing on the same local network.
- Private information: Card-back fields use AES-GCM with keys managed by Android Keystore and are stored separately from data eligible for backup.
Cloud backup is optional. Private card-back data stays on the device and is unavailable to web management or backup recovery. Card-front images and built-in designs are included in full backups. Backup and Excel files are not encrypted; keep them safe. Use web management only on trusted networks and devices, as its connection is not encrypted.
See the Privacy Policy and Disclaimer for details. 简体中文.
- How OneDrive backup works
- Google Drive backup: retained implementation, currently disabled
- Full changelog
Valnook provides recording, calculation, and presentation tools. It does not provide investment or other professional advice. Independently verify all data and calculations.
To the fullest extent permitted by applicable law, the authors and copyright holders are not liable for financial loss arising from the use of or inability to use this software. See the privacy policy and disclaimer and MIT License.


